5. In the `results` folder there are three plot images:
5. In the `results` folder there are three plot images:
-`knn.png`: refers to the knn algorithm, it represents the plot of the accuracy evolution along increasing value of 'k' (from 1 to 20)
-`knn.png`: refers to the knn algorithm, it represents the plot of the accuracy evolution along increasing value of 'k' (from 1 to 20)
The accuracy returned by the KNN is around 35%, which is a low average result, but which we expected since the KNN is based solely on finding the image that has the most similar, and therefore closest, pixels in terms of Euclidean distance, not a very good method for image classification.
As can be seen from the graph, the decreasing trend in the graph is due to the fact that by taking only a few images there is little margin of comparison to assign the class, either the image selected represents the correct class or else the classification has failed. On the other hand, taking too many images carries the risk of selecting images that are not representative of the test image in question.
-`mlp.png`: refers to the MLP neural network, it represents the plot of the training accuracies evolution along 100 epochs
-`mlp.png`: refers to the MLP neural network, it represents the plot of the training accuracies evolution along 100 epochs
-`loss.png`: refers to the MLP neural network, it represents the plot of the loss evolution along 100 epochs (further proof that the network works)
The accuracy returned by the model has an increasing trend starting at about 10 %, which is understandable given the presence of 10 classes and thus the network let's say that at the beginning it tries to guess the class, while as the epochs advance and the layer weights and biases are updated step by step, we notice an improvement up to 18 % of the 100th epoch, which given the low complexity of our network is an acceptable result.