- •Составители: с. П. Соколова, е. А. Кузьмина
- •Содержание
- •Лабораторная работа № 1. Работа в системе matlab
- •1. Методические указания
- •1. Структура и возможности пакета
- •2. Структура данных системы нечеткого вывода
- •3. Разработка нечеткой системы типа Мамдани
- •3.1. Процесс нечеткого вывода
- •3.2. Алгоритм Мамдани (Mamdani)
- •4. Порядок выполнения работы
- •Лабораторная работа № 3. Нечеткая модель оценивания финансовой состоятельности клиентов
- •1.1. Содержательная постановка задачи оценивания финансовой состоятельности клиентов
- •1.2. Нечеткая модель оценивания финансовой состоятельности клиентов
- •1.3. Фаззификация входных и выходных переменных
- •1.4. Формирование базы правил систем нечеткого вывода
- •1.5. Построение нечеткой модели средствами Fuzzy Logic Toolbox и анализ полученных результатов
- •Лабораторная работа № 4. Нечеткая система для анализа и прогнозирования валютных цен на финансовом рынке
- •2. Порядок выполнения работы
- •3. Оформление отчета
- •4. Рекомендованная литература
- •Лабораторная работа № 5. Работа с точечными, многомерными данными в системе matlab
- •1. Деловая графика в системе matlab
- •2. Основные действия над точечными матрицами в системе matlab
- •3. Основные действия над интервальными матрицами
- •4. Многомерные матрицы (массивы)
- •5. Сингулярное разложение многомерной матрицы
- •6. Порядок выполнения работы
- •7. Оформление отчета
- •8. Контрольные вопросы
- •9. Рекомендованная литература
- •Лабораторная работа № 6. Построение интеллектуального модуля симулятора для анализа динамики фондового рынка
- •1. Технический анализ в оценке динамики фондового рынка
- •2. Симулятор для оценивания динамики фондового рынка
- •2.1. Формирование обучающих классов
- •2.2. Формирование таблицы индикаторов на основе «японские свечи»
- •2.3. Формирование многомерной таблицы с различными периодами наблюдений
- •. Формирование многомерной интервальной матрицы индикаторов
- •3. Порядок выполнения работы:
- •4. Контрольные вопросы
- •5. Рекомендованная литература
1. Структура и возможности пакета
Fuzzy Logic Toolbox ‑ это пакет прикладных программ, входящих в состав среды MATLAB. Он позволяет создавать системы нечеткого логического вывода и нечеткой классификации в рамках среды MATLAB, с возможностью их интегрирования в Simulink. Базовым понятием Fuzzy Logic Toolbox является FIS-структура ‑ система нечеткого вывода (Fuzzy Inference System). FIS-структура содержит все необходимые данные для реализации функционального представления о зависимости “входы-выходы” на основе нечеткого логического вывода согласно схеме, приведенной на рис. 2.
Рисунок 2. Нечеткий логический вывод.
Обозначения:
X ‑ входной четкий вектор;
‑ вектор
нечетких множеств, соответствующий
входному вектору X;
‑ результат
логического вывода в виде вектора
нечетких множеств;
Y ‑ выходной четкий вектор.
Fuzzy Logic Toolbox содержит следующие категории программных инструментов:
функции;
интерактивные модули с графическим пользовательским интерфейсом (с GUI);
блоки для пакета Simulink;
демонстрационные примеры.
Вторая категория программных инструментов пакета Fuzzy Logic Toolbox содержит диалоговые модули, которые обеспечивают доступ к большинству функций через графический интерфейс. Кроме того, эти модули обеспечивают удобную среду для проектирования, исследования и внедрения систем на основе нечеткого логического вывода. Для запуска интерактивных модулей достаточно напечатать имя модуля в командной строке. Ниже приведены названия модулей с кратким описанием их назначения:
ANFIS Editor (anfisedit) ‑ модуль для генерирования из данных FIS типа Сугэно, ее обучения с использованием ANFIS алгоритма и тестирования;
Findcluster (findcluster) ‑ модуль кластеризации данных с использованием алгоритма fuzzy c-means и алгоритма нечеткой субтрактивной кластеризации;
Fuzzy Inference System Editor (fuzzy) ‑ основной редактор FIS. Позволяет создавать и редактировать FIS двух типов ‑ Мамдани и Сугено, обеспечивает визуализацию процедуры нечеткого логического вывода и поверхностей “входы-выход”. Для этого модуль fuzzy вызывает следующие GUI-модули: mfedit, ruleedit, ruleview и surfview;
Membership Function Editor (mfedit) ‑ редактор функций принадлежностей. Позволяет выбирать тип функции принадлежности и устанавливать ее параметры в символьном и интерактивном графическом (drag) режимах;
Ruleedit (ruleedit) ‑ редактор базы знаний;
Rule Viewer (ruleview) ‑ модуль визуализации процедуры нечеткого логического вывода. Обеспечивает вывод графической диаграммы нечеткого вывода по каждому правилу, включая процедуры фаззификации, агрегации и дефаззификации. Позволяет вводить значения входных переменных в символьном и интерактивном графическом (drag) режимах.
Все GUI-модули, за исключением Findcluster, динамически обмениваются данными и могут быть вызваны друг из друга (рис. 3).
Рисунок 3. Взаимодействие GUI-модулей нечеткого вывода..
Кроме GUI-модулей, Fuzzy Logic Toolbox содержит функции, которые могут быть вызваны непосредственно путем набора имени функции в командном окне (command line) или из собственных пользовательских приложений. Большинство из этих функций представляют собой функции MATLAB в виде m-файлов. В этом случае пользователь может посмотреть запрограммированные в этих функциях алгоритмы, а также редактировать и корректировать эти файлы. Ниже приведены названия функций с кратким описанием их назначения:
addmf ‑ добавление функции принадлежности в FIS;
addrule ‑ добавление правила в FIS;
addvar ‑ добавление переменной в FIS;
anfis ‑ обучение FIS типа Сугено (Sugeno type);
convertfis ‑ преобразование FIS-матрицы (Fuzzy Logic Toolbox v.1) в FIS-структуру (Fuzzy Logic Toolbox v.2);
defuzz ‑ дефаззификация нечеткого множества;
discfis ‑ дискретизация функций принадлежности всех термов, входящих в FIS;
dsigmf ‑ функция принадлежности в виде разности между двумя сигмоидными функциями;
evalfis ‑ выполнение нечеткого логического вывода;
evalmf ‑ вычисление значений произвольной функции принадлежности;
evalmmf ‑ расчет степеней принадлежностей для нескольких функций принадлежностей;
fcm ‑ поиск кластеров по алгоритму fuzzy c-means;
findrow ‑ нахождение строки в матрице, совпадающей с входной строкой;
fstrvcat ‑ конкатенация матриц различного размера;
fuzarith ‑ нечеткий калькулятор;
gauss2mf ‑ двухсторонняя гауссовская функция принадлежности;
gaussmf ‑ гауссовская функция принадлежности;
gbellmf ‑ обобщенная колокообразная функция принадлежности;
genfis1 ‑ генерирование из данных исходной FIS типа Сугено без использования кластеризации;
genfis2 ‑ генерирование из данных исходной FIS типа Сугено с использованием субтрактивной кластеризации;
genparam ‑ генерирование исходных параметров функций принадлежности для обучения ANFIS (Adaptive-Network-based Fuzzy Inference System);
gensurf ‑ генерирование поверхности “входы-выход”, соответствующей FIS;
getfis ‑ получение свойств FIS;
mam2sug - преобразование FIS типа Мамдани в FIS типа Сугено;
mf2mf ‑ пересчет параметров встроенных функций принадлежности различных типов;
newfis ‑ создание новой FIS;
parsrule ‑ вставка в FIS правил, заданных в виде предложений на естественном языке;
plotfis ‑ вывод основных параметров FIS в виде графической схемы;
plotmf ‑ вывод графиков функций принадлежности термов одной переменной;
probor ‑ вероятностная реализация логической операции ИЛИ;
psigmf ‑ произведение двух сигмоидных функций принадлежности;
readfis ‑ загрузка FIS из файла;
rmmf - удаление функции принадлежности терма из FIS;
rmvar ‑ удаление переменной из FIS;
setfis ‑ назначение свойств FIS;
showfis ‑ вывод на экран в текстовом формате данных, составляющих FIS-структуру;
showrule ‑ вывод базы знаний FIS;
sigmf ‑ сигмоидная функция принадлежности;
smf ‑ s-подобная функция принадлежности;
subclust ‑ оценка количества кластеров в субтрактивной кластеризации;
trapmf ‑ трапециевидная функция принадлежности;
trimf ‑ треугольная функция принадлежности;
writefis ‑ сохранение FIS на диске;
zmf ‑ z-подобная функция принадлежности;
distfcm ‑ расчет расстояния в евклидовой метрике;
initfcm ‑ генерирование исходной матрицы степеней принадлежности для нечеткой c-means кластеризации;
isfis ‑ проверка структуры данных системы нечеткого логического вывода.
