tunefisOptions

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

Описание

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

Создание

Описание

пример

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

пример

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

Свойства

расширить все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для получения дополнительной информации о векторных нормах см. norm.

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

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

The "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-fold, смотрите Оптимизируйте параметры FIS с помощью Перекрестной валидации k-Fold.

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

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

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

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

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

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

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

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

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