Визуализация нечеткого логического вывода

Визуализация нечеткого логического вывода осуществляется с помощью GUI-модуля Rule Viewer. Этот модуль позволяет проиллюстрировать ход логического вывода по каждому правилу, получение результирующего нечеткого множества и выполнение процедуры дефаззификации. Rule Viewer может быть вызван из любого GUI-модуля, используемого с системами нечеткого логического вывода, командой View rules …меню Viewили нажатием клавиш Ctrl+4. Вид Rule Viewer для системы логического вывода tipper с указанием функционального назначения основных полей графического окна приведен на рис. 7.15.

Рисунок 7.15 – Визуализация логического вывода для системы tipperс помощью Rule Viewer

Rule Viewer содержит четыре меню - File, Edit, View, Options,дваполя ввода ввода информации – Inputи Plot pointsи кнопки прокрутки изображения влево-вправо (left-right), вверх-вниз (up-down). В нижней части графического окна расположены также кнопки Helpи Close, которые позволяют вызвать окно справки и закрыть редактор, соответственно.

Каждое правило базы знаний представляется в виде последовательности горизонтально расположенных прямоугольников. При этом первые два прямоугольника (см. рис. 7.15) отображают функции принадлежностей термов посылки правила (ЕСЛИ-часть правила), а последний третий прямоугольник соответствует функции принадлежности терма-следствия выходной переменной (ТО-часть правила). Пустой прямоугольник в визуализации второго правила означает, что в этом правиле посылка по переменной food отсутствует (food is none). Желтая заливка графиков функций принадлежностей входных переменных указывает насколько значения входов, соответствуют термам данного правила. Для вывода правила в формате Rule Editorнеобходимо сделать однократный щелчок левой кнопки мыши по номеру соответствующего правила. В этом случае указанное правило будет выведено в нижней части графического окна.

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

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

  • путем ввода численных значений в поле Input;
  • с помощью мыши, путем перемещения линий-указателей красного цвета.

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

В поле Plot pointsзадается количество точек дискретизации для построения графиков функций принадлежности. Значение по умолчанию – 101.

Меню Fileи Viewодинаковые для всех GUI-модулей используемых с системами нечеткого логического вывода. Они подробно описаны в разделе 7.1.

Меню Edit

Общий вид меню приведен на рис. 7.16.

Рисунок 7.16. Меню Edit

Команда FIS Properties…открывает FIS-редактор. Эта команда может быть также выполнена нажатием Ctrl+1.

Команда Membership Functions…открывает редактор функций принадлежностей. Эта команда может быть также выполнена нажатием Ctrl+2.

Команда Rules…открывает редактор базы знаний. Эта команда может быть также выполнена нажатием Ctrl+3.

Меню Options

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

  • Verbose - лингвистический;
  • Symbolic –логический;
  • Indexed –индексированный.

· 7.5. Визуализация поверхности “входы-выход”

· Визуализация поверхности “входы-выход” осуществляется с помощью GUI-модуля Surface Viewer. Этот модуль позволяет вывести графическое изображение зависимости значения любой выходной переменной от произвольных двух (или одной) входных переменных. Surface Viewer может быть вызван из любого GUI-модуля, используемого с системами нечеткого логического вывода, командой View surface …меню Viewили нажатием клавиш Ctrl+4. Общий вид модуля Surface Viewer с указанием функционального назначения основных полей графического окна приведен на рис. 7.17.

·

· Рисунок 7.17. Визуализация поверхности “входы-выход” для системы tipper с помощью Surface Viewer

· Surface Viewerсодержит верхних системных меню - File, Edit, View, Options,три меню выбора координатных осей - X (input), Y (input), Z (output),три поля ввода ввода информации – X girds, Y girds,Ref. Inputи кнопку Evaluateдля построения поверхности при новых параметрах. В нижней части графического окна расположены также кнопки Helpи Close, которые позволяют вызвать окно справки и закрыть редактор, соответственно.

· Surface Viewerпозволяет вращать поверхность “входы-выход” с помощью мыши. Для этого необходимо позиционировать курсор мыши на поверхности “входы-выход”, нажать на левую кнопку мыши и не отпуская ее повернуть графическое изображение на требуемый угол.

· Поля X girdsи Y girdsпредназначены для задания количества точек дискретизации по осям Xи Y, для построения поверхности “входы-выход”. По умолчанию количество дискрет по каждой оси равно 15. Для изменения этого значения необходимо установить маркер на поле X girds(Y girds) и ввести новое значение.

· Поле Ref. Inputпредназначено для задания значений входных переменных, кроме тех, которые ассоциированы с координатными осями. По умолчанию это значения середины интервалов изменения переменных. Для изменения этого значения необходимо установить маркер на поле Ref. Inputи ввести новые значение.

· Меню Fileи Viewодинаковые для всех GUI-модулей используемых с системами нечеткого логического вывода. Они подробно описаны в разделе 7.1.

· Меню координатных осей

· Меню X (input), Y (input), Z (output)позволяют поставить в соответствие осям координат входные и выходные переменные. При этом входные переменные могут отображаться только по осям Xи Y, а выходные переменные только по оси Z. В Surface Viewerпредусмотрена возможность построения однофакторных зависимостей “вход-выход”. Для этого в меню второй координатной оси (X (input) или Y (input)) необходимо выбрать none.

· Меню Edit

· Общий вид меню приведен на рис. 7.16. Назначения команд меню описано в разделе 7.4.

· Меню Options

· Меню Options изображено на рис. 7.18. Оно содержит команды Plot, Color MapиAlways evaluate.

·

· Рисунок 7.18. Меню Options

· Команда Plot позволяет управлять форматом вывода поверхности “входы-выход”. При выборе этой команды появляется меню (рис. 7.19) в котором необходимо выбрать формат вывода поверхности. На рис. 7.20 приведены поверхности “входы-выход” для системы tipperдля всех поддерживаемых форматов.

·

· Рисунок 7.19. Меню Plot

·

· Рисунок 7.20. Примеры форматов поверхности “входы-выход”

· Команда Color Map позволяет управлять палитрой цветов при выводе поверхности “входы-выход”. При выборе этой команды появляется меню, в котором необходимо выбрать одну из палитр:

· default– использовать палитру, установленную по умолчанию;

· blue –холодная сине-голубая палитра;

· hot – теплая палитра, состоящая из черного, красного, желтого и белого цветов;

· HSV – палитра насыщенных цветов: красный, желтый, зеленый, циан, голубой, мажента, красный.

· Команда Always evaluateпозволяет установить / отменить режим автоматического, т.е. без нажатия кнопки Evaluate, перерисовывания поверхности “входы-выход" при любом изменении параметров.

ANFIS-редактор

ANFIS является аббревиатурой Adaptive Neuro-Fuzzy Inference System – (адаптивная нейро-нечеткая система). ANFIS-редактор позволяет автоматически синтезировать из экспериментальных данных нейро-нечеткие сети. Нейро-нечеткую сеть можно рассматривать как одну из разновидностей систем нечеткого логического вывода типа Сугэно. При этом функции принадлежности синтезированных систем настроены (обучены) так, чтобы минимизировать отклонения между результатами нечеткого моделирования и экспериментальными данными. Загрузка ANFIS-редактора осуществляется по команде anfisedit.В результате выполнения этой команды появится графическое окно, изображенное рис. 7.21. На этом же рисунке указаны функциональные области ANFIS-редактора, описание которых приведено ниже.

Рисунок 7.21. Основное окно ANFIS-редактора

ANFIS-редактор содержит 3 верхних меню - File, Editи View, область визуализации, область свойств ANFIS, область загрузки данных, область генерирования исходной системы нечеткого логического вывода, область обучения, область тестирования, область вывода текущей информации, а также кнопки Helpи Close, которые позволяют вызвать окно справки и закрыть ANFIS-редактор, соответственно.

Меню Fileи Viewодинаковые для всех GUI-модулей используемых с системами нечеткого логического вывода. Они подробно описаны в разделе 7.1.

Меню Edit

Общий вид меню приведен на рис.7.22.

Рисунок 7.22. Меню Edit

Команда Undoотменяет ранее совершенное действие. Выполняется также по нажатию Ctrl+Z.

Команда FIS Properties…открывает FIS-редактор. Эта команда может быть также выполнена нажатием Ctrl+1.

Команда Membership Functions…открывает редактор функций принадлежностей. Эта команда может быть также выполнена нажатием Ctrl+2.

Команда Rules…открывает редактор базы знаний. Эта команда может быть также выполнена нажатием Ctrl+3.

Команда Anfis…открывает ANFIS-редактор. Эта команда может быть также выполнена нажатием Ctrl+3. Заметим, что данная команда, запущенная из ANFIS-редактора не приводит к выполнению каких-либо действий, так этот редактор уже открыт. Однако, в меню Edit других GUI-модулей, используемых с системами нечеткого логического вывода, добавляется команда Anfis…,позволяющая открыть ANFIS-редактор из этих модулей.

Область визуализации

В этой области выводится два типа информации:

  • при обучении системы – кривая обучения в виде графика зависимости ошибки обучения от порядкового номера итерации.
  • при загрузке данных и тестировании системы – экспериментальные данные и результаты моделирования.

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

голубая точка (.) – теструющая выборка;

голубая окружность (o) – обучающая выборка;

голубой плюс (+) – контрольная выборка;

красная звездочка (*) – результаты моделирования.

Область свойств ANFIS

В области свойств ANFIS (ANFIS info) выводится информация о количестве входных и выходных переменных, о количестве функций принадлежностей для каждой входной переменной, а также о количестве строчек в выборках. В этой области расположены две кнопки Structureи Clear Plot.

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

Нажатие кнопки Clear Plotпозволяет очистить область визуализации.

Рисунок 7.23. Пример структуры нейро-нечеткой сети

Область загрузки данных

В области загрузки данных (Load data) расположены:

  • меню выбора типа данных (Type), содержащее альтернативы:
    • Traning -обучающая выборка;
    • Testing - тестирующая выборка;
    • Checking - контрольная выборка;
    • Demo - демонстрационный пример;
  • меню выбора источника данных (From), содержащее альтернативы:
    • disk – диск;
    • worksp.-рабочая область MatLab;
  • кнопка загрузки данных Load Data…, по нажатию которой появляется диалоговое окно выбора файла, если загрузка данных происходит с диска, или окно ввода идентификатора выборки, если загрузка данных происходит из рабочей области;
  • кнопка очистки данных Clear Data.

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