Neural network is a MATLAB project which implements a feed-forward full-connected multilayered network.
- Principal Component Analysis
- Resilient Batch learning
- Gradient Batch learning
- Stopping criterion ( Early Stopping --- but when?)
- Plot of errors on training set and on validation set, during learning epoches
- Confusion matrix on test set
The file src/main.m contains an usage example of the neural network. The problem the network wants to solve is the digit recognition, using the MNIST handwritten digit database. The network is able to overcame a level of 96% of accuracy on test set.
In particular, with the parameters (setted as in main.m), it has reached about 96.2% of accuracy with the resilient batch learning.
Moreover, removing the stopping criterion, using sigmoid instead of relu6 and using the gradient batch learning the network has reached about 95.3% of accuracy.