Способы обучения нейронных сетей правилом Видроу-Хоффа
Автор: makelov • Июнь 4, 2019 • Лабораторная работа • 1,952 Слов (8 Страниц) • 472 Просмотры
«ЮГОРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Институт цифровой экономики
ОТЧЕТ
по лабораторной работе № 5
по дисциплине «Системы искусственного интеллекта»
Выполнил: Студент группы
Проверил: Доцент
Татьянкин В.М.
Дата сдачи: ______
Оценка: _______________
г. Ханты-Мансийск 2019 г.
Цель: Изучить способ обучения нейронных сетей правилом Видроу-Хоффа.
Задачи:
- Изучить методическое пособие к лабораторной работе;
- Сформировать необходимые данные для обучения нейронной сети;
- Обучить нейронную сеть;
- Графически отобразить нейронную сеть.
Ход работы:
Вариант 15
Количество элементов входного сигнала | Функции активации распределительного слоя | Количество элементов выходного сигнала | Способ обучения нейронной сети |
7 | 7 | 2 | Правило Видроу-Хоффа |
8 | 8 | 3 | |
13 | 5 | 1 |
Для выполнения данной лабораторной был использован язык-программирования Matlab.
Чтобы начать обучать нейронную сеть для начала нужно случайным образом сформировать такие данные, как (рисунок 1):
- Вектора входных сигналов (30 образов);
- Вектора эталонных значений (30 векторов);
- Вектора весовых коэффициентов;
- Пороговые значения для каждого нейрона;
- Скорость обучения;
- Среднеквадратичная ошибка.
[pic 1]
Рисунок 1 – Формирование данных для обучения
Далее обучаем и формируем нейронную сеть (рисунок 2).
[pic 2]
Рисунок 2 – Обучение нейронной сети
Графически выводим эталонные значения и результаты обучения (рисунок 3):
[pic 3]
Рисунок 3 – Графический вывод.
Результаты работы (рисунок 4-6):
[pic 4]
Рисунок 4 – Эталонные значения и результат обучения 1-й нейронной сети
[pic 5]
Рисунок 5 – Эталонные значения и результат обучения 2-й нейронной сети
[pic 6]
Рисунок 6 – Эталонные значения и результат обучения 3-й нейронной сети
Заключение:
В результате выполнения данной лабораторной работы был получен навык обучения нейронных сетей с помощью правила Видроу-Хоффа.
Приложения
Приложение А. Код 1-й части варианта
% Чумбаков М.В. 1551б - Вариант 15
% Лабораторная работа 5
% Входных сигналов - 7
% Функция активации - 7 (Биполярная-сигмоидная)
% Выходных сигналов - 2
input_signal = genvyb(zeros(30,7)); % Генерирует входной сигнал
answer = genvyb(zeros(30,2)); % Генерирует ответ
answer = answer';
input_signal = input_signal';
wes_koeff = rand(7,2); % Рандомная инициализация матрицы весов
porog = rand(1,2); % Пороги
pattern_out = zeros(30,2); % Паттерн выходного сигнала
pattern_out = pattern_out';
alpha = 0.9; % Скорость обучения
E = 10; % Среднеквадратичная ошибка
Em=0.002;
iter = 1;
k = 1;
% Обучение нейронной сети
while (E > Em)
if k==31
k=1;
end
E = 0;
% Вызов функция активации
for n = 1:30
for i = 1:7
input_signal(i,n) = ( 2/(1 + exp(-input_signal(i,n))) )-1;
end
end
for j = 1:2
% Считаем выходное значение сети
for i = 1:7
pattern_out(j,k) = pattern_out(j,k) + wes_koeff(i,j) * input_signal(i,k);
end
pattern_out(j,k) = pattern_out(j,k) - porog(j);
...