Summary | Heaton Research

Summary

Get the entire book!
Introduction to Neural Networks with Java

In this chapter you saw a practical application of the Kohonen neural network. You were introduced to the concept of OCR and saw what uses this technology might have. This chapter focused around creating an application that mimics the OCR capabilities of a PDA.

Characters are accepted by allowing the user to draw into a high resolution box. Unfortunately, this resolution is too high to directly present to a neural network. To alleviate this problem we use the techniques of cropping and down sampling. By using these two techniques, the image can be transformed in to a second image that is much lower resolution.

Once the image has been entered, it must be cropped. Cropping is the process by which extra white space is removed. The program automatically calculates the size of any white space around the image. Then a rectangle is plotted around the boundary between the image and white space. Using cropping also has the effect of removing position dependence. It does not matter where the letter is drawn, since cropping causes only the part of the input area actually used is considered.

Once the image has been cropped, it must be downsampled. Downsampling is the process by which a high resolution image is transformed into a lower resolution image. To downsample the image the high resolution is broken up into a number of regions that is equal to the number of pixels in the downsampled image. Each pixel in the downsampled image is assigned to the average color of the corresponding region in the high-resolution image.

The resulting downsampled image is then fed to either the training or recollection process of the neural network. The Kohonen neural network used in this example has a number of input neurons that is equal to the pixels in the downsampled image. The neural network has a number of output neurons equal to the number of letters that the application is to recognize.

You have now seen a practical application of the Kohonen neural network. In the next two chapters we will examine two artificial intelligence techniques not related to neural networks. In chapter 8 we will examine simulated annealing, which is a process that simulates a metallurgy technique to remove errors from the weight matrix of a neural network. In Chapter 9 we will examine genetic algorithms that can also be used to eliminate similar areas. Finally, in Chapter 10 you will be shown how to use both techniques together to minimize local minima for neural networks. Local minima will be covered in Chapter 10.

Copyright 2005-2008 by Heaton Research, Inc.