|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "Проектирование систем управления\Fuzzy Logic Toolbox"
С.Д.Штовба "Введение в теорию нечетких множеств и нечеткую логику" В оглавление \ К предыдущему разделу 8. Настройка нечетких моделей типа Мамдани При написании материала этого раздела использовались источники [1-8]. В модели типа Мамдани взаимосвязь между входами X=(x1,x2,...,xn) и выходом y определяется нечеткой базой знаний следующего формата:
С помощью операций Y (ИЛИ) и I (И) нечеткую базу знаний перепишем в более компактном виде:
Все лингвистические термы в базе знаний (1) представляются как нечеткие множества, заданные соответствующими функциями принадлежности. База знаний (1) может трактоваться как некоторое разбиение пространства влияющих факторов на подобласти с размытыми границами, в каждой из которых функция отклика принимает значение, заданное соответствующим нечетким множеством. Правило в базе знаний представляет собой "информационный сгусток", отражающий одну из особенностей зависимости "входы выход". Такие "сгусти насыщенной информации" или "гранулы знаний" могут рассматриваться как аналог вербального кодирования, которое, как установили психологи, происходит в человеческом мозге при обучении. Видимо поэтому, формирование нечеткой базы знаний в конкретной предметной области, как правило, не составляет трудностей для эксперта. Введем следующие обозначения, необходимые для дальнейшего изложения материала:
Степень принадлежности входного вектора
где Нечеткое множество
Четкое значение выхода y , соответствующее входному вектору X* определяется в результате дефаззификации нечеткого множества
где Будем предполагать, что существует выборка экспериментальные данных, связывающая входы X=(x1,x2,...,xn) с выходом y исследуемой зависимости:
Задача настройки состоит в нахождении нечеткой модели F , обеспечивающей минимальное значение среднеквадратической невязки:
где F(Xr) - значение выхода нечеткой модели при значении входов, заданных вектором Xr. Выход нечеткой модели зависит от ее структуры - правил базы знаний и параметров: функций принадлежностей, весовых коэффициентов правил, реализаций логических операций, метода дефаззификации. Нахождение параметров нечеткой модели, обеспечивающих минимальное значение критерия (4) и является задачей настройки. Обозначим через P - вектор параметров функций принадлежностей термов входных и выходной переменных нечеткой модели и через W - вектор весовых коэффициентов правил базы знаний. Тогда настройка нечеткой модели типа Мамдани сводится к следующей задаче математического программирования: найти такой вектор (P,W) чтобы:
В приведенной выше задаче оптимизации на управляемые переменные P обычно накладывают ограничения, обеспечивающие линейную упорядоченность элементов терм-множеств. Такие ограничения не позволяют алгоритмам оптимизации сделать, например, терм "Низкий" выше "Высокого". Кроме того, ядра нечетких множеств не должны выходить за пределы диапазонов изменения соответствующих переменных. Что касается вектора W , то его координаты должны находиться в диапазоне [0, 1]. Настройка моделей типа Мамдани в пакете Fuzzy Logic Toolbox не предусмотрена. Мы предлагаем для решения этой задачи использовать функции нелинейной оптимизации из матлабовского пакета Optimization Toolbox. Применение пакетов Fuzzy Logic Toolbox и Optimization Toolbox для настройки нечеткой модели типа Мамдани проиллюстрируем на примере идентификации нелинейной зависимости
в диапазоне Входы и выход нечеткой модели будем рассматривать как лингвистические переменные, значения которых определяются из следующих терм-множеств: {"Низкий", "Средний", "Высокий"} для x1 и x2 , и {"Низкий", "Ниже Среднего", "Средний", "Выше Среднего", "Высокий"} для y . Формализацию термов осуществим с помощью симметричной гауссовской функции принадлежности (gaussmf):
Выбор такого типа функции принадлежности обусловлен ее достаточной гибкостью и простотой - она задается лишь двумя параметрами. Это позволяет сократить размерность задачи оптимизации, возникающей на этапе настройки. В результате визуального наблюдения графика идентифицируемой зависимости (рис. 1a) сформулируем семь правил базы знаний (табл. 1). Исходная нечеткая модель представлена файлом mamdani_0.fis. Поверхность "входы-выход" исходной нечеткой модели показана на рис.1b. Как видно из рисунка до настройки нечеткая модель отражает основные особенности идентифицируемой зависимости. Таблица 1 - Нечеткая база знаний для зависимости (5)
Для настройки нечеткой модели будем использовать программу, приведенную в файле train_mam.m . Это m-сценарий, вызывающий функцию нелинейной оптимизации constr и m-функцию ob_fun_mamdani.m, вычисляющую невязку на обучающей выборке при заданных значениях управляемых переменных. Количество управляемых переменных равно 23:
Координаты максимумов функций принадлежностей крайних термов ("Низкий" и "Высокий") не настраиваются, так как нет никаких логических оснований предполагать, что они будут отличаться от границ диапазонов изменения переменных. В результате настройки получена новая нечеткая модель, записанная в файле mamdani_trained.fis . Оптимальные функции принадлежности нечетких термов и веса правил показаны на рис. 2 и в табл.2, соответственно. Поверхность "входы выход", соответствующая настроенной нечеткой модели типа Мамдани, показана на рис. 1c. Как видно из рисунка, настроенная нечеткая модель хорошо отражает поведение идентифицируемой зависимости, На это также указывает и малое значение средней квадратической невязки как на обучающей выборке 0.252, так и на контрольной выборке из 1024 точек, равное 4.61. Обратим внимание на то, обучающая выборка содержит всего 20 пар точек "входы выход", что меньше количества настраиваемых параметров (23). Несмотря на это, результаты настройки хорошие, что объясняется качественной базой знаний. Фактически, исходная нечеткая база знаний (табл. 1) уже является грубой моделью зависимости (5), и на этапе настройки модель лишь доучивается - значения её параметры незначительно изменяются. Таблица 2 - Нечеткая база знаний для зависимости (5) после настройки
Литература
|
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|