Настройка системы нечеткого вывода типа Sugeno с использованием обучающих данных
генерирует систему нечеткого вывода (FIS) Sugeno с одним выходом и настраивает параметры системы с использованием заданных входных/выходных обучающих данных. Объект FIS автоматически создается с помощью секционирования сетки.fis = anfis(trainingData)
Алгоритм обучения использует комбинацию методов наименьших квадратов и обратного градиентного спуска для моделирования набора обучающих данных.
настраивает FIS с использованием указанных учебных данных и вариантов. С помощью этого синтаксиса можно указать:fis = anfis(trainingData,options)
Начальный объект FIS для настройки.
Данные проверки для предотвращения подгонки к данным обучения.
Варианты алгоритма обучения.
Отображать ли информацию о ходе обучения.
[ возвращает среднеквадратическую ошибку обучения для каждого периода обучения.fis,trainError] = anfis(___)
[ возвращает размер шага обучения в каждую эпоху обучения.fis,trainError,stepSize] = anfis(___)
[ возвращает ошибку данных проверки для каждого периода обучения, fis,trainError,stepSize,chkFIS,chkError] = anfis(trainingData,options)chkErrorи настроенный объект FIS, для которого ошибка проверки является минимальной, chkFIS. Чтобы использовать этот синтаксис, необходимо указать данные проверки с помощью options.ValidationData.
tunefis ФункцияНачиная с R2019a, можно настроить нечеткую систему с помощью tunefis. Эта функция предоставляет несколько других опций для настройки алгоритмов, определенных tunefisOptions объект.
Для использования ANFIS укажите алгоритм настройки как "anfis" в tunefisOptions. Затем используйте объект options в качестве входного аргумента для tunefis. Например:
Создайте начальную систему нечеткого вывода и определите настраиваемые параметры.
x = (0:0.1:10)';
y = sin(2*x)./exp(x/5);
options = genfisOptions('GridPartition');
options.NumMembershipFunctions = 5;
fisin = genfis(x,y,options);
[in,out,rule] = getTunableSettings(fisin);Настройка параметров функции членства с помощью "anfis".
opt = tunefisOptions("Method","anfis"); fisout = tunefis(fisin,[in;out],x,y,opt);
[1] Чан, Ж.-С. Р., «Нечеткое моделирование с использованием обобщенных нейронных сетей и алгоритма фильтра Калмана», Proc. девятого Национального совещания по искусственному интеллекту (AAAI-91). июль 1991, стр. 762-767.
[2] Чан, Ж.-С. R., «ANFIS: адаптивные сетевые системы нечеткого вывода», IEEE Transactions on Systems, Man, and Cybernetics, Vol. 23, No. 3, May 1993, pp. 665-685.