Лабораторные работы / lab1 / lab1
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Московский Политехнический Университет (МПУ)
Кафедра «Автоматика и управление»»
ЛАБОРАТОРНАЯ РАБОТА №1
по дисциплине
«Технологии нейронных сетей принятия решений»
Выполнил:
Преподаватель:
к.т.н. доцент
Цель работы: ознакомление с пакетом Neural Networks Toolbox и его графическим интерфейсом в программной среде MatLab.
Используемое оборудование: MatLab 2016b
Теоретическое введение
MatLab (Matrix Laboratory) – программная среда, используемая для решения задач технических вычислений в различных прикладных науках. В состав MatLab входят различные ToolBox’ы – программные пакеты, в которых содержатся различные функции необходимые для моделирования процессов и объектов, к примеру – “Control System” позволяет моделировать системы управления, “Fuzzy Logic” – аппарат нечётких множеств, “Aerospace Toolbox” включает в себя модели атмосферы, гравитации, магнитных полей и др.
На настоящий момент MatLab включает в себя более 80 ToolBox’ов и программных пакетов различных прикладных наук.
Для моделирования работы искусственных нейронных сетей (ИНС) используется Neural Network ToolBox, добавляющий функции создания ИНС, их обучения, тренировки, визуализации, обработки данных и результатов и т.д.
Neural Network также обладает функцией графического интерфейса пользователя (GUI) – NNTool, позволяющей не использовать скриптинг на языке MatLab, а создавать, обучать, моделировать нейронные сети, импортировать их данные, используя только диалоговое окно. Следует отметить, что данный интерфейс подходит лишь для начальной стадии работы с пакетом, так как в силу своих ограничений допускает работу лишь с простейшими однослойными и двухслойными нейронными сетями.
После запуска MatLab, пользователь видит перед собой консоль ввода команд – поле, в котором могут быть объявлены переменные различных типов, проводятся вычисления, вызываются функции различных ToolBox’ов и запускаются файлы скриптов (M-файлы):
Рис. 1.1. Командная строка программной среды MatLab
Вызов графического интерфейса NNTool осуществляется с помощью ввода команды nntool в командной строке и нажатием клавиши Enter:
Рис. 1.2. Графический интерфейс пользователя - NNTool
Окно Neural Network/Data Manager включает в себя следующие области и кнопки (рис. 1.2.):
Input Data – последовательность входов;
Target data – последовательность целей;
Input Daley States – начальные условия линии задержки входов;
Networks – список нейронных сетей;
Output Data – последовательность выходов;
Error Data – последовательности ошибок сети;
Layer Delay States – начальные условия линии задержки слоя;
Help – кнопка вызова окна справки;
New ->
New Data – кнопка вызова окна формирования данных (рис. 1.3.);
New Network – кнопка вызова окна создания новой нейронной сети (рис. 1.4.);
Import – кнопка вызова окна импорта или загрузки данных;
Export – кнопка вызова окна экспорта или загрузки данных в файл.
Рис. 1.3. Окно формирования данных
Рис. 1.4. Окно создания новой нейронной сети
Кнопки View, Delete становятся активными только после создания и активизации данных, относящихся к последовательностям входа, цели, выхода или ошибок сети. Кнопка View позволяет просмотреть, а кнопка Delete удалить активизированные данные.
Кнопки View, Delete, Initialize, Simulate, Train, Adapt становятся активными после создания и активации самой нейронной сети. Они позволяют просмотреть, удалить, инициализировать, промоделировать, обучить или адаптировать нейронную сеть.
При создании нейронной сети, необходимо выполнить следующие операции:
сформировать последовательность входов и целей (кнопка New Data) либо загрузить их из рабочей области системы MatLab или из файла (кнопка Import);
создать новую нейронную сеть (кнопка New Network) либо загрузить ее из рабочей области систем MatLab или из файла (кнопка Import);
выбрать тип нейронной сети и нажать кнопку Train, чтобы открыть окно для задания параметров процедуры обучения;
открыть окно Network для просмотра, обучения, моделирования и адаптации сети.
Задача: используя графически интерфейс пользователя NNTool, создать нейронную сеть для вычисления функции
Зададим векторы с помощью кнопки New Data (рис. 1.5.):
I – вектор входных данных (y и x):
[-1 -0.7 -0.5 -0.3 0 0.1 0.4 0.6 0.9 1; -0.9 -0.8 -0.6 -0.2 0 0.1 0.4 0.5 0.7 1],
T – вектор целей (z):
[-0.8 -1.11 -0.95 -0.31 0 -0.1 -0.64 -0.64 -0.59 -1]
Рис. 1.5. Векторы заданы
Рис. 1.6. Создание нейронной сети
Рис. 1.7. Окно настройки диапазонов и инициализация весов.
Рис. 1.8. Подтверждение диапазонов.
Рис. 1.9. Инициализация весов.
Рис. 1.10. Настройка обучения сети.
Рис. 1.11. Обучение сети.
По результатам видно, что в каких-то случаях ошибка нейронной сети достаточно мала, в других же – крайне велика. (1.9) Для повышения точности нейронной сети необходимо увеличить последовательности входных и целевого векторов при обучении.
Рис. 1.12. Результат обучения сети.
Увеличим последовательность на 4 (1.13), повторим цикл обучения и сравним результаты (1.14).
Рис. 1.13. Увеличенная последовательность.
Рис. 1.14. Результаты с увеличенной последовательностью.
Как видно из результатов общая точность сети повысилась.
Вывод: во время выполнения данной лабораторной работы я ознакомился с Neural Networks Toolbox и его графическим интерфейсом в программной среде MatLab