exponenta event banner

tunefisOptions

Набор опций для tunefis функция

Описание

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

Создание

Описание

пример

opt = tunefisOptions создает набор опций по умолчанию для настройки системы нечеткого вывода с помощью tunefis функция. Чтобы изменить свойства этого набора опций для конкретного приложения, используйте точечную нотацию.

пример

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

Свойства

развернуть все

Алгоритм настройки, указанный как один из следующих:

  • "ga" - генетический алгоритм

  • "particleswarm" - рой частиц

  • "patternsearch" - поиск шаблона

  • "simulannealbnd" - моделируемый алгоритм отжига

  • "anfis" - адаптивная нейро-нечеткая

В этих алгоритмах настройки используются решатели из ПО Global Optimization Toolbox, за исключением "anfis". MethodOptions свойство различается для каждого алгоритма и соответствует входному аргументу опций для соответствующего решателя. При указании MethodOptions без указания Method, то способ настройки определяется на основе MethodOptions.

"anfis" метод настройки поддерживает настройку только систем нечеткого вывода Sugeno типа-1 с одной выходной переменной.

Параметры алгоритма настройки, заданные как объект опции для алгоритма настройки, указанного Method. Это свойство отличается для каждого алгоритма и создается с помощью optimoptions. Если не указать MethodOptions, tunefis создает объект опции по умолчанию для метода настройки, указанного в Method. Изменение параметров в MethodOptions, используйте точечную нотацию.

Тип оптимизации, указанный как одно из следующих:

  • "tuning" - оптимизация существующих параметров ввода, вывода и правил без изучения новых правил.

  • "learning" - Изучение новых правил до максимального количества правил, указанного в NumMaxRules.

"anfis" алгоритм поддерживает только "tuning" оптимизация.

Максимальное количество правил в FIS после оптимизации, указанное как целое число. Количество правил в FIS (после оптимизации) может быть меньше, чем NumMaxRules, так как повторяющиеся правила с одинаковыми предшествующими значениями удаляются из базы правил.

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

При настройке параметров fistree объект, NumMaxRules указывает максимальное количество правил для каждого FIS в fistree.

"anfis" метод настройки игнорирует этот параметр.

Флаг для игнорирования недопустимых параметров, указан как true или false. Когда IgnoreInvalideParameters является true, tunefis функция игнорирует недопустимые значения параметров, сгенерированные в процессе настройки.

"anfis" метод настройки игнорирует этот параметр.

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

  • "rmse" - среднеквадратичная ошибка

  • "norm1" - Вектор 1-норма

  • "norm2" - Вектор 2-норма

Дополнительные сведения о векторных нормах см. в разделе norm.

"anfis" метод настройки поддерживает только "rmse" метрика.

Флаг для использования параллельных вычислений, указанный как true или false. Когда UseParallel является true, tunefis функция использует параллельные вычисления в процессе оптимизации. Для использования параллельных вычислений требуется программное обеспечение Parallel Computing Toolbox™.

"anfis" метод настройки не поддерживает параллельные вычисления.

Число выполняемых перекрестных проверок, указанное как неотрицательное целое число, меньшее или равное количеству строк в данных обучения.

Когда KFoldValue является 0 или 1, tunefis использует весь набор входных данных для обучения и не выполняет проверку.

В противном случае tunefis случайным образом разбивает входные данные на KFoldValue подмножества примерно одинакового размера. Затем функция выполняет KFoldValue итерации обучения-проверки. Для каждой итерации в качестве данных проверки используется одно подмножество данных, а остальные подмножества используются в качестве данных обучения. На следующем рисунке показаны разделы данных и итерации для KFoldValue = 4.

For each of the four training-validation iterations, a different subset of the training data is selected as validation data with the remaining data used for training.

Пример настройки системы нечеткого вывода с помощью k-кратной перекрестной проверки см. в разделе Оптимизация параметров FIS с k-кратной перекрестной проверкой.

"anfis" метод настройки игнорирует этот параметр.

Максимально допустимое увеличение стоимости проверки при использовании k-кратной перекрестной проверки, заданной как скалярное значение в диапазоне [0,1]. Более высокое ValidationTolerance значение создает более длительную итерацию обучения-проверки с увеличенной возможностью подгонки данных.

Увеличение стоимости проверки ΔC представляет собой разницу между средней стоимостью проверки и минимальной стоимостью проверки Cmin для текущей итерации обучения-проверки. Средняя стоимость проверки - это скользящее среднее с размером окна, равным ValidationWindowSize.

tunefis останавливает текущую итерацию обучения-проверки, когда отношение между ΔC и Cmin превышает ValidationTolerance.

ValidationTolerance игнорируется, когда KFoldValue является 0 или 1.

"anfis" метод настройки игнорирует этот параметр.

Размер окна для вычисления средней стоимости проверки, указанный как положительное целое число. Скользящее среднее затрат на проверку вычисляется по последним N значениям затрат на проверку, где N равно ValidationWindowSize. Более высокое ValidationWindowSize значение создает более длительную итерацию обучения-проверки с увеличенной возможностью подгонки данных. Более низкий размер окна может привести к досрочному завершению процесса настройки, когда данные обучения шумят.

ValidationWindowSize игнорируется, когда KFoldValue является 0 или 1.

"anfis" метод настройки игнорирует этот параметр.

Данные для отображения в командном окне во время обучения, указанные как одно из следующих значений.

  • "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"

См. также

|

Представлен в R2019a