An adaptive neuro-fuzzy inference system or adaptive network-based fuzzy inference system (ANFIS) is a kind of
artificial neural network
In machine learning, a neural network (also artificial neural network or neural net, abbreviated ANN or NN) is a computational model inspired by the structure and functions of biological neural networks.
A neural network consists of connected ...
that is based on
Takagi–Sugeno fuzzy inference system. The technique was developed in the early 1990s. Since it integrates both neural networks and
fuzzy logic
Fuzzy logic is a form of many-valued logic in which the truth value of variables may be any real number between 0 and 1. It is employed to handle the concept of partial truth, where the truth value may range between completely true and completely ...
principles, it has potential to capture the benefits of both in a single
framework.
Its inference system corresponds to a set of fuzzy
IF–THEN rules that have learning capability to approximate
nonlinear functions. Hence, ANFIS is considered to be a
universal estimator. For using the ANFIS in a more efficient and optimal way, one can use the best parameters obtained by
genetic algorithm
In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to g ...
. It has uses in intelligent situational aware
energy management system
An energy management system (EMS) is a system of computer-aided tools used by operators of electric public utility, utility electric power transmission, grids to monitor, control, and optimize the performance of the electricity generation, gener ...
.
ANFIS architecture
It is possible to identify two parts in the network structure, namely premise and consequence parts. In more details, the architecture is composed by five layers.
# The first layer takes the input values and determines the
membership functions belonging to them. It is commonly called fuzzification layer. The membership degrees of each function are computed by using the premise parameter set, namely .
# The second layer is responsible of generating the firing strengths for the rules. Due to its task, the second layer is denoted as "rule layer".
# The role of the third layer is to normalize the computed firing strengths, by dividing each value for the total firing strength.
# The fourth layer takes as input the normalized values and the consequence parameter set .
# The values returned by this layer are the defuzzificated ones and those values are passed to the last layer to return the final output.
Fuzzification layer
The first layer of an ANFIS network describes the difference to a vanilla neural network. Neural networks in general are operating with a
data pre-processing step, in which the
features are converted into normalized values between 0 and 1. An ANFIS neural network doesn't need a
sigmoid function
A sigmoid function is any mathematical function whose graph of a function, graph has a characteristic S-shaped or sigmoid curve.
A common example of a sigmoid function is the logistic function, which is defined by the formula
:\sigma(x ...
, but it's doing the preprocessing step by converting numeric values into fuzzy values.
Here is an example: Suppose, the network gets as input the distance between two points in the 2d space. The distance is measured in pixels and it can have values from 0 up to 500 pixels. Converting the numerical values into
fuzzy numbers is done with the membership function which consists of
semantic descriptions like near, middle and far.
Each possible linguistic value is given by an individual
neuron
A neuron (American English), neurone (British English), or nerve cell, is an membrane potential#Cell excitability, excitable cell (biology), cell that fires electric signals called action potentials across a neural network (biology), neural net ...
. The neuron “near” fires with a value from 0 until 1, if the distance is located within the category "near". While the neuron “middle” fires, if the distance in that category. The input value “distance in pixels” is split into three different neurons for near, middle and far.
References
{{reflist
Fuzzy logic
Artificial neural networks