メインコンテンツ

ANFISOptions Properties

ANFIS tuning options

Specify ANFIS tuning options using the MethodOptions property of a tunefisOptions object, which is an ANFISOptions object. Then, tune your ANFIS system using the tunefis function.

For example, the following commands create an initial FIS structure and tune its membership function parameters using the ANFIS algorithm with 40 training epochs.

inFIS = genfis(inputData,outputData);
opt = tunefisOptions(Method="anfis");
opt.MethodOptions.EpochNumber = 40;
fis = tunefis(inFIS,[],inputData,outputData,opt);

tunefis uses the Command Window display options only when the Display property of a tunefisOptions object is "tuningonly".

Method and Termination Conditions

expand all

Optimization method used in membership function parameter training, specified as one of the following values.

  • 1 — Use a hybrid method, which uses a combination of backpropagation to compute input membership function parameters, and least squares estimation to compute output membership function parameters.

  • 0 — Use backpropagation gradient descent to compute all parameters.

Maximum number of training epochs, specified as a positive integer. The training process stops when it reaches the maximum number of training epochs.

Training error goal, specified as a scalar. The training process stops when the training error is less than or equal to ErrorGoal.

Step Size

expand all

Initial training step size, specified as a positive scalar.

The ANFIS training algorithm tunes the FIS parameters using gradient descent optimization methods. The training step size is the magnitude of each gradient transition in the parameter space. Typically, you can increase the rate of convergence of the training algorithm by increasing the step size. During optimization, tunefis automatically updates the step size using StepSizeIncreaseRate and StepSizeDecreaseRate.

Generally, the step-size profile during training is a curve that increases initially, reaches some maximum, and then decreases for the remainder of the training. To achieve this ideal step-size profile, adjust the initial step-size and the increase and decrease rates (opt.StepSizeDecreaseRate, opt.StepSizeIncreaseRate).

Step-size decrease rate, specified as a positive scalar less than 1. If the training error undergoes two consecutive combinations of an increase followed by a decrease, then tunefis scales the step size by the decrease rate.

Step-size increase rate, specified as a scalar greater than 1. If the training error decreases for four consecutive epochs, then tunefis scales the step size by the increase rate.

Validation

expand all

Validation data for preventing overfitting to the training data, specified as an array. For a fuzzy system with N inputs, specify ValidationData as an array with N+1 columns. The first N columns contain input data and the final column contains output data. Each row of ValidationData contains one data point.

At each training epoch, the training algorithm validates the FIS using the validation data.

Generally, validation data should fully represent the features of the data the FIS is intended to model, while also being sufficiently different from the training data to test training generalization.

Command Window Display

expand all

Option for showing ANFIS information at the start of the training process, specified as one of these values:

  • 1 — Display the following information about the ANFIS system and training data:

    • Number of nodes in the ANFIS system

    • Number of linear parameters to tune

    • Number of nonlinear parameters to tune

    • Total number of parameters to tune

    • Number of training data pairs

    • Number of checking data pairs

    • Number of fuzzy rules

  • 0 — Do not display the information.

Option for displaying training error values after each training epoch, specified as one of these values:

  • 1 — Display the training error.

  • 0 — Do not display the training error.

Option for displaying step size whenever the step size changes, specified as one of these values:

  • 1 — Display the step size.

  • 0 — Do not display the step size.

Flag for displaying final training result, specified as one of these values:

  • 1 — Display the results.

  • 0 — Do not display the results.

FIS Structure

expand all

Initial FIS structure. tunefis ignores this property. Specify the FIS structure using the first input argument of tunefis instead.

Version History

Introduced in R2017a