This project uses artificial neural networks and 3 different training methods to teach them 100 patterns (10 representatives of each numeral [0, 1, 2, 3, 4, 5, 6, 7, 8, and 9]). After the training session it tests the neural networks and finds out the success rate of those networks in percentage. Also after testing the original set of patterns, it also tests the network by doing some random changes on the patterns either by 6 or 10.
The definition of pattern recognition is the science that concerns the description or classification (recognition) of measurements. Artificial neural networks are relatively crude electronic models based on the neural structure of the brain. The brain basically learns from experience. It is natural proof that some problems that are beyond the scope of current computers are indeed solvable by small energy efficient packages in the brain.
In supervised learning, network is provided with a set of examples and their classes. "Supervised learning" is a machine learning technique for creating a function from training data. In unsupervised learning, only the inputs are given. The network then tries to classify the inputs by characteristics or a measure of similarity. No response is given. In reinforcement learning, network is only provided with a response of “Correct or False” which means if the networks output is correct the response is “Correct” and if it is false the response is “False.”
At the end of my experiment, I can see from the data that supervised learning method has the highest success rate out of all 4. The reinforcement learning system comes next followed by the unsupervised learning system. The network without training was the one with the least success rate. Supervised learning, even though having a perfect success rate on the original pattern, had a great reduction of performance with the patterns with perturbation. Unsupervised and reinforcement learning systems didn’t show as much reduction and the network without training was bad over all (an average of 12% on the original pattern).
This project can be improved by having many more patterns added to the code and by having the network recognize any type of handwritten numeral. The network can be made to recognize the different styles of the alphabet at the same time. The project can be improved by having the network recognize a lot of different handwriting styles no matter how illegible they are, a lot of different cursive styles, and, a lot of different digital fonts including the default Microsoft Office fonts. In addition the network might be able to recognize symbols like the question mark (?), or the plus sign (+).
|