Искусственные нейронные сети
Автор: Павел Бушуев • Май 8, 2019 • Лабораторная работа • 524 Слов (3 Страниц) • 425 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГБОУ ВО «ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет автоматики и вычислительной техники
Кафедра радиоэлектронных средств
Отчет по дисциплине
«Искусственные нейронные сети и управление»
Лабораторная работа №1
«Искусственные нейронные сети»
Вариант №11
Выполнил: студент группы ИКТм– 13______________________/П.М. Бушуев /
Проверил: к.т.н., доцент кафедры ЭВМ_____________________/В.С. Ростовцев /
Киров 2019
Цели работы:
- ознакомление с основными командами создания, обучения и применения многослойных нейронных сетей прямого распространения.
Оборудование:
- ПК, Matlab.
Ход работы:
- Исходные данные
В техническом задании указана функция и области её определения . [pic 1][pic 2]
Для дальнейшей работы с искусственной нейронной сетью (ИНС) понадобятся массивы входных и выходных значений функции. Так как моделирование будет проводиться в программной среде Matlab, то код для данной операции указан в таблице 1.1.
Таблица 1.1 – Код для формирования массива входных и выходных значений функции
Код | Описание |
i = 1; | Задаёт начальное значение счётчика. |
for x1 = -6:.1:3; | Формирует цикл, в котором перебирает все значения на отрезке Х1 с шагом 0,1. |
for x2 = -4.4:.1:1.7; | Формирует цикл, в котором перебирает все значения на отрезке Х2 с шагом 0,1. |
P(1,i) = x1; | Записывает полученные значения массива Х1 в 1-ю строку. |
P(2,i) = x2; | Записывает полученные значения массива Х2 во 2-ю строку. |
T(i) = (x1.^4)/sin(x2+2); | Формирует массив конечных значений аппроксимируемой функции. |
i = i+1; | Обновление счётчика. |
end end | Завершение циклов. |
- Формирование и обучение ИНС
Для создания ИНС воспользуемся функцией newff. Она формирует однонаправленную сеть, обучаемую с применением алгоритма обратного распространения. Условимся, что ИНС будет содержать 2 скрытых слоя с 10 и 1 нейронами. Для каждого слоя будет использована одна и та же функция активации. Код для создания ИНС находится в таблице 2.1.
Таблица 2.1 – Код для создания ИНС
Код | Описание |
net=newff(minmax(P),[10,1,1],{'purelin','purelin','purelin'},'traingd'); | Функция формирования нейросети, где зафиксированы следующие параметры: - minmax(P) – поиск максимального и минимального значений входных данных; - [10,1,1] – количество нейронов в каждом слое; - 'purelin' – функция активации для каждого слоя; - 'traingd' – функция обучения нейросети. |
net.trainParam.epochs = 100; | Количество циклов обучения. |
[net,trs] = train(net, P, T); | Тренировка полученной нейросети при помощи входного и выходного массивов данных. |
Y=sim(net,P); | Моделирование работы системы при подаче на вход определённых данных. В данном случае используется исходный массив входных данных. |
A=net(P); E=T-A; SSE=sumsqr(E); MSE=mse(E); | Вычисление значений параметров SSE (сумма квадратов ошибок) и MSE (среднеквадратичное отклонение) для оценки работы ИНС. |
...