A neural
network can approximated any practical non linear function
Neural Networks
are a mathematical / computer based numerical modeling technique loosely
based on the way a human learns. A biological neuron strengthens and weakens
synapses based on a person's experiences. For example, a person is asked
to distinguish between an apple and orange.
They have no prior knowledge of either of these fruits. The person is given
samples of each and senses the different textures, weights and colors.
The brain strengthens synapses containing apple and orange trait information
and when the person then is employed at a fruit packing company, they can
repeatedly separate all different types of apples and oranges based
on these brain encoded prior knowledge. This is a simple example but the numerical
modeling technique follows the same approach. Secondary measurements are
presented to the network along with output targets - the value the model should
produce for that particular set of inputs. The network is trained with
these input / output combinations and then is presented with input data it
has never seen - if the model is generalized, it can generate the correct
outputs.
All 3 drawings from Neural Network Design
The single input
neuron is the fundamental building block of a NN and shows
the simple underlying math structure. The function f
is chosen to
match the
problem-standard practice seems to be the use of continuous functions such
as log sigmoid or linear for approximating a continuous function. Other
common functions are Hard Limit and Symmetrical Hard Limit. These two "forcing
functions" are used with
discrete, Boolean, type data where the network objective is to fit the
inputs into categories. This latter type of network is used for pattern
recognition.
A neural net
is a numerical model and thus relies on sample data for inputs "p" and target
data - what "a" should be for the given "p". These data samples are divided
into training and validation groups. Each group should contain statistically
similar data. The training group of inputs / outputs are supplied to
the training algorithm part of the computer program, which iterates through
each sample in the group, trying to reduce the mean squared error between
what is calculates for an "a" using the existing weights and biases and
the supplied true target. The error reduction is accomplished by adjusting
the weights and biases after each sample is processed.
This is an example of a complicated network. The p values are the inputs
and a values are outputs.