Настройте 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"
\in tunefisOptions
. Затем используйте объект опций в качестве входного параметра для 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] Jang, J.-S. R. "Нечеткое Моделирование Используя Обобщенные Нейронные сети и Алгоритм Фильтра Калмана", Proc. Девятой Национальной Конференции по Искусственному интеллекту (AAAI-91). Июль 1991, стр 762-767.
[2] Jang, J.-S. R. "ANFIS: "Адаптивная Сеть основывала" Нечеткие Системы Вывода", Транзакции IEEE в Системах, Человеке, и Кибернетике, Издании 23, № 3, май 1993, стр 665-685.