Разработка сложной системы нечеткого вывода (FIS) с большим количеством входов и функций принадлежности (MFs) является сложной проблемой из-за большого количества параметров и правил MF. Чтобы спроектировать такую FIS, можно использовать управляемый данными подход, чтобы узнать правила и настроить параметры FIS. Чтобы настроить нечеткую систему, используйте tunefis
и сконфигурируйте процесс настройки, используя tunefisOptions
объект.
Используя программное обеспечение Fuzzy Logic Toolbox™, можно настроить как FIS типа 1, так и типа 2, а также деревья FIS. Для примеров смотрите Предсказание хаотических временных рядов с использованием Type-2 FIS и Настройте дерево FIS для прогнозирования пробега газа.
Во время обучения алгоритм оптимизации генерирует потенциальные наборы параметров FIS. Нечеткая система обновляется каждым набором параметров и затем оценивается с помощью входных обучающих данных.
Если у вас есть обучающие данные ввода/вывода, стоимость для каждого решения вычисляется на основе различия между выходом нечеткой системы и ожидаемыми выходными значениями обучающих данных. Для примера, который использует этот подход, см. «Настройка системы нечеткого вывода Mamdani».
Если у вас нет обучающих данных ввода/вывода, можно задать пользовательскую модель и функцию затрат для оценки наборов параметров FIS кандидата. Функция измерения стоимости отправляет вход в нечеткую систему и получает рассчитанный выход. Стоимость основана на различии между оценённым выходом и выходом, ожидаемой моделью. Для получения дополнительной информации и примера, который использует этот подход, смотрите Настроить Нечеткую Систему Предотвращения Препятствий Робота Используя Пользовательскую Функцию Затрат.
Для получения дополнительной информации о настройке нечетких систем см. следующие примеры.
В следующей таблице показаны методы настройки, поддерживаемые tunefis
функция. Эти методы настройки находят оптимальные параметры FIS
Метод | Описание | Дополнительная информация |
---|---|---|
Генетический алгоритм | Популяционный метод глобальной оптимизации, который случайным образом ищет по мутации и кроссоверу среди представителей населения | Что такое генетический алгоритм? (Global Optimization Toolbox) |
Оптимизация роя частиц | Популяционный метод глобальной оптимизации, в котором представители населения шагают по всей области поиска | Что такое оптимизация роя частиц? (Global Optimization Toolbox) |
Поиск по шаблону | Локальный метод оптимизации прямого поиска, который ищет набор точек около текущей точки, чтобы найти новый оптимум | Что такое прямой поиск? (Global Optimization Toolbox) |
Моделируемый отжиг | Локальный метод оптимизации, который моделирует процесс нагрева и охлаждения, до которого находит новую оптимальную точку около текущей точки | Что такое моделируемый отжиг? (Global Optimization Toolbox) |
Адаптивный нейро-нечеткий вывод | Алгоритм обратного распространения, который настраивает параметры функции принадлежности. Кроме того, можно использовать anfis функция. | Нейроадаптивное обучение и ANFIS |
Первые четыре метода настройки требуют программного обеспечения Global Optimization Toolbox.
Методы глобальной оптимизации, такие как генетические алгоритмы и оптимизация роя частиц, работают лучше для больших областей значений настройки параметров. Эти алгоритмы полезны как для этапов обучения по правилам, так и для настройки параметров оптимизации FIS.
С другой стороны, локальные методы поиска, такие как поиск шаблона и моделируемый отжиг, работают лучше для небольших областей значений параметров. Если FIS генерируется из обучающих данных с помощью genfis
или основа правил уже добавлена к FIS с помощью обучающих данных, тогда эти алгоритмы могут привести к более быстрой сходимости по сравнению с глобальными методами оптимизации.
Сверхподбор кривой данных является распространенной проблемой при оптимизации параметров управления FIS. Когда сверхподбор кривой происходит, настроенный FIS производит оптимизированные результаты для обучающих данных набора, но плохо работает для тестовых данных набора. Чтобы преодолеть проблему избыточного набора данных, процесс настройки может остановиться раньше на основе объективной оценки модели с помощью отдельного набора данных валидации.
При настройке используя tunefis
функция, вы можете предотвратить сверхподбор кривой с помощью k-fold перекрестной валидации. Для предотвращения Для получения дополнительной информации и примера смотрите Оптимизируйте параметры FIS с k-Fold Cross-Validation.
Чтобы улучшить эффективность настроенных нечетких систем, примите во внимание следующие рекомендации.
Используйте несколько фаз в процессе настройки. Например, сначала узнайте правила нечеткой системы, а затем настройте входные/выходные параметры MF, используя наученную основу правил.
Увеличьте количество итераций как в фазах обучения с правилами, так и в фазах настройки параметров. Это увеличивает длительность процесса оптимизации и может также увеличить ошибку валидации из-за переопределенных системных параметров с обучающими данными. Чтобы избежать избыточной подгонки, обучите систему с помощью k-fold перекрестной валидации.
Измените метод кластеризации, используемый genfis
. В зависимости от метода кластеризации сгенерированные правила могут отличаться в представлении обучающих данных. Следовательно, использование различных методов кластеризации может повлиять на эффективность tunefis
.
Изменение свойств FIS. Попробуйте изменить свойства, такие как тип FIS, количество входов, количество входов/выходов MFs, типы MF и количество правил. Система Sugeno имеет меньше выходных параметров MF (принимая постоянные MF) и более быструю дефаззификацию. Поэтому для нечетких систем с большим количеством входов FIS Sugeno обычно сходится быстрее, чем FIS Mamdani. Небольшое количество MF и правил сокращают количество параметров для настройки, создавая более быстрый процесс настройки. Кроме того, большое количество правил может перегружать обучающие данные.
Измените настраиваемый параметр настройки для MF и правил. Например, можно настроить поддержку треугольной MF, не меняя ее пиковое расположение. Это уменьшает количество настраиваемых параметров и может привести к более быстрому процессу настройки для конкретных приложений. Для правил можно исключить нулевые индексы MF путем установки AllowEmpty
настраиваемая настройка на false, которая уменьшает общее количество правил на фазе обучения.
Чтобы улучшить результаты настройки для нечетких деревьев, примите во внимание следующие рекомендации.
Можно отдельно настроить параметры каждой FIS в дереве FIS. Затем можно настроить все нечеткие системы вместе, чтобы обобщить значения параметров.
Измените свойства дерева FIS, такие как количество нечетких систем и связи между нечеткими системами.
Используйте различные рейтинги и группировки входов для дерева FIS. Дополнительные сведения о создании деревьев FIS см. в разделе «Нечеткие деревья».
genfis
| getTunableSettings
| tunefis