Набор опций для tunefis функция
Использовать tunefisOptions для задания параметров настройки нечетких систем с помощью tunefis функция. Можно задать такие параметры, как метод оптимизации, тип оптимизации и метрика расстояния для расчета затрат на оптимизацию.
создает набор опций по умолчанию для настройки системы нечеткого вывода с помощью opt = tunefisOptionstunefis функция. Чтобы изменить свойства этого набора опций для конкретного приложения, используйте точечную нотацию.
создает набор опций со свойствами, заданными с помощью одного или нескольких аргументов пары имя-значение.opt = tunefisOptions(Name,Value)
Method - Алгоритм настройки"ga" (по умолчанию) | "particleswarm" | "patternsearch" | "simulannealbnd" | "anfis"Алгоритм настройки, указанный как один из следующих:
"ga" - генетический алгоритм
"particleswarm" - рой частиц
"patternsearch" - поиск шаблона
"simulannealbnd" - моделируемый алгоритм отжига
"anfis" - адаптивная нейро-нечеткая
В этих алгоритмах настройки используются решатели из ПО Global Optimization Toolbox, за исключением "anfis". MethodOptions свойство различается для каждого алгоритма и соответствует входному аргументу опций для соответствующего решателя. При указании MethodOptions без указания Method, то способ настройки определяется на основе MethodOptions.
"anfis" метод настройки поддерживает настройку только систем нечеткого вывода Sugeno типа-1 с одной выходной переменной.
MethodOptions - Параметры алгоритма настройкиoptimoptionsПараметры алгоритма настройки, заданные как объект опции для алгоритма настройки, указанного Method. Это свойство отличается для каждого алгоритма и создается с помощью optimoptions. Если не указать MethodOptions, tunefis создает объект опции по умолчанию для метода настройки, указанного в Method. Изменение параметров в MethodOptions, используйте точечную нотацию.
OptimizationType - Тип оптимизации"tuning" (по умолчанию) | "learning"Тип оптимизации, указанный как одно из следующих:
"tuning" - оптимизация существующих параметров ввода, вывода и правил без изучения новых правил.
"learning" - Изучение новых правил до максимального количества правил, указанного в NumMaxRules.
"anfis" алгоритм поддерживает только "tuning" оптимизация.
NumMaxRules - Максимальное количество правил в FISInf (по умолчанию) | целое числоМаксимальное количество правил в FIS после оптимизации, указанное как целое число. Количество правил в FIS (после оптимизации) может быть меньше, чем NumMaxRules, так как повторяющиеся правила с одинаковыми предшествующими значениями удаляются из базы правил.
Когда NumMaxRules является Inf, tunefis наборы NumMaxRules максимально возможное количество правил для FIS. Это максимальное значение вычисляется на основе количества входных переменных и количества функций членства для каждой входной переменной.
При настройке параметров fistree объект, NumMaxRules указывает максимальное количество правил для каждого FIS в fistree.
"anfis" метод настройки игнорирует этот параметр.
IgnoreInvalidParameters - Флаг для игнорирования недопустимых параметровtrue (по умолчанию) | falseФлаг для игнорирования недопустимых параметров, указан как true или false. Когда IgnoreInvalideParameters является true, tunefis функция игнорирует недопустимые значения параметров, сгенерированные в процессе настройки.
"anfis" метод настройки игнорирует этот параметр.
DistanceMetric - Тип метрики расстояния"rmse" (по умолчанию) | "norm1" | "norm2"Тип метрики расстояния, используемой для вычисления стоимости для значений оптимизированного параметра относительно обучающих данных, указанных как одно из следующих значений:
"rmse" - среднеквадратичная ошибка
"norm1" - Вектор 1-норма
"norm2" - Вектор 2-норма
Дополнительные сведения о векторных нормах см. в разделе norm.
"anfis" метод настройки поддерживает только "rmse" метрика.
UseParallel - Флаг для использования параллельных вычисленийfalse (по умолчанию) | trueФлаг для использования параллельных вычислений, указанный как true или false. Когда UseParallel является true, tunefis функция использует параллельные вычисления в процессе оптимизации. Для использования параллельных вычислений требуется программное обеспечение Parallel Computing Toolbox™.
"anfis" метод настройки не поддерживает параллельные вычисления.
KFoldValue - Количество перекрестных проверок для выполнения0 (по умолчанию) | неотрицательное целое числоЧисло выполняемых перекрестных проверок, указанное как неотрицательное целое число, меньшее или равное количеству строк в данных обучения.
Когда KFoldValue является 0 или 1, tunefis использует весь набор входных данных для обучения и не выполняет проверку.
В противном случае tunefis случайным образом разбивает входные данные на KFoldValue подмножества примерно одинакового размера. Затем функция выполняет KFoldValue итерации обучения-проверки. Для каждой итерации в качестве данных проверки используется одно подмножество данных, а остальные подмножества используются в качестве данных обучения. На следующем рисунке показаны разделы данных и итерации для KFoldValue = 4.

Пример настройки системы нечеткого вывода с помощью k-кратной перекрестной проверки см. в разделе Оптимизация параметров FIS с k-кратной перекрестной проверкой.
"anfis" метод настройки игнорирует этот параметр.
ValidationTolerance - Максимально допустимое увеличение стоимости проверки0.1 (по умолчанию) | значение в диапазоне [0,1]Максимально допустимое увеличение стоимости проверки при использовании k-кратной перекрестной проверки, заданной как скалярное значение в диапазоне [0,1]. Более высокое ValidationTolerance значение создает более длительную итерацию обучения-проверки с увеличенной возможностью подгонки данных.
Увеличение стоимости проверки ΔC представляет собой разницу между средней стоимостью проверки и минимальной стоимостью проверки Cmin для текущей итерации обучения-проверки. Средняя стоимость проверки - это скользящее среднее с размером окна, равным ValidationWindowSize.
tunefis останавливает текущую итерацию обучения-проверки, когда отношение между ΔC и Cmin превышает ValidationTolerance.
ValidationTolerance игнорируется, когда KFoldValue является 0 или 1.
"anfis" метод настройки игнорирует этот параметр.
ValidationWindowSize - Размер окна для расчета средней стоимости проверки5 (по умолчанию) | положительное целое числоРазмер окна для вычисления средней стоимости проверки, указанный как положительное целое число. Скользящее среднее затрат на проверку вычисляется по последним N значениям затрат на проверку, где N равно ValidationWindowSize. Более высокое ValidationWindowSize значение создает более длительную итерацию обучения-проверки с увеличенной возможностью подгонки данных. Более низкий размер окна может привести к досрочному завершению процесса настройки, когда данные обучения шумят.
ValidationWindowSize игнорируется, когда KFoldValue является 0 или 1.
"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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.