Learn R Programming

frbs (version 1.0-0)

ANFIS: ANFIS model building

Description

This is the internal function that implements the adaptive-network-based fuzzy inference system (ANFIS). Users do not need to call it directly, but just use frbs.learn and predict.

Usage

ANFIS(range.data, data.train, num.labels, max.iter = 100,
    range.data.ori, step.size = 0.01)

Arguments

range.data
a matrix(2 x n) containing the range of the normalized data, where n is the number of variables, and first and second rows are the minimum and maximum values, respectively.
data.train
a matrix(m x n) of data for the training process, where m is the number of instances and n is the number of variables; the last column is the output variable.
num.labels
a matrix(1 x n), whose elements represent the number of labels (fuzzy terms); n is the number of variables.
max.iter
the maximal number of iterations.
range.data.ori
a matrix containing the ranges of the original data.
step.size
a real number between 0 and 1 representing the step size of the gradient descent.

Details

This method was proposed by Jyh-Shing and Roger Jang. It uses the Takagi Sugeno Kang model on the consequent part of the fuzzy IF-THEN rules. The ANFIS architecture consists of two processes, the forward and the backward stage. The forward stage has five layers as follows:
  • Layer 1: The fuzzification process which transforms crisp values into fuzzy terms using the Gaussian function as the shape of the membership function.
  • Layer 2: The inference stage using the t-norm operator (the AND operator).
  • Layer 3: Calculating the ratio of the strengths of the rules.
  • Layer 4: Calculating the consequent parameters.
  • Layer 5: Calculating the overall output as the sum of all incoming signals.
The backward stage is a process of parameter learning. In this step, the least squares method is used in order to obtain the parameters, which are coefficients of linear equations on the consequent part, and mean and variance on the antecedent part.

References

Andri Riid and Ennu Rustern, "Interpretability versus adaptability in fuzzy systems," Proceedings of the Estonian Academy of Sciences, Engineering, 6, 2, pp. 76 - 95 (2000).

Babuska R. and Verbruggen, H. "Neuro-fuzzy methods for nonlinear system identification," Annual Reviews in Control, 27 I, pp. 73-85 (2003).

Jyh-Shing and Roger Jang, "ANFIS: adaptive-network-based fuzzy inference system", IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23, No. 3 (1993).

See Also

ANFIS.update, frbs.learn, and predict