|
Potential-pH Diagrams
|

|
|
|
Intelligent Tools
|
|

|
|
|
|

|
|
|

|
|
|
Corrosion Calculator
|
|

|
|
|
|
Corrosion Economics Estimator
|
|

|
|
|
|
|
|
TUTORIAL ON ARTIFICIAL NEURAL NETWORKS
David C. Silverman
|
|
Table of Contents
General Regression Artificial Neural
Network
The general regression neural network was originally proposed for
system modeling and prediction (D. F. Specht, "A General Regression Neural
Network", IEEE Transactions on Neural Networks, 2, p. 568, 1991). It
has been used to learn the same problems as the
back-propagation network,
the radial basis function
network, the probabilistic
neural network, and the
modular neural network. The network has a relationship to the
probabilistic neural network
and has sometimes been used in place of it for classification problems.
This network has certain characteristics:
- fast learning
- good convergence with a large number of training examples
- handling of sparse data well
- possible memory hog
- possible computing time issues
The algorithm calculates the statistically most likely value of each output from
a given set of inputs, all taken from the training set. This most likely value
is the conditional mean. The algorithm requires the joint probability density
function of the inputs and outputs, each treated as random variables. The
calculation is done for each output individually. These joint probability
density functions are approximated using Parzen estimation as summarized with
respect to the probabilistic neural
network. The joint probability density function of vector x inputs and y
output may be written as
(8)
and
(9)
In equations 8 and 9, N is the number of input nodes, Ntrain is total
number of training sets, σ is the width parameter subject to certain
constraints, and dj is the Euclidean distance between an input
and the mean of those inputs. The statistically most likely value for the
random variable y (output) given
(the vector of random input variables) is estimated substituting equations (8) and
(9) into
(10)
The algorithm uses each of the training vectors as the center of a Gaussian
function defined as .
The larger the number of training samples, the larger is the amount of memory
required and the longer is the time for the calculation. Methodologies exist
to decrease the required time and memory allocation.
The following example is used for illustration. It is identical to the one
used for the back-propagation network ,
the radial basis function network ,
the probabilistic neural network ,
and the modular neural network .
The example is provided to show that a general regression neural network can
sometimes be used in place of the others.
- Square two random numbers each between 0 and 1 and add the results together.
- Train a probabilistic neural network to decide how to round the number.
If the sum is greater than or equal to 0.5 round to 1, if less than 0.5
round to 0.
This problem is a simple classification decision problem in which the neural
network is presented with 2 numbers as input and outputs a value of 0 or 1
depending on the value of the sum of the squares. To make the example more
realistic, the inputs are the non-squared values of the two random numbers
and the output is 0 or 1. The network then has to learn the relationship
between the two numbers and from that the decision on whether the output
value is 0 or 1. This type of decision represents a very typical real
life decision in which several independent observables are present and
a decision has to be made from their relationship without knowing anything
about their relationship.
br>
Five hundred training sets were created about evenly divided between
those that round to 1 and those that round to 0. The network constructed
is shown in this figure
.
For this case, the hidden layer contained 500 nodes (1 epoch). Either 1 or
2 output nodes could have been used. If one output, the value was 1 or
0 depending on rounding to 1 or 0. If two outputs, the output corresponding to rounding to 0
was 1 if the value was rounded to 0 and 0 if the value was rounded to 1. The other
output was 1 if the value was rounded to 1 and 0 if the value was rounded to 0.
Both were trained. A different set of 100 randomly generated input-output
combinations were used to test the trained networks. The calculated outputs
were between about -.1 and +1.1. The strategy used to assess error was to
assume that if the value is less than 0.5, the prediction would have been zero
and if the value is greater than or equal to 0.5, the prediction would have been 1.
These values were compared to the actual outputs to determine error. No attempt
was made to compare actual values because that information
did not enter into the decision. This figure
.
shows correct and incorrect responses for the neural network with one output.
This figure
.
shows correct and incorrect responses for the neural network with two outputs.
Only two points were in error and both were at the boundary. They were the same for both
networks.
- The network based on the general regression neural network generalized
to about the same accuracy as the back-propagation neural network ,
the radial basis function neural network ,
the probabilistic neural network ,
and the modular neural network .
This result is in agreement with the comment earlier that classification problems
that can be generalized by back-propagation neural networks can sometimes
be generalized by neural networks based on the general regression neural network.
- The errors are congregated at the boundary. This observation is not limited
to this example. Dividing information among classes becomes more difficult
the closer one is to the boundary between the classes.
|
Previous Page: Probabilistic Artificial Neural Network
Next Page: Modular Artificial Neural Network
Return to Table of Contents
|
David C. Silverman, Ph.D. - Primary Consultant
E-Mail: dcsilverman@argentumsolutions.com
Phone: 314-576-3586
Fax: 314-754-9825
Address: The Argentum House
14314 Strawbridge Ct.
Chesterfield, MO 63017
|
|