Лабораторная работа № 1. Активационная функция

МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

КАБАРДИНО-БАЛКАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

им. Х.М.Бербекова

 

 

Моделирование нейронных сетей

Лабораторный практикум по дисциплинам «Нейрокомпьютерные системы», «Системы искусственного интеллекта» для направлений …

 

Нальчик, 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. Искусственные нейронные сети. 6

Лабораторная работа № 3. Обучение искусственных нейронных сетей. 12

Лабораторная работа № 4. Персептронные сети. 25

Лабораторная работа № 5. Линейные нейронные сети. 28

Лабораторная работа № 6. Сети Эльмана. 34

Лабораторная работа № 7. Сети Хопфилда. 37

Лабораторная работа № 8. Радиальные базисные сети общего вида. 38

Лабораторная работа № 9. Радиальные базисные сети типа GRNN.. 41

Лабораторная работа № 10. Радиальные базисные сети типа PNN.. 42

Лабораторная работа № 11. Самоорганизующиеся слои Кохонена. 44

Лабораторная работа № 12 Самоорганизующиеся карты Кохонена. 46

Литература. 51


Лабораторная работа № 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), % подокна 2´1; вывод в 1–е

bar(n), % столбцовая диаграмма

ylabet(‘n’) % метка оси ординат

subplot(2, 1, 2),bar(a),ylabet(‘a’) % во 2–м подокне

3. Рассмотренную последовательность команд оформить в виде скрипта в М-файл с именем competlile.

Задание 12. Выполнить действия 11-го задания для конкурирующей функции активации с мягким максимумом softmax, записав при этом новый скрипт в М-файл с именем softmaxfile.