MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes
Проектирование систем управления\Fuzzy Logic Toolbox& С.Д.Штовба.cl

quot;

С.Д.Штовба Введение в теорию нечетких множеств и нечеткую логику"

В оглавление \ К предыдущему разделу

8. Настройка нечетких моделей типа Мамдани

При написании материала этого раздела использовались источники [1-8].

В модели типа Мамдани взаимосвязь между входами X=(x1,x2,...,xn) и выходом y определяется нечеткой базой знаний следующего формата:

ЕСЛИ
ИЛИ
...
ИЛИ
ТО

где ai,jp - лингвистический терм, которым оценивается переменная xi в строчке с номером jp ();
kj - количество строчек-конъюнкций, в которых выход y оценивается лингвистическим термом dj ;
- весовой коэффициент правила с порядковым номером jp число из диапазона [0, 1], задающее относительный вес правила при нечетком логическом выводе;
m - количество термов, используемых для лингвистической оценки выходной переменной.

С помощью операций Y (ИЛИ) и I (И) нечеткую базу знаний перепишем в более компактном виде:

(1)

Все лингвистические термы в базе знаний (1) представляются как нечеткие множества, заданные соответствующими функциями принадлежности. База знаний (1) может трактоваться как некоторое разбиение пространства влияющих факторов на подобласти с размытыми границами, в каждой из которых функция отклика принимает значение, заданное соответствующим нечетким множеством. Правило в базе знаний представляет собой "информационный сгусток", отражающий одну из особенностей зависимости "входы выход". Такие "сгусти насыщенной информации" или "гранулы знаний" могут рассматриваться как аналог вербального кодирования, которое, как установили психологи, происходит в человеческом мозге при обучении. Видимо поэтому, формирование нечеткой базы знаний в конкретной предметной области, как правило, не составляет трудностей для эксперта.

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

- функция принадлежности входа xi нечеткому терму ai,jp, , т. е. ,

- функция принадлежности выхода нечеткому терму dj, т. е. .

Степень принадлежности входного вектора нечетким термам dj из базы знаний (2) определяется следующей системой нечетких логических уравнений:

, (2)

где - операция из s-нормы (t-нормы), т.е. из множества реализаций логической операций ИЛИ (И). Наиболее часто используются следующие реализации: для операции ИЛИ - нахождение максимума и для операции И - нахождение минимума.

Нечеткое множество , соответствующее входному вектору X* , определяется следующим образом:

,

где imp - импликация, обычно реализуемая как операция нахождения минимума;
agg - аггреатирование нечетких множеств, которое наиболее часто реализуется операцией нахождения максимума.

Четкое значение выхода y , соответствующее входному вектору X* определяется в результате дефаззификации нечеткого множества . Наиболее часто применяется дефаззификация по методу центра тяжести:

,

где - символ интеграла

Будем предполагать, что существует выборка экспериментальные данных, связывающая входы X=(x1,x2,...,xn) с выходом y исследуемой зависимости:

, (3)

где Xr=(xr,1,xr,2,...,xr,n) - вектор входов и yr выход в r-паре;
M - объем выборки.

Задача настройки состоит в нахождении нечеткой модели F , обеспечивающей минимальное значение среднеквадратической невязки:

, (4)

где F(Xr) - значение выхода нечеткой модели при значении входов, заданных вектором Xr.

Выход нечеткой модели зависит от ее структуры - правил базы знаний и параметров: функций принадлежностей, весовых коэффициентов правил, реализаций логических операций, метода дефаззификации. Нахождение параметров нечеткой модели, обеспечивающих минимальное значение критерия (4) и является задачей настройки. Обозначим через P - вектор параметров функций принадлежностей термов входных и выходной переменных нечеткой модели и через W - вектор весовых коэффициентов правил базы знаний. Тогда настройка нечеткой модели типа Мамдани сводится к следующей задаче математического программирования: найти такой вектор (P,W) чтобы:

.

В приведенной выше задаче оптимизации на управляемые переменные P обычно накладывают ограничения, обеспечивающие линейную упорядоченность элементов терм-множеств. Такие ограничения не позволяют алгоритмам оптимизации сделать, например, терм "Низкий" выше "Высокого". Кроме того, ядра нечетких множеств не должны выходить за пределы диапазонов изменения соответствующих переменных. Что касается вектора W , то его координаты должны находиться в диапазоне [0, 1].

Настройка моделей типа Мамдани в пакете Fuzzy Logic Toolbox не предусмотрена. Мы предлагаем для решения этой задачи использовать функции нелинейной оптимизации из матлабовского пакета Optimization Toolbox. Применение пакетов Fuzzy Logic Toolbox и Optimization Toolbox для настройки нечеткой модели типа Мамдани проиллюстрируем на примере идентификации нелинейной зависимости

(5)

в диапазоне . Исходными данными для идентификации являются график функции (рис. 1a) и обучающая выборка в форме (3), приведенная в файле tr_set_mamdani.dat.

Входы и выход нечеткой модели будем рассматривать как лингвистические переменные, значения которых определяются из следующих терм-множеств: {"Низкий", "Средний", "Высокий"} для x1 и x2 , и {"Низкий", "Ниже Среднего", "Средний", "Выше Среднего", "Высокий"} для y . Формализацию термов осуществим с помощью симметричной гауссовской функции принадлежности (gaussmf):

где x - элемент универсального множества,
h - параметр функции принадлежности координата максимума;
c - параметр функции принадлежности коэффициент концентрации.

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

В результате визуального наблюдения графика идентифицируемой зависимости (рис. 1a) сформулируем семь правил базы знаний (табл. 1). Исходная нечеткая модель представлена файлом mamdani_0.fis. Поверхность "входы-выход" исходной нечеткой модели показана на рис.1b. Как видно из рисунка до настройки нечеткая модель отражает основные особенности идентифицируемой зависимости.

Таблица 1 - Нечеткая база знаний для зависимости (5)
x1 x2 y
Низкий Низкий Высокий
Низкий Средний Низкий
Низкий Высокий Высокий
Средний - Средний
Высокий Низкий Выше среднего
Высокий Средний Ниже среднего
Высокий Высокий Выше среднего

Для настройки нечеткой модели будем использовать программу, приведенную в файле train_mam.m . Это m-сценарий, вызывающий функцию нелинейной оптимизации constr и m-функцию ob_fun_mamdani.m, вычисляющую невязку на обучающей выборке при заданных значениях управляемых переменных. Количество управляемых переменных равно 23:

  • 7 весовых коэффициентов правил базы знаний;
  • 11 коэффициентов концентраций функций принадлежностей термов входных и выходной переменных;
  • 2 координаты максимумов функций принадлежностей термов "Средний" входных переменных;
  • 3 координаты максимумов функций принадлежностей не крайних термов выходной переменной (т.е. термов "Ниже Среднего", "Средний" и "Выше Среднего").

Координаты максимумов функций принадлежностей крайних термов ("Низкий" и "Высокий") не настраиваются, так как нет никаких логических оснований предполагать, что они будут отличаться от границ диапазонов изменения переменных.

В результате настройки получена новая нечеткая модель, записанная в файле mamdani_trained.fis . Оптимальные функции принадлежности нечетких термов и веса правил показаны на рис. 2 и в табл.2, соответственно. Поверхность "входы выход", соответствующая настроенной нечеткой модели типа Мамдани, показана на рис. 1c. Как видно из рисунка, настроенная нечеткая модель хорошо отражает поведение идентифицируемой зависимости, На это также указывает и малое значение средней квадратической невязки как на обучающей выборке 0.252, так и на контрольной выборке из 1024 точек, равное 4.61. Обратим внимание на то, обучающая выборка содержит всего 20 пар точек "входы выход", что меньше количества настраиваемых параметров (23). Несмотря на это, результаты настройки хорошие, что объясняется качественной базой знаний. Фактически, исходная нечеткая база знаний (табл. 1) уже является грубой моделью зависимости (5), и на этапе настройки модель лишь доучивается - значения её параметры незначительно изменяются.

Таблица 2 - Нечеткая база знаний для зависимости (5) после настройки
x1 x2 y
Низкий Низкий Высокий 0,992
Низкий Средний Низкий 0,551
Низкий Высокий Высокий 0,927
Средний - Средний 0,498
Высокий Низкий Выше среднего 0,043
Высокий Средний Ниже среднего 0,142
Высокий Высокий Выше среднего 0,383

Рисунок 1 - Поверхности " входы-выход"
a) исходной зависимости (5);
b) ненастроенной нечеткой модели;
c) нечеткой модели после настройки.

Рисунок 2 - Функции принадлежности после настройки

Литература

  1. Ротштейн А.П. Интеллектуальные технологии идентификации: нечеткая логика, генетические алгоритмы, нейронные сети. - Винница: УНИВЕРСУМ-Винница, 1999. - 320 с
  2. Rotshtein A. Desig and Tuning of Fuzzy Rule-Based System for Medical Diagnosis. In Fuzzy and Neuro-Fuzzy Systems in Medicine (Teodorescu N.H. (ed.)). CRC-Press.-1998.-pp.243-289.
  3. Ротштейн А.П., Кательников Д.И. Идентификация нелинейных зависимостей нечеткими базами знаний // Кибернетика и системный анализ. - 1998. - №5. - С. 53-61.
  4. Ротштейн А.П., Штовба С.Д. Влияние методов дефаззификации на скорость настройки нечеткой модели // Кибернетика и системный анализ. 2002. №5. - С.169-176.
  5. Штовба С.Д. Идентификация нелинейных зависимостей с помощью нечеткого логического вывода в пакете MATLAB // Exponenta Pro: Математика в приложениях. - 2003.- №2 (принято в печать).
  6. Zimmermann H.-J. Fuzzy Set Theory and its Applications. 3rd ed.- Dordrecht: Kluwer Academic Publishers.- 1996. 315p
  7. Fuzzy Logic Toolbox. User's Guide, Version 2. The MathWorks, Inc., 1999.
  8. Optimization Toolbox. User's Guide, Version 2. The MathWorks, Inc., 1999.

В оглавление \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика