11
31.7909 31.7756 31.7756 31.7756 31.8226
31.7756 31.7756 31.7756 31.8226 31.8157
31.7756 31.7756 31.8226 31.8157 31.8203
31.7756 31.8226 31.8157 31.8203 31.8225
31.8226 31.8157 31.8203 31.8225 31.8231
31.8157 31.8203 31.8225 31.8231 31.8224
31.8203 31.8225 31.8231 31.8224 31.823
31.8225 31.8231 31.8224 31.823 31.8248
31.8231 31.8224 31.823 31.8248 31.8222
31.8224 31.823 31.8248 31.8222 31.8416
31.823 31.8248 31.8222 31.8416 31.8382
31.8248 31.8222 31.8416 31.8382 31.84
31.8222 31.8416 31.8382 31.84 31.84
31.8416 31.8382 31.84 31.84 31.8424
31.8382 31.84 31.84 31.8424 31.8424
Testing.dat
31.84 31.84 31.8424 31.8547 31.8584
31.84 31.8424 31.8547 31.8584 31.8596
31.8424 31.8547 31.8584 31.8596 31.8578
31.8547 31.8584 31.8596 31.8578 31.86
Cheking.dat
31.8584 31.8596 31.8578 31.86 31.8597
Для построения нечетких нейронных сетей в Matlab используется редактор Anfis Editor.
Запустим anfisedit в Matlab:
12
Рисунок 2. Главное окно Anfis editor
Вменю Load data следует выбрать Training и From file, нажать кнопку Load data. В появившемся окне следует выбрать созданный ранее training.dat.
Вменю Load data следует выбрать Testing и From file, нажать кнопку Load data. В появившемся окне следует выбрать созданный ранее testing.dat.
Вменю Load data следует выбрать Cheking и From file, нажать кнопку Load data. В появившемся окне следует выбрать созданный ранее cheking.dat.
Данные для обучения и проверки загружены.
13
Рисунок 3. Вид главного окна редактора после загрузки обучающих данных
Далее, установив переключатель меню Generate FIS в положение Grid partition, следует нажать кнопку Generate FIS.
Рисунок 4. Параметры генерируемой сети
14
В данном случае в модели 4 входных переменных, каждой из которых соответствуют по 3 терма типа gaussmf. Выходная переменная задается линейной функцией.
Нажав на кнопку Structure меню ANFIS Info., можно увидеть структуру
сети:
Рисунок 5. Структура нечеткой нейронной сети
Далее следует выбрать гибридный метод обучения, требуемую ошибку обучения – 0, и количество циклов обучения – 10. Затем следует нажать кнопку Train Now:
15
Рисунок 6. Результаты обучения ННС Ошибка обучения установилась на уровне 0.00010501.
Проведем тестирование сети. Для этого в разделе Test FIS главного окна следует выбрать соответствующую выборку и нажать кнопку Test Now.
Обучающие данные, ошибка 0.00014247
Рисунок 7. Результаты моделирования ННС на обучающих данных
16
тестирующие данные, ошибка 0.020429
Рисунок 8. Результаты моделирования ННС на тестирующих данных проверочные данные, ошибка 0.002094
Рисунок 9. Результаты моделирования ННС на контрольных данных
17
С помощью команды Edit -> FIS Properties возможно просмотреть полученную нечеткую нейронную сеть как систему нечеткого логического вывода.
Далее экспортируем результаты в рабочую область Export -> To workspace.
Воспользуемся командой evalfis для точного определения значения прогноза:
действительное же значение 31.8597.
В данном случае, по сравнению с обычной нейронной сетью прямого распространения, полученный результат более близок к реальному значению курса валют.
18
Задание на выполнение лабораторной работы:
1)Сформировать обучающую выборку, воспользовавшись данными о курсе доллара и выбрав период прогнозирования (день, месяц, год).
2)Построить нейронную сеть и, экспериментируя с количеством нейронов во входных и скрытых слоях, функциями активации, методами обучения, добиться наилучшего результата по прогнозированию курса валют.
3)Построить нечеткую нейронную сеть и, экспериментируя с методами обучения, количеством функций принадлежности во входном слое, добиться наилучшего результата прогнозирования. Количество входов взять таким же, как и в п.2.
4)Сравнить полученные с помощью НС и ННС результаты (численно) и сделать выводы.
