C++ Neural Networks and Fuzzy Logic
by Valluru B. Rao
MTBooks, IDG Books Worldwide, Inc.
ISBN: 1558515526 Pub Date: 06/01/95
Previous Table of Contents Next
Sample Applications
One application for a neural network is pattern classification, or pattern matching. The patterns can be
represented by binary digits in the discrete cases, or real numbers representing analog signals in continuous
cases. Pattern classification is a form of establishing an autoassociation or heteroassociation. Recall that
associating different patterns is building the type of association called heteroassociation. If you input a
corrupted or modified pattern A to the neural network, and receive the true pattern A, this is termed
autoassociation. What use does this provide? Remember the example given at the beginning of this chapter. In
the human brain example, say you want to recall a face in a crowd and you have a hazy remembrance (input).
What you want is the actual image. Autoassociation, then, is useful in recognizing or retrieving patterns with
possibly incomplete information as input. What about heteroassociation? Here you associate A with B. Given
A, you get B and sometimes vice versa. You could store the face of a person and retrieve it with the person’s
name, for example. It’s quite common in real circumstances to do the opposite, and sometimes not so well.
You recall the face of a person, but can’t place the name.
Qualifying for a Mortgage
Another sample application, which is in fact in the works by a U.S. government agency, is to devise a neural
network to produce a quick response credit rating of an individual trying to qualify for a mortgage. The
problem to date with the application process for a mortgage has been the staggering amount of paperwork and
filing details required for each application. Once information is gathered, the response time for knowing
whether or not your mortgage is approved has typically taken several weeks. All of this will change. The
proposed neural network system will allow the complete application and approval process to take three hours,
with approval coming in five minutes of entering all of the information required. You enter in the applicant’s
employment history, salary information, credit information, and other factors and apply these to a trained
neural network. The neural network, based on prior training on thousands of case histories, looks for patterns
in the applicant’s profile and then produces a yes or no rating of worthiness to carry a particular mortgage.
Let’s now continue our discussion of factors that distinguish neural network models from each other.
Cooperation and Competition
We will now discuss cooperation and competition. Again we start with an example feed forward neural
network. If the network consists of a single input layer and an output layer consisting of a single neuron, then
the set of weights for the connections between the input layer neurons and the output neuron are given in a
weight vector. For three inputs and one output, this could be W = {w
1
, w
2
, w
3
}. When the output layer has
more than one neuron, the output is not just one value but is also a vector. In such a situation each neuron in
one layer is connected to each neuron in the next layer, with weights assigned to these interconnections. Then
the weights can all be given together in a two−dimensional weight matrix, which is also sometimes called a
correlation matrix. When there are in−between layers such as a hidden layer or a so−called Kohonen layer or
a Grossberg layer, the interconnections are made between each neuron in one layer and every neuron in the
next layer, and there will be a corresponding correlation matrix. Cooperation or competition or both can be
imparted between network neurons in the same layer, through the choice of the right sign of weights for the
C++ Neural Networks and Fuzzy Logic:Preface
Sample Applications 20