Back Propagation Neural Networks
Back Propagation Neural Networks
BACKPROPAGATION
This allow you to perform a “backward pass”, which helps tune the weights of the inputs.
Backpropagation performs iterative backward passes which attempt to minimize the “loss”,
or the difference between the known correct prediction and the actual model prediction.
With each backward pass, the weights move towards an optimum that minimizes the loss
function and results in the most accurate prediction
Back Propagation Neural (BPN) is a multilayer neural network consisting of the input layer,
at least one hidden layer and output layer.
Back propagating takes place in the network by calculating the error at the output layer and
comparing the target output and the actual output which will be propagated back towards
the input layer
Forward propagation: the inputs from a training set are passed through the neural network
and an output is computed.
Error function: because we are working with a training set, the correct output is known. An
error function is defined, which captures the delta between the correct output and the
actual output of the model, given the current model weights (in other words, “how far off” is
the model from the correct result).
Weight update: weights are changed to the optimal values according to the results of the
backpropagation algorithm.
Iterate until convergence: because the weights are updated, a small delta step at a time,
several iterations are required in order for the network to learn. After each iteration, the
gradient descent force updates the weights towards less and less global loss function. The
amount of iterations needed to converge depends on the learning rate, the network meta-
parameters, and the optimization method used.
Self-organizing neural networks are used to cluster input patterns into groups of similar
patterns.
They're called "maps" because they assume a topological structure among their cluster
units; effectively mapping weights to input data.
The Kohonen network is probably the best example, because it's simple, yet introduces the
concepts of self-organization and unsupervised learning easily.
Each weight is representative of a certain input. Input patterns are shown to all neurons
simultaneously
In SOM unsupervised learning, the weights of a neural network is modified without
specifying the desired output for any input patterns
The advantage is that it allows the network to find its own solution, making it more efficient
with pattern association
The disadvantage is that other programs or users have to figure out how to interpret the
output.
The structure of a self-organizing map involves m cluster units, arranged in either a one- or
two-dimensional array, with vectors of n input signals.
Input patterns are compared to each cluster, and associated with the cluster it best matches.
The comparison is usually based on the square of the minimum Euclidean distance.
When a best match is found, the associated cluster gets its weights and its neighboring units
updated.
Some neighborhoods closer to the ends or edges will have fewer weights, because the
algorithm doesn't wrap around.
INFERENCE SYSTEM
Fuzzy Inference System is the key unit of a fuzzy logic system having decision making as its
primary work.
It uses the “IF…THEN” rules along with connectors “OR” or “AND” for drawing essential
decision rules.
The output from FIS is always a fuzzy set irrespective of its input which can be fuzzy
or crisp.
A defuzzification unit would be there with FIS to convert fuzzy variables into crisp
variables.
The following five functional blocks will help you understand the construction of FIS −
Database − It defines the membership functions of fuzzy sets used in fuzzy rules.
Decision-making Unit − It performs operation on rules.
Fuzzification Interface Unit − It converts the crisp quantities into fuzzy quantities.
Defuzzification Interface Unit − It converts the fuzzy quantities into crisp quantities.
The block diagram of fuzzy interference system is presented below
Diagram present
WORKING OF FIS
A knowledge base - collection of rule base and database is formed upon the
conversion of crisp input into fuzzy input.
The defuzzification unit fuzzy input is finally converted into crisp output.
A fuzzy query system is an interface to users to get information from the database using
(quasi) natural language sentences.
Many fuzzy query implementations have been proposed, resulting in slightly different
languages.
QUANTIFICATION
It means that NL heavily depends on quantifying construction which often includes fuzzy
concepts like “almost all”, “many”, etc.
In the above examples, the quantifiers “Every” and “Many” are applied to the crisp
restrictions “students” as well as crisp scope “(person who) passed the exam” and “cars” as
well as crisp scope” sports”.
While applying traditional control, one needs to know about the model and the
objective function formulated in precise terms. This makes it very difficult to apply in
many cases.
By applying fuzzy logic for control we can utilize the human expertise and experience
for designing a controller.
The fuzzy control rules, basically the IF-THEN rules, can be best utilized in designing a
controller
While designing fuzzy control system, the following six basic assumptions should be made −
The plant is observable and controllable − It must be assumed that the input,
output as well as state variables are available for observation and controlling
purpose.
‘Good enough’ solution is enough − The control engineering must look for ‘good
enough’ solution rather than an optimum one.
Issues regarding stability and optimality − The issues of stability and optimality
must be open in designing Fuzzy logic controller rather than addressed explicitly
The Following are the major components of the FLC as shown in the above figure −
Fuzzifier − The role of fuzzifier is to convert the crisp input values into fuzzy values.
Fuzzy Knowledge Base − It stores the knowledge about all the input-output fuzzy
relationships. It also has the membership function which defines the input variables
to the fuzzy rule base and the output variables to the plant under control.
Fuzzy Rule Base − It stores the knowledge about the operation of the process of
domain.
Inference Engine − It acts as a kernel of any FLC. Basically it simulates human
decisions by performing approximate reasoning.
Defuzzifier − The role of defuzzifier is to convert the fuzzy values into crisp values
getting from fuzzy inference engine.
Identification of variables − Here, the input, output and state variables must be
identified of the plant which is under consideration.
Obtaining membership function − Now obtain the membership function for each
fuzzy subset that we get in the above step.
Fuzzy rule base configuration − Now formulate the fuzzy rule base by assigning
relationship between fuzzy input and output.
Robust − FLCs are more robust than PID controllers because of their capability to
cover a huge range of operating conditions.
Efficiency − Fuzzy logic provides more efficiency when applied in control system.
We will now discuss what are the disadvantages of Fuzzy Logic Control.
Useful in case of moderate historical data − FLC is not useful for programs much
smaller or larger than historical data.
Needs high human expertise − This is one drawback as the accuracy of the system
depends on the knowledge and expertise of human beings.
Needs regular updating of rules − The rules must be updated with time.
Adaptive Fuzzy Controller is designed with some adjustable parameters along with an
embedded mechanism for adjusting them.
Adaptive controller has been used for improving the performance of controller.
Let us now discuss the basic steps for implementing adaptive algorithm.
OPERATIONAL CONCEPTS
The error between actual system and its mathematical representation is calculated and if it
is relatively insignificant then the model is assumed to work effectively.
A threshold constant that sets a boundary for the effectiveness of a controller, also exists.
The control input is fed into both the real system and mathematical model
Here we assume that x(t) is the output of the real system and y(t) is the output of the
mathematical model
Here, x desired is the output we want from the system and µ (t) is the output coming from
controller and going to both real as well as mathematical model.
The following diagram shows how the error function is tracked between output of a real
system and Mathematical model −
The following parameters need to be considered for selecting an adaptive fuzzy controller −
If a system can be approximated by a set of fuzzy models, are these models having
the same format with different parameters or are they having different formats?
If a system can be approximated by a set of fuzzy models having the same format,
each with a different set of parameters, are these parameter sets readily available or
must they be determined online?
Artificial neural network (ANN) is a network of efficient computing systems. The central
theme of which is borrowed from the analogy of biological neural networks.
ANNs are also named as “artificial neural systems,” “parallel distributed processing
systems,” “connectionist systems.”
ANN acquires large collection of units that are interconnected in some pattern to allow
communications between units.
These units, also referred to as nodes or neurons, are simple processors which operate in
parallel.
Every neuron is connected with other neuron through a connection link. Each connection
link is associated with a weight having the information about the input signal.
This is the most useful information for neurons to solve a particular problem because the
weight usually inhibits the signal that is being communicated
The following are some reasons for using fuzzy logic in neural networks
Fuzzy logic is largely used to define the weights, from fuzzy sets, in neural networks.
When crisp values are not possible to apply, then fuzzy values are used
We have already studied that training and learning help neural networks perform
better in unexpected situations. At that time, fuzzy values would be more applicable
than crisp values.
When we use fuzzy logic in neural networks, the values must not be crisp and the
processing can be done in parallel.
It is a form of fuzziness in neural networks. Basically FCM is like a dynamic state machine
with fuzzy states (not just 1 or 0).
Despite having numerous advantages, there is also some difficulty while using fuzzy logic in
neural networks.
The difficulty is related with membership rules, the need to build fuzzy system, because it is
sometimes complicated to deduce it with the given set of complex data.
NEURAL-TRAINED FUZZY LOGIC
The reverse relationship between neural network and fuzzy logic, i.e., neural network used
to train fuzzy logic is also a good area of study. The following are two major reasons to build
neural-trained fuzzy logic −
New patterns of data can be learned easily with the help of neural networks hence,
it can be used to pre-process data in fuzzy systems.
Neural network, because of its capability to learn new relationship with new input
data, can be used to refine fuzzy rules to create fuzzy adaptive system.
Neural-Trained Fuzzy systems are being used in many commercial applications. Let us now
see a few examples where Neural-Trained Fuzzy system is applied −
Ford Motor Company has developed trainable fuzzy systems for automobile idle-
speed control.
AEG Corporation of Germany uses neural-trained fuzzy control system for its water –
and energy conserving machine. It is having total of 157 fuzzy rules.
AEROSPACE
AUTOMOTIVE
Traffic control
BUSINESS
In business, fuzzy logic is used in the following areas −
DEFENCE
ELECTRONICS
Microwave ovens
Vacuum cleaners
FINANCE
Fund management
INDUSTRIAL SECTOR
MARINE
Ship steering
MEDICAL
Radiology diagnoses
SECURITIES
TRANSPORTATION
Railway acceleration
In Pattern Recognition and Classification, fuzzy logic is used in the following areas −
Handwriting recognition
Command analysis
PSYCHOLOGY