- •Лабораторная работа № 1. Активационная функция
- •Лабораторная работа № 2. Искусственные нейронные сети
- •Лабораторная работа № 3. Обучение искусственных нейронных сетей
- •Лабораторная работа № 4. Персептронные сети
- •Лабораторная работа № 5. Линейные нейронные сети
- •Лабораторная работа № 6. Сети Эльмана
- •Лабораторная работа № 7. Сети Хопфилда
- •Лабораторная работа № 8. Радиальные базисные сети общего вида
- •Лабораторная работа № 9. Радиальные базисные сети типа grnn
- •Лабораторная работа № 10. Радиальные базисные сети типа pnn
- •Лабораторная работа № 11. Самоорганизующиеся слои Кохонена
- •Лабораторная работа № 12 Самоорганизующиеся карты Кохонена
- •Литература
МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
КАБАРДИНО-БАЛКАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им. Х.М.Бербекова
Моделирование нейронных сетей
Лабораторный практикум по дисциплинам «Нейрокомпьютерные системы», «Системы искусственного интеллекта» для направлений …
Нальчик, 2012
УДК 681.3
С34 (ББК 32.973.2-018 Я73)
Рецензент:
зав. отделом мультиагентных систем института информатики и проблем регионального управления КБНЦ РАН к.т.н. З. В. Нагоев
Составитель: Бозиев О.Л.
Моделирование нейронных сетей. Лабораторный практикум. – Нальчик: Кабардино-Балкарский Государственный Университет, 2012, 48 с.
Лабораторный практикум предназначен для приобретения навыков моделирования различных типов нейронных сетей для последующего их анализа и обучения решению конкретных задач. Для выполнения лабораторных работ используются средства пакета Neural Network Toolbox системы научных и инженерных расчетовMATLAB.
УДК 681.3
С34
(ББК 32.973.2-018 Я73)
ÓКабардино-Балкарский Государственный Университет
им. Х.М.Бербекова
Содержание
Лабораторная работа № 1. Активационная функция 4
Лабораторная работа № 2. Искусственные нейронные сети 7
Лабораторная работа № 3. Обучение искусственных нейронных сетей 12
Лабораторная работа № 4. Персептронные сети 25
Лабораторная работа № 5. Линейные нейронные сети 28
Лабораторная работа № 6. Сети Эльмана 35
Лабораторная работа № 7. Сети Хопфилда 37
Лабораторная работа № 8. Радиальные базисные сети общего вида 38
Лабораторная работа № 9. Радиальные базисные сети типа GRNN 41
Лабораторная работа № 10. Радиальные базисные сети типа PNN 43
Лабораторная работа № 11. Самоорганизующиеся слои Кохонена 45
Лабораторная работа № 12 Самоорганизующиеся карты Кохонена 47
Литература 52
Лабораторная работа № 1. Активационная функция
Цель работы: исследование активационных функций и моделей нейронов.
Задание 1. Для активационной функции “жесткая ступенька” hardlim и её производной dhardlim, определяемыми соотношениями
выполнить следующие действия:
1. Вывести на экран информацию об этих функциях с помощью команд:
name=hardlim(′name′) % название функции
dname=hardlim(′deriv′) % название производной
inrange=hardlim(′active′) % диапазон входа
outrange=hardlim(′output′) % диапазон выхода
2. Построить графики функций:
n= –5:0.1:5;
a=hardlim(n);
da=dhardlim(n);
plot(n,a,′r′) % график функции – красный
hold on
plot (n,da,′c′) % график производной – голубой
3. Рассчитать векторы выхода А и производной dA_dN для слоя из трёх нейронов с вектором входа N, состоящим из трёх компонент:
N=[–0,7; 0,1; 0,8];
A=hardlim(N) % вектор выхода активационной функции
dA_dN=dhardlim(N,A) % вектор выхода производной
4. Рассмотренную последовательность команд оформить в виде скрипта и записать в М-файл с именем hardlimfile.
Задание 2. Для симметричной активационной функции “жесткая ступенька” hardlims и её производной dhardlims, определяемыми соотношениями
вывести на экран информацию об этих функциях, построить их графики и рассчитать векторы выхода, воспользовавшись скриптом из М-файла hardlimfile. Новый скрипт записать в файл под именем hardlimsfile.
Задания 2-10 (табл. 1). Вывести на экран информацию об указанных функциях и их производных, построить их графики и рассчитать векторы выхода, аналогично заданию 1. Воспользоваться скриптом из М-файла hardlimfile. Новый скрипт записать в файл с указанным именем.
Табл. 1.
№ |
Название функции |
Функция |
Производная |
Имя файла |
2 |
Жесткая ступенька
|
|
|
hardlimsfile |
3 |
Линейная |
рurelin = n |
dpurelin = 1 |
purelinfile |
4 |
Положитель-ная линейная |
|
|
poslinfile |
5 |
Линейная с ограничени-ями |
|
|
satlinfile |
6 |
Симметричная линейная |
|
|
satlinsfile |
7 |
Радиальная базисная |
radbas = exp(–2n) |
dradbas = –2ne(–2n) |
radbasfile |
8 |
Треугольная |
|
|
tribasfile |
9 |
Логистичес-кая |
logsig(n) = = 1/(1 + exp(–n)) |
dlogsig(n) = =exp(–n)/(1+exp(–n)2) |
logsigfile |
10 |
Гиперболический тангенс |
tansig(n) = = 2/(1 + exp(–2n)) – 1 |
dtansig(n) = = 1 – tansig2(n) |
tansigfile |
Задание 11. Для конкурирующей функции активации compet, используемой для формирования вероятных и самоорганизующихся нейронных сетей выполнить следующие действия:
1. Вывести на экран информацию об этой функции с помощью следующего скрипта:
Name = compet(′name′) % название функции
Dname = compet(′dеriv′) % название производной
Inrange = compet(′active′) % диапазон входа
Outrange = compet(′outrut′) % диапазон выхода
2. Построить диаграммы для вектора входа и для вектора выхода, используя слой из четырех нейронов:
N = [0; 1; –0.5; 0.5];
A = compet(n);
subplot(2, 1, 1), % подокна 21; вывод в 1–е
bar(n), % столбцовая диаграмма
ylabet(‘n’) % метка оси ординат
subplot(2, 1, 2),bar(a),ylabet(‘a’) % во 2–м подокне
3. Рассмотренную последовательность команд оформить в виде скрипта в М-файл с именем competlile.
Задание 12. Выполнить действия 11-го задания для конкурирующей функции активации с мягким максимумом softmax, записав при этом новый скрипт в М-файл с именем softmaxfile.