Визуализация нечеткого логического вывода
Визуализация нечеткого логического вывода осуществляется с помощью 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-редактора можно загружать данные одного формата, т.е. количество входных переменных в выборках должно быть одинаковым.