46
Задача: Обучить ГС вычислять гипотенузу согласно теореме Пифагора Теорема: Сумма квадратов катетов равна квадрату гипотенузы.
Входы:
К1 (длина первого катета) К2 (длина второго) Выход:
Г 
К12 К 22
Решение задачи при помощи ГС ANFIS
1. Запуск редактора Anfis Editor из среды Matlab (рисунок 19).
Рисунок 19 – Запуск редактора Anfis путём вызова из окна команд
После выполнения команды anfisedit открывается окно редактора гибридной системы Anfis, представленное на рисунке 20.
Рисунок 20 – Окно редактора с настройками по умолчанию
47
2. Определёние количества входных и выходных переменных в режиме обучения.
2.1. Выбор типа загружаемых данных: Training (данные для обучения) и хранилища данных, откуда будет произведена загрузка: disk (данные хранятся на диске) представлен на рисунке 21.
Рисунок 21 – Выбор типа и хранилища данных
2.2. Нажатие кнопки Load Data позволяет выбрать файл с данными для обучения (рисунок 22).
Рисунок 22 – Выбор файла с данными для обучения
Файл должен иметь текстовую структуру. Каждая строка файла представляет собой значения входов и выходов, заданных числами, разделённых пробелами. Последнее в строке число – значение выхода, все предыдущие – значения входов.
48
В рассматриваемой задаче данные для обучения были подготовлены при помощи программы Excel. Столбцы А и В задают значения катетов, на основе которых вычисляется значение гипотенузы в столбце С. Было получено 100 строк обучающих примеров. Содержание текстового файла представлено на рисунке 23.
Рисунок 23 – Содержание файла с исходными данными для обучения
Далее, полученная обучающая выборка была приведена к требуемому ANFIS входному формату (рисунок 24).
Рисунок 24 – Преобразованный файл с исходными данными для обучения
49
На основании введённых данных программа строит график. Окно редактора с графиком, реализованным по исходным данным, представлено на рисунке 25.
Рисунок 25 – Окно редактора после построения графика
3. Генерируем ГС нажатием клавиши «Generate FIS» (рисунок 26).
Рисунок 26 – Генерирование ГС
3.1. Задаём:
- количество нечётких меток для каждого входа через пробел. В нашем случае каждому из двух входов присвоено 3 нечётких метки;
-тип функции принадлежности входа: треугольная функция – trimf;
-тип функции принадлежности выхода: линейная – linear.
50
Все заданные параметры показаны на рисунке 27.
Рисунок 27 – Задание параметров: количество меток, типы функций принадлежности входа и выхода
4. Вернувшись в главное окно редактора, просматриваем структуру получившейся гибридной системы, нажав кнопку Structure (рисунок 28).
Рисунок 28 – Структура получившейся гибридной системы