Handwritten Number Recognition
University of Colorado
Spring 2018
This program was an exercise in the application of convex optimization methods. Using 60,000 known hand written numbers, I was able to train my program to identify 10,000 unknown numbers with 94.7% accuracy. This was done by creating 45 hyperplanes that were created using a convex programing Matlab plugin called CVX. These hyperplanes separate data from the images of the numbers the is unique to each number. The power of these planes is that we can use them to identify which of the two data sets an unknown number is most similar to. 45 planes are needed because the hyperplane is only able to compare two data sets at a time. For instance 0 vs 1, 0 vs 2, and so on. By using a directed acrylic graph, I was able to efficiently identify the unknown numbers by making enough comparisons to the hyperplanes.