Настройте Sugeno-тип нечеткая система вывода с помощью данных тренировки
fis = anfis(trainingData)
fis = anfis(trainingData,options)
[fis,trainError]
= anfis(___)
[fis,trainError,stepSize]
= anfis(___)
[fis,trainError,stepSize,chkFIS,chkError]
= anfis(trainingData,options)
генерирует нечеткую систему вывода (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
. Затем используйте объект опций в качестве входного параметра для 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.