Набор опций для 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
.'InitialFIS'
- Исходная структура FIS2
(по умолчанию) | положительное целое число, больше 1
| вектор положительных целых чисел | структуре FISИсходная структура FIS для настройки, заданная как разделенная разделенными запятой парами, состоящая из 'InitialFIS'
и одно из следующих:
Положительное целое число, больше 1
определение количества функций членства для всех входных переменных. anfis
генерирует начальную структуру FIS с заданным количеством функций членства, используя genfis
с разделением сетки.
Вектор положительных целых чисел с длиной, равной количеству переменных входов, задающих количество функций принадлежности для каждого переменного входа. anfis
генерирует начальную структуру FIS с заданным количеством функций членства, используя genfis
с разделением сетки.
Структура FIS, сгенерированная с помощью genfis
команда с разделением сетки или вычитанием кластеризации. Указанная система должна иметь следующие свойства:
Один выход, полученный с помощью средневзвешенной дефаззификации.
Система Sugeno-типа первого или нулевого порядка; то есть все выходные функции членства должны быть одного и того же типа и быть либо 'linear'
или 'constant'
.
Нет совместного использования правил. Различные правила не могут использовать одну и ту же функцию выхода принадлежности; то есть количество выходных функций членства должно равняться количеству правил.
Вес единицы для каждого правила.
Нет пользовательских функций членства или методов дефаззификации.
'EpochNumber'
- Максимальное количество циклов обучения10
(по умолчанию) | положительное целое числоМаксимальное количество циклов обучения, заданное как разделенная запятой пара, состоящее из 'EpochNumber'
и положительное целое число. Процесс обучения останавливается, когда он достигает максимального количества циклов обучения.
'ErrorGoal'
- Цель ошибки обучения0
(по умолчанию) | скаляромЦель ошибки обучения, заданная как разделенная разделенными запятой парами, состоящая из 'ErrorGoal'
и скаляром. Процесс обучения останавливается, когда ошибка обучения меньше или равна ErrorGoal
.
'InitialStepSize'
- Размер начального шага обучения0.01
(по умолчанию) | положительная скалярная величинаНачальный размер шага обучения, заданный как разделенная разделенными запятой парами, состоящая из 'InitialStepSize'
и положительная скалярная величина.
anfis
алгоритм настройки настраивает параметры FIS, используя методы оптимизации градиентного спуска. Размер шага обучения является величиной каждого градиентного перехода в пространстве параметров. Обычно можно увеличить скорость сходимости алгоритма настройки путем увеличения размера шага. Во время оптимизации, anfis
автоматически обновляет размер шага с помощью StepSizeIncreaseRate
и StepSizeDecreaseRate
.
Обычно профиль размера шага во время обучения является кривой, которая первоначально увеличивается, достигает некоторого максимума, а затем уменьшается на оставшуюся часть обучения. Чтобы достичь этого идеального профиля размера шага, отрегулируйте начальный размер шага, и увеличение и уменьшение скорости (opt.StepSizeDecreaseRate
, opt.StepSizeIncreaseRate
).
'StepSizeDecreaseRate'
- Скорость уменьшения размера шага0.9
(по умолчанию) | положительная скалярная величина меньше 1
Скорость уменьшения размера шага, заданная как разделенная разделенными запятой парами, состоящая из 'StepSizeDecreaseRate'
и положительный скаляр меньше 1
. Если ошибка обучения претерпевает две последовательные комбинации увеличения с последующим уменьшением, то anfis
масштабирует размер шага на скорость уменьшения.
'StepSizeIncreaseRate'
- Скорость увеличения размера шага1.1
(по умолчанию) | скаляром больше 1
Скорость увеличения размера шага, заданная как разделенная разделенными запятой парами, состоящая из 'StepSizeIncreaseRate'
и скаляром, большим 1
. Если ошибка обучения уменьшается в течение четырех последовательных эпох, то anfis
масштабирует размер шага на скорость увеличения.
'DisplayANFISInformation'
- Флаг для отображения информации ANFIS1
(по умолчанию) | 0
Флаг для отображения информации ANFIS в начале процесса обучения, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayANFISInformation'
и одно из следующих:
1
- отображение следующей информации о системе ANFIS и обучающих данных:
Число узлов в системе ANFIS
Количество линейных параметров для настройки
Количество нелинейных параметров для настройки
Общее количество параметров для настройки
Количество пар обучающих данных
Количество пар проверяющих данных
Количество нечетких правил
0
- Не отображать информацию.
'DisplayErrorValues'
- Флаг для отображения значений ошибок обучения1
(по умолчанию) | 0
Флаг для отображения значений ошибок обучения после каждой эпохи обучения, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayErrorValues'
и одно из следующих:
1
- Отображение ошибки обучения.
0
- Не отображать ошибку обучения.
'DisplayStepSize'
- Флаг для отображения размера шага1
(по умолчанию) | 0
Флаг для отображения размера шага всякий раз, когда изменяется размер шага, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayStepSize'
и одно из следующих:
1
- Отобразите размер шага.
0
- Не отображать размер шага.
'DisplayFinalResults'
- Флаг для отображения конечных результатов1
(по умолчанию) | 0
Флаг для отображения конечных результатов после обучения, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayFinalResults'
и одно из следующих:
1
- отображение результатов.
0
- Не отображать результаты.
'ValidationData'
- Данные валидации[]
(по умолчанию) | массивДанные валидации для предотвращения сверхподбора кривой обучающим данным, заданные как разделенная разделенными запятой парами, состоящая из 'ValidationData'
и массив. Для нечеткой системы с N входами задайте ValidationData
как массив с N + 1 столбцами. Первые столбцы N содержат входные данные, а конечный - выходные данные. Каждая строка ValidationData
содержит одну точку данных.
В каждую эпоху обучения алгоритм настройки проверяет FIS с помощью данных валидации.
Как правило, данные валидации должны полностью представлять функции данных, для моделирования которых предназначена FIS, а также в достаточной степени отличаться от обучающих данных для тестирования обобщения обучения.
'OptimizationMethod'
- Метод оптимизации1
(по умолчанию) | 0
Метод оптимизации, используемый в обучении параметра функции принадлежности, задается как разделенная разделенными запятой парами, состоящая из 'OptimizationMethod'
и одно из следующих:
1
- Используйте гибридный метод, который использует комбинацию обратного распространения для вычисления параметров входной функции принадлежности и оценки методом наименьших квадратов для вычисления параметров выходной функции принадлежности.
0
- Используйте спуск градиента обратного распространения для вычисления всех параметров.
opt
- Опции обучения для anfis
командаanfisOptions
набор опцийОпции обучения для anfis
команда, возвращенная как anfisOptions
набор опций.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.