Набор опций для tunefis
функция
Использование tunefisOptions
объект, чтобы задать опции для настройки нечетких систем с помощью tunefis
функция. Можно задать такие опции, как метод оптимизации, тип оптимизации и метрика расстояния для вычисления затрат на оптимизацию.
создает набор опций по умолчанию для настройки системы нечеткого вывода с помощью opt
= tunefisOptionstunefis
функция. Чтобы изменить свойства этого набора опций для вашего конкретного приложения, используйте запись через точку.
создает набор опций с параметрами Свойства, заданными с помощью одного или нескольких аргументов пары "имя-значение".opt
= tunefisOptions(Name,Value
)
Method
- Алгоритм настройки"ga"
(по умолчанию) | "particleswarm"
| "patternsearch"
| "simulannealbnd"
| "anfis"
Алгоритм настройки, заданный как один из следующих:
"ga"
- генетический алгоритм
"particleswarm"
- рой частиц
"patternsearch"
- поиск шаблона
"simulannealbnd"
- моделируемый алгоритм отжига
"anfis"
- адаптивная нейро-нечеткая
Эти алгоритмы настройки используют решатели из программного обеспечения Global Optimization Toolbox, кроме "anfis"
. The MethodOptions
свойство отличается для каждого алгоритма и соответствует входному параметру опций для соответствующего решателя. Если вы задаете MethodOptions
без указания Method
, затем метод настройки определяется на основе MethodOptions
.
The "anfis"
метод настройки поддерживает настройку только систем нечеткого вывода типа 1 Sugeno с одной выходной переменной.
MethodOptions
- Опции алгоритма настройкиoptimoptions
Опции алгоритма настройки, заданные как объект опции для алгоритма настройки, заданного Method
. Это свойство отличается для каждого алгоритма и создается с помощью optimoptions
. Если вы не задаете MethodOptions
, tunefis
создает объект опции по умолчанию для метода настройки, заданного в Method
. Изменение опций в MethodOptions
, используйте запись через точку.
OptimizationType
- Тип оптимизации"tuning"
(по умолчанию) | "learning"
Тип оптимизации, заданный как один из следующих:
"tuning"
- Оптимизируйте существующие входные, выходные параметры и параметры правил, не изучая новые правила.
"learning"
- Изучение новых правил до максимального количества правил, заданных NumMaxRules
.
The "anfis"
алгоритм поддерживает только "tuning"
оптимизация.
NumMaxRules
- Максимальное количество правил в FISInf
(по умолчанию) | целое числоМаксимальное количество правил в FIS после оптимизации, заданное в виде целого числа. Количество правил в FIS (после оптимизации) может быть меньше NumMaxRules
, поскольку повторяющиеся правила с такими же предшествующими значениями удаляются из основы правил.
Когда NumMaxRules
является Inf
, tunefis
устанавливает NumMaxRules
к максимальному количеству возможных правил для FIS. Это максимальное значение вычисляется на основе количества входных переменных и количества функций принадлежности для каждой входной переменной.
При настройке параметров fistree
объект, NumMaxRules
указывает максимальное количество правил для каждой FIS в fistree
.
The "anfis"
метод настройки игнорирует эту опцию.
IgnoreInvalidParameters
- Флаг для игнорирования недопустимых параметровtrue
(по умолчанию) | false
Флаг для игнорирования недопустимых параметров, заданный как true
или false
. Когда IgnoreInvalideParameters
является true
, tunefis
функция игнорирует недопустимые значения параметров, сгенерированные в процессе настройки.
The "anfis"
метод настройки игнорирует эту опцию.
DistanceMetric
- Тип метрики расстояния"rmse"
(по умолчанию) | "norm1"
| "norm2"
Тип метрики расстояния, используемой для вычисления стоимости для оптимизированных значений параметров относительно обучающих данных, заданный как одно из следующего:
"rmse"
- Среднеквадратичная ошибка
"norm1"
- Вектор 1-норма
"norm2"
- Вектор 2-норма
Для получения дополнительной информации о векторных нормах см. norm
.
The "anfis"
метод настройки поддерживает только "rmse"
метрический.
UseParallel
- Флаг для использования параллельных вычисленийfalse
(по умолчанию) | true
Флаг для использования параллельных вычислений, заданный как true
или false
. Когда UseParallel
является true
, tunefis
функция использует параллельные расчеты в процессе оптимизации. Для использования параллельных вычислений требуется программное обеспечение Parallel Computing Toolbox™.
The "anfis"
метод настройки не поддерживает параллельные расчеты.
KFoldValue
- Количество перекрестных валидаций для выполнения0
(по умолчанию) | неотрицательное целое числоКоличество выполняемых перекрестных валидаций, заданное как неотрицательное целое число, меньше или равное количеству строк в обучающих данных.
Когда KFoldValue
является 0
или 1
, tunefis
использует весь набор входных данных для обучения и не выполняет валидацию.
В противном случае, tunefis
случайным образом разделяет входные данные на KFoldValue
подмножества приблизительно равного размера. Затем функция выполняет KFoldValue
итерации проверки-обучения. Для каждой итерации один подмножество данных используется как данные валидации, а остальные подмножества используются как обучающие данные. Следующий рисунок показывает раздел данных и итерации для KFoldValue
= 4
.
Для примера, который настраивает систему нечеткого вывода с помощью перекрестной валидации k-fold, смотрите Оптимизируйте параметры FIS с помощью Перекрестной валидации k-Fold.
The "anfis"
метод настройки игнорирует эту опцию.
ValidationTolerance
- Максимально допустимое увеличение стоимости валидации0.1
(по умолчанию) | значение в области значений [0,1]Максимально допустимое увеличение затрат на валидацию при использовании k-кратной перекрестной валидации, заданное как скалярное значение в области значений [0,1]. Более высокий ValidationTolerance
значение создает более длительную итерацию обучения-валидации с повышенной возможностью сверхподбора кривой данных.
Увеличение затрат на валидацию, ΔC, является различием между средней стоимостью валидации и минимальной стоимостью валидации, Cmin, для текущей итерации обучения-валидации. Средняя стоимость валидации является скользящим средним значением с размером окна, равным ValidationWindowSize
.
tunefis
останавливает текущую итерацию обучения-валидации, когда отношение между ΔC и Cmin превышает ValidationTolerance
.
ValidationTolerance
игнорируется, когда KFoldValue
является 0
или 1
.
The "anfis"
метод настройки игнорирует эту опцию.
ValidationWindowSize
- Размер окна для вычисления средних затрат на валидацию5
(по умолчанию) | положительное целое числоРазмер окна для вычисления средней стоимости валидации, заданный как положительное целое число. Скользящее среднее значение стоимости валидации вычисляется по последним N значениям затрат на валидацию, где N равно ValidationWindowSize
. Более высокий ValidationWindowSize
значение создает более длительную итерацию обучения-валидации с повышенной возможностью сверхподбора кривой данных. Более низкий размер окна может вызвать раннее завершение процесса настройки, когда обучающие данные зашумлены.
ValidationWindowSize
игнорируется, когда KFoldValue
является 0
или 1
.
The "anfis"
метод настройки игнорирует эту опцию.
Display
- Данные для отображения в командном окне во время обучения"all"
(по умолчанию) | "tuningonly"
| "validationonly"
| "none"
Данные для отображения в командном окне во время обучения, заданные как одно из следующих значений.
"all"
- отображение результатов обучения и валидации.
"tuningonly"
- Отображать только результаты обучения.
"validationonly"
- Отображать только результаты валидации.
"none"
- Не отображать ни результаты обучения, ни результаты валидации.
Создайте набор опций по умолчанию с помощью алгоритма настройки роя частиц.
opt = tunefisOptions("Method","particleswarm")
opt = tunefisOptions with properties: Method: "particleswarm" MethodOptions: [1x1 optim.options.Particleswarm] OptimizationType: "tuning" NumMaxRules: Inf IgnoreInvalidParameters: 1 DistanceMetric: "rmse" UseParallel: 0 KFoldValue: 0 ValidationTolerance: 0.1000 ValidationWindowSize: 5 Display: "all"
Можно изменить опции с помощью записи через точку. Для примера установите максимальное количество итераций равным 20.
opt.MethodOptions.MaxIterations = 20;
Можно также задать другие опции при создании набора опций. В этом примере установите OptimizationType
на "learning"
чтобы узнать новые правила.
opt2 = tunefisOptions("Method","particleswarm","OptimizationType","learning")
opt2 = tunefisOptions with properties: Method: "particleswarm" MethodOptions: [1x1 optim.options.Particleswarm] OptimizationType: "learning" NumMaxRules: Inf IgnoreInvalidParameters: 1 DistanceMetric: "rmse" UseParallel: 0 KFoldValue: 0 ValidationTolerance: 0.1000 ValidationWindowSize: 5 Display: "all"
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.