MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Проектирование систем управления\Fuzzy Logic Toolbox

Полезные советы от ведущего раздела

  1. Количество входных переменных в нечеткой модели
  2. Количество термов для лингвистической оценки переменных
  3. Количество правил в базе знаний
  4. Функции принадлежности крайних термов
  5. Проблема CenterFig
  6. Выбор количества функций принадлежности в GUI-модуле Membership Function Editor
  7. Как сохранить прозрачность нечетких моделей при обучении

Количество входных переменных в нечеткой модели

В общем случае количество входных переменных модели определяется задачей, целью и используемыми средствами моделирования. Основу нечеткой модели составляют формализованные с помощью теории нечетких множеств лингвистические высказывания экспертов. При работе с такого рода вербальной информацией полезно помнить о правиле “магического числа" 7± 2. Это правило было установлено в середине 50-х годов группой психологов, работающих под руководством Миллера по заказу военно-морского флота США. Согласно этому правилу в оперативной памяти человека может одновременно удерживаться не более 7± 2 понятий-признаков. Поэтому надо стремится к тому, чтобы количество входных переменных модели не превышало “магического числа" 7± 2.

Кроме того, построение адекватной модели при большом количестве входных переменных требует большого объема базы знаний, количество правил в которой экспоненциально возрастает с увеличением входов модели.

Количество термов для лингвистической оценки переменных

В общем случае количество термов, необходимых для лингвистической оценки определяется содержательной интерпретацией переменной. Минимальное количество термов равно двум. В этом случае мы приходим к бинарной оценки с нечеткими границами. Максимальное количество термов для лингвистической оценки одной переменной должно удовлетворять правилу “магического числа" 7± 2. Десятилетний опыт разработки систем нечеткого логического вывода в Винницком государственном техническом университете свидетельствует о том, что в очень редких случаях мощность терм-множества превышала 7. Наиболее распространенные трех- и пяти- элементные терм-множества, например, {“низкий", "средний", "высокий"} и {“низкий", “ниже среднего", "средний", "выше среднего", "высокий"}.

Количество правил в базе знаний

Отличительной особеностью систем нечеткого логического вывода является то, что для адекватное моделирование реальности может быть достигнуто при небольшом количестве правил в базе знаний. Необходимое количество правил обычно значительно меньше их полного перебора:

,

где n – количество входных переменных;
 - мощность терм-множества для оценки входной переменной.

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

  1. должно существовать хотя бы одно правило для каждого терма выходной переменной;
  2. для любого терма входной переменной должно существовать хотя бы одно правило, в котором этот терм используется в качестве посылки;
  3. для произвольного вектора входных переменных должно существовать хотя бы одно правило, степень выполнения которого больше нуля. Другими словами, правила базы знаний должны покрывать всю предметную область.

Функции принадлежности крайних термов

Крайними термами будем называть первый и последний элементы линейно упорядоченного по принципу от меньшего к большему терм-множества. Например, для терм-множества {"Низкий", "Средний", "Высокий", "Очень Высокий"}, используемого для лингвистической оценки роста человека, крайними термами являются "Низкий" и "Очень высокий". При формировании функций принадлежности надо стремится к тому, чтобы степени принадлежностей границ интервала крайним термам были равны единице. В этом случае выполняется естественное правило, заключающееся в том, что чем меньше (больше) значение переменной, тем в большей степени оно соответствует крайнему терму "Низкий" ("Очень Высокий").

В случае, когда степени принадлежностей границ интервала крайним термам не равны единице (см. рисунок), могут возникнуть следующие неприятности:

  1. потеря прозрачности нечеткой модели. Так, для функций принадлежности, изображенных на рисунке, непонятно почему человек с ростом 165 см имеет более высокую степень принадлежности терму "Низкий", чем человек с ростом 160 см;
  2. получение результатов логического вывода, противоречащих здравому смыслу. Так, для функций принадлежности, изображенных на рисунке, степень принадлежности человека с ростом 200 см всем термам ("Низкий", "Средний", "Высокий", "Очень Высокий") равна нулю. В этом случае в пакете Fuzzy Logic Toolbox в качестве результата нечеткого логического вывода будет выбрана середина диапазона изменения выходной переменной. Другими словами, на границах интервалах выходное значение скачком изменяется до значения середины интервала выходной переменной.

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

Проблема Centerfig

Функция centerfig предназначена для вывода диалогового графического окна в центр экрана. Эта функция входит в состав Control System Toolbox, однако, вызывается некоторыми GUI-модулями Fuzzy Logic Toolbox v.2.1. При выборочной инсталяции Матлаба возможен случай установки Fuzzy Logic Toolbox без Control System Toolbox. В этом случае работа большинства GUI-модулей Fuzzy Logic Toolbox будет сопровождаться ошибками, связанных с невозможностью выполнения функции centerfig. Для выхода из этой ситуации возможны три способа:

  • дополнительная инсталяция Control System Toolbox;
  • копирование файла centerfig.m в любую рабочую директорию MatLab;
  • удаление из GUI-модулей всех строчек, в которых происходит вызов centerfig, а именно – строчка № 53 в файле mfdlg.m, строчка № 59 в файле wsdlg.m и строчка № 57 в файле cmfdlg.m. Все эти файлы находятся в папке $MATLAB\toolbox\fuzzy\fuzzy\, где $MATLAB – корневая директория MatLab.

Последний способ решения проблемы centerfig рекомендован на сайте www.mathworks.com. В этом случае появления диалоговых графических окон в центре экрана не гарантируется, что, однако, никак не влияет на корректную работу с Fuzzy Logic Toolbox. Заметим, что в последней версии Fuzzy Logic Toolbox v.2.1.2 (R13) ошибка с вызовом этой функции исправлена.

Выбор количества функций принадлежности в GUI-модуле Membership Function Editor

В GUI-модуле Membership Function Editor по умолчанию установлено три функции принадлежности треугольного типа для каждой переменой. При необходимости использовании другого количества функций принадлежности или функций принадлежности других типов наиболее простым способом является:

  1. удаление всех функций принадлежности с помощью команды Remove All Mfs меню Edit;
  2. установка нужного количества функций принадлежностей необходимого типа с помощью команды Add MFs… меню Edit.

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

Как сохранить прозрачность нечетких моделей при обучении

Обучение нечеткой модели состоит в подборе таких ее параметров, которые обеспечивают минимальное отклонение между результатами моделирования и экспериментальными данными. Управляемыми переменными в соответствующей задаче оптимизации выступают параметры функций принадлежности нечетких термов, весовые коэффициенты правил а также коэффициенты в заключениях правил нечетких баз знаний типа Сугено.

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

  • неинтерпретабельность крайнего терма - уменьшения значений x от 9 до 0 уменьшает степень принадлежности нечеткому множеству "Низкий", хотя должно быть наоборот;
  • потеря линейной упорядоченности терм-множества через разную размазаность функций принадлежности - на интервале [0, 5] нечеткое множество "Средний" больше нечеткого множества "Низкий", а на интервале [0, 18] нечеткое множество "Средний" больше нечеткого множества "Ниже среднего", хотя должно быть наоборот;
  • неотличимость функций принадлежности соседних термов, которое на рис. 1 имеет место для нечетких множеств "Выше среднего" и "Высокий", что может внести противоречия в базу знаний.


Рисунок 1. Потеря содержательной интерпретации нечетких множеств после обучения нечеткой модели

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

Во-первых, после обучения терм-множества должны оставаться линейно упорядоченными, т.е. нечеткое множество "Низкий" должно быть везде меньше нечетких множеств "Средний", "Высокий" и т.п. Формально, условия линейной упорядоченности запишем таким образом:

Чтобы не проверять степени принадлежности на всем универсальном множестве , условие (1) аппроксимируют следующим образом:

core("Низкий") <...< core("Средний") <…< core("Высокий"),

где core - ядро нечеткого множества.

Для недопущения эффекта неотличимости функций принадлежности предлагается ограничить снизу расстояние между ядрами соседних нечетких множеств. В результате условие (1) преобразуется к виду:

где Δx - константа, устанавливающая минимальное расстояние между ядрами нечетких множеств соседних термов.

Используя только условие (2) можно нарушить линейную упорядоченность терм-множества через разную размазаность функций принадлежности (см. рис. 1). Чтобы не допустить таких нарушений введем дополнительные ограничения на уровень размазаности нечетких множеств. При использовании гауссовых или колокольных функций принадлежности сделать это проще всего сузив диапазон возможных значений коэффициента концентрации с (0,∞) до, например, интервала чисел одного порядка.

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

В-третьих, будем изменять (точнее говоря уменьшать) веса только тех правил, в достоверности которых эксперт сомневается. Если к уровню интерпретабельности базы знаний предъявляются высокие требования, тогда веса правил не настраиваем, а оставляем их равными 1.

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

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

В Fuzzy Logic Toolboxe настройка нечетких моделей типа Сугено осуществляется функцией anfis. Она автоматически настраивает все параметры модели, поэтому для обучения нечеткой модели с учетом выше описанных ограничений необходимо разработать программы обучения самостоятельно. В качестве прототипа можно использовать программы, приведенные в разделах "4.9. Нечеткая модель безошибочности ввода текста оператором" и "4.10. Нечеткая модель обнаружения зрательного сигнала оператором".

При использовании в нечетком выводе Мамдани дефаззификации по методу центра тяжести выявлен эффект сужения интервала выходных значений. В прозрачных нечетких моделях функции принадлежности крайних термов достигают максимума на границах интервала возможных значений выходной переменной. Обозначим крайние термы как "Низкий" и "Высокий". Для получения на выходе нечеткой модели наименьшего значения необходимо, чтобы степень выполнения правила с заключением "Низкий" равнялась 1, а степени выполнения остальных консеквентов были нулевыми. Тогда результат логического вывода находиться дефаззификацией нечеткого множества "Низкий". Аналогично, наибольшим возможным значением на выходе нечеткой модели будет результат дефаззификации нечеткого множества "Высокий". Чем размазанее нечеткие множества "Низкий" и "Высокий", тем дальше результаты дефаззификации от координат максимумов функций принадлежности, и, соответственно, от необходимых границ значений выходной переменной. Этот эффект иллюстрирует рис. 2.


Рисунок 2. Сужение интервала выходных значений при дефаззификации по методу центра тяжести

Для устранения этой проблемы предлагаются 2 способа.

Первый способ (рис. 2б) состоит в выносе координат максимумов функций принадлежности за границы интервала возможных значений выходной переменной. Расстояние между старыми и новыми координатами максимумов должно быть таким, чтобы результаты дефаззификации совпадали с границами возможных значений выхода нечеткой модели.

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

Таким образом, предложены правила сохранения прозрачности нечеткой модели при обучении. Они уменьшают размерность соответствующей оптимизационной задачи и сужают область поиска. Компьютерные эксперименты показываю, что введение ограничения почти не влияют на точность обучения нечеткой модели.

 


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

Система Orphus

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