anfisOptions

Набор опций для anfis команда

Описание

пример

opt = anfisOptions создает набор опций по умолчанию для настройки системы нечеткого вывода Sugeno с помощью anfis. Используйте запись через точку, чтобы изменить этот набор опций для вашего конкретного приложения. Все опции, которые вы не изменяете, сохраняют значения по умолчанию.

пример

opt = anfisOptions(Name,Value) создает набор опций с опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Примеры

свернуть все

Создайте набор опций по умолчанию.

opt = anfisOptions;

Задайте опции обучения с помощью записи через точку. Для примера задайте следующие опции:

  • Исходная FIS с 4 функции принадлежности для каждой входной переменной

  • Максимальное количество циклов обучения, равное 30.

opt.InitialFIS = 4;
opt.EpochNumber = 30;

Можно также задать опции при создании набора опций с помощью одной или нескольких Name,Value аргументы в виде пар.

opt2 = anfisOptions('InitialFIS',4,'EpochNumber',30);

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'EpochNumber',50 устанавливает максимальное количество циклов обучения равным 50.

Исходная структура FIS для настройки, заданная как разделенная разделенными запятой парами, состоящая из 'InitialFIS' и одно из следующих:

  • Положительное целое число, больше 1 определение количества функций членства для всех входных переменных. anfis генерирует начальную структуру FIS с заданным количеством функций членства, используя genfis с разделением сетки.

  • Вектор положительных целых чисел с длиной, равной количеству переменных входов, задающих количество функций принадлежности для каждого переменного входа. anfis генерирует начальную структуру FIS с заданным количеством функций членства, используя genfis с разделением сетки.

  • Структура FIS, сгенерированная с помощью genfis команда с разделением сетки или вычитанием кластеризации. Указанная система должна иметь следующие свойства:

    • Один выход, полученный с помощью средневзвешенной дефаззификации.

    • Система Sugeno-типа первого или нулевого порядка; то есть все выходные функции членства должны быть одного и того же типа и быть либо 'linear' или 'constant'.

    • Нет совместного использования правил. Различные правила не могут использовать одну и ту же функцию выхода принадлежности; то есть количество выходных функций членства должно равняться количеству правил.

    • Вес единицы для каждого правила.

    • Нет пользовательских функций членства или методов дефаззификации.

Максимальное количество циклов обучения, заданное как разделенная запятой пара, состоящее из 'EpochNumber' и положительное целое число. Процесс обучения останавливается, когда он достигает максимального количества циклов обучения.

Цель ошибки обучения, заданная как разделенная разделенными запятой парами, состоящая из 'ErrorGoal' и скаляром. Процесс обучения останавливается, когда ошибка обучения меньше или равна ErrorGoal.

Начальный размер шага обучения, заданный как разделенная разделенными запятой парами, состоящая из 'InitialStepSize' и положительная скалярная величина.

anfis алгоритм настройки настраивает параметры FIS, используя методы оптимизации градиентного спуска. Размер шага обучения является величиной каждого градиентного перехода в пространстве параметров. Обычно можно увеличить скорость сходимости алгоритма настройки путем увеличения размера шага. Во время оптимизации, anfis автоматически обновляет размер шага с помощью StepSizeIncreaseRate и StepSizeDecreaseRate.

Обычно профиль размера шага во время обучения является кривой, которая первоначально увеличивается, достигает некоторого максимума, а затем уменьшается на оставшуюся часть обучения. Чтобы достичь этого идеального профиля размера шага, отрегулируйте начальный размер шага, и увеличение и уменьшение скорости (opt.StepSizeDecreaseRate, opt.StepSizeIncreaseRate).

Скорость уменьшения размера шага, заданная как разделенная разделенными запятой парами, состоящая из 'StepSizeDecreaseRate' и положительный скаляр меньше 1. Если ошибка обучения претерпевает две последовательные комбинации увеличения с последующим уменьшением, то anfis масштабирует размер шага на скорость уменьшения.

Скорость увеличения размера шага, заданная как разделенная разделенными запятой парами, состоящая из 'StepSizeIncreaseRate' и скаляром, большим 1. Если ошибка обучения уменьшается в течение четырех последовательных эпох, то anfis масштабирует размер шага на скорость увеличения.

Флаг для отображения информации ANFIS в начале процесса обучения, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayANFISInformation' и одно из следующих:

  • 1 - отображение следующей информации о системе ANFIS и обучающих данных:

    • Число узлов в системе ANFIS

    • Количество линейных параметров для настройки

    • Количество нелинейных параметров для настройки

    • Общее количество параметров для настройки

    • Количество пар обучающих данных

    • Количество пар проверяющих данных

    • Количество нечетких правил

  • 0 - Не отображать информацию.

Флаг для отображения значений ошибок обучения после каждой эпохи обучения, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayErrorValues' и одно из следующих:

  • 1 - Отображение ошибки обучения.

  • 0 - Не отображать ошибку обучения.

Флаг для отображения размера шага всякий раз, когда изменяется размер шага, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayStepSize' и одно из следующих:

  • 1 - Отобразите размер шага.

  • 0 - Не отображать размер шага.

Флаг для отображения конечных результатов после обучения, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayFinalResults' и одно из следующих:

  • 1 - отображение результатов.

  • 0 - Не отображать результаты.

Данные валидации для предотвращения сверхподбора кривой обучающим данным, заданные как разделенная разделенными запятой парами, состоящая из 'ValidationData' и массив. Для нечеткой системы с N входами задайте ValidationData как массив с N + 1 столбцами. Первые столбцы N содержат входные данные, а конечный - выходные данные. Каждая строка ValidationData содержит одну точку данных.

В каждую эпоху обучения алгоритм настройки проверяет FIS с помощью данных валидации.

Как правило, данные валидации должны полностью представлять функции данных, для моделирования которых предназначена FIS, а также в достаточной степени отличаться от обучающих данных для тестирования обобщения обучения.

Метод оптимизации, используемый в обучении параметра функции принадлежности, задается как разделенная разделенными запятой парами, состоящая из 'OptimizationMethod' и одно из следующих:

  • 1 - Используйте гибридный метод, который использует комбинацию обратного распространения для вычисления параметров входной функции принадлежности и оценки методом наименьших квадратов для вычисления параметров выходной функции принадлежности.

  • 0 - Используйте спуск градиента обратного распространения для вычисления всех параметров.

Выходные аргументы

свернуть все

Опции обучения для anfis команда, возвращенная как anfisOptions набор опций.

См. также

|

Введенный в R2017a