In this work we study handwritten digit recognition. We approach the problem with two different methods. Both algorithms are trained and tested on real data, obtained from the MNIST Database of handwritten digits.
First, we present the digits as vectors, and using singular value decomposition we determine the subspaces in which representative examples of each digit are located.
New digits are determined by comparing the distances to the subspaces that correspond to each digit. The one with the smallest distance is the subspace in which the given digit could be best approximated. The result of the testing is that such an approach achieves 95,85% accuracy.
Second approach uses neural networks. We derive the basic network learning process with gradient descent and backward propagation and study some improvements. We also need to determine the optimal learning parameters, which makes this process much more time consuming than the first one. Once we determine the optimal architecture of the net and its parameters, we achieve 98,08% accuracy on the test data.
When comparing both procedures, we see that they make similar errors and that these errors occur at handwritten digits for which also we would not be sure which digit they represent.
|