Кафедра прикладной информатики и информационных систем 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кафедра прикладной информатики и информационных систем



Кафедра прикладной информатики и информационных систем

Нейронные сети

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» для студентов 4-го курса дневного отделения, обучающихся по специальности 080801

«Прикладная информатика (в экономике)»

 

Воронеж 2008


Составители П.А. Головинский, В.В. Черных

УДК 681.142.2

ББК 32.97

 

Нейронные сети [Текст]: метод. указания к выполнению лаб. работ по курсу «Интеллектуальные информационные системы» для студ. 4-го курса д/о, обучающихся по специальности 080801 /Воронеж. гос. арх.-строит. ун-т; сост.: П.А. Головинский, В.В. Черных. ‑ Воронеж, 2008. – 28 с.

 

Излагается краткий теоретический материал по моделям нейронных сетей, приводятся примеры по их применению. Содержатся контрольные задания и вопросы.

Предназначены для студентов 4-го курса дневного отделения, обучающихся по специальности 080801 «Прикладная информатика (в экономике)».

Ил. 13. Табл. 1. Библиогр.: 9 назв.

 

 

Печатается по решению редакционно-издательского совета Воронежского государственного архитектурно-строительного университета

 

Рецензент – А.Д. Кононов, к.ф.-м.н., доцент кафедры математического моделирования и вычислительной техники Воронежского государственного архитектурно-строительного университета

 

 


Введение

B ряде методов, созданных для реализации искусственного интеллекта, используются явные представления знаний и тщательно спроектированные алгоритмы перебора. Отличный от этого подход состоит в построении интеллектуальных программ с использованием моделей, имитирующих нейронные структуры в человеческом мозге или эволюцию разных альтернативных конфигураций, как это делается в генетических алгоритмах и искусственной жизни. Для того чтобы решать сложные и плохо формализуемые задачи и возникло направление, которое называется искусственные нейронные сети.

Искусственные нейронные сети состоят из нейроноподобных элементов, соединенных между собой в сеть. Существуют статические и динамические нейронные сети. В статических нейронных сетях изменение параметров системы происходит по некоторому алгоритму в процессе обучения. После обучения параметры сети не меняются. В динамических нейронных сетях отображение внешней информации, и ее обработка осуществляется в виде некоторого динамического процесса, то есть процесса, зависящего от времени.

Нейронные сети нашли применение практически во всех областях науки и техники. С использованием нейронных сетей успешно решаются многие проблемы бизнеса и финансов. Задачи управления, классификации, распознавания образов, прогнозирования, присущие практически всем прикладным областям, таким как медицина, военное дело, авиация и космос, строительство, все чаще решаются с применением нейросетевых технологий.

В связи с этим необходимо дать студентам, обучающимся современным информационным технологиям, фундаментальное представление об основных понятиях и моделях нейронных сетей, а также научить применять эти знания на практике.

Данные лабораторные работы направлены на вырабатывание практических навыков построения искусственных нейронных сетей в среде MatLab. Особенностью выполнения работ является то, что студент приучается к самостоятельному принятию решений, развиваются его исследовательские способности, что особенно важно в динамично развивающемся мире. В настоящих методических указаниях рассматриваются нейронные сети прямой передачи сигнала, радиальные базисные сети, сеть Кохонена и сеть Хопфилда, являющиеся типовыми технологиями искусственных нейронных сетей.


Лабораторная работа № 1

Аппроксимация функции одной переменной

Цель работы

Научиться работать с сетью прямой передачи сигнала, функция newff [1]. Разобраться с алгоритмом обратного распространения ошибки.

 

Пример решения типовой задачи

Выполнение лабораторной работы состоит из следующих этапов: прежде всего, необходимо оцифровать график функции y=f(x), то есть получить ряд соответствующих значений по горизонтальной и вертикальной осям.

 

Рис. 2. Пример зависимости для функции одной переменной

 

В примере, показанном на рис. 2 были получены два массива, каждый из которых состоит из 15 значений. По горизонтальной оси – [ 0.10 0.31 0.51 0.72 0.93 1.14 1.34 1.55 1.76 1.96 2.17 2.38 2.59 2.79 3.00]. По вертикальной оси – [ 0.1010 0.3365 0.6551 1.1159 1.7632 2.5847 3.4686 4.2115 4.6152 4.6095 4.2887 3.8349 3.4160 3.1388 3.0603].

Ниже приводится программа создания, обучения нейронной сети и вывода результатов.

x=[0.10 0.31 0.51 0.72 0.93 1.14...

1.34 1.55 1.76 1.96 2.17 2.38...

2.59 2.79 3.00];

y=[0.1010 0.3365 0.6551 1.1159 1.7632 2.5847...

3.4686 4.2115 4.6152 4.6095 4.2887 3.8349...

3.4160 3.1388 3.0603];

net=newff([0 3],[5,1],{'tansig','purelin'},'trainbfg');

net.trainParam.epochs=300;

net.trainParam.show=50;

net.trainParam.goal=1.37e-2;

[net,tr]=train(net,x,y);

an=sim(net,x);

plot(x,y,'+r',x,an,'-g'); hold on;

xx=[0.61 2.61];

v=sim(net,xx)

Отчёт о выполнении работы

Отчёт о выполнении лабораторной работы №1 должен быть выполнен на листах формата А4 и содержать следующие результаты:

1. Исходные данные (рис. 2);

2. Текст программы с подробными комментариями;

3. Характеристику точности обучения (рис. 3);

4. Результаты моделирования (рис. 4);

5. Сопоставление результатов в контрольных точках;

6. Краткие выводы о результатах работы.

 


Лабораторная работа № 2

Аппроксимация функции двух переменных

Цель работы

Научиться работать с радиальной базисной сетью, функции newrbe и newrb.

 

Пример решения типовой задачи

Пусть функция задана на промежутках , ; количество точек разбиений по есть nx, а по ny. Тогда, используя следующий алгоритм построения радиальной базисной сети, можно построить график функции :

 

x1=-1.0; x2=+1.0; y1=-1.5; y2=+1.5;

nx=7; ny=9;

step_x=(x2-x1)/(nx-1); step_y=(y2-y1)/(ny-1);

step_min = min(step_x,step_y);

[x,y]=meshgrid([x1:step_x:x2], [y1:step_y:y2]);

z=exp(-x.^2).*exp(-y.^2);

surf(x,y,z), title('PS. Press<enter>');

pause;

xx=reshape(x,1,nx*ny);

yy=reshape(y,1,nx*ny);

zz=exp(-xx.^2).*exp(-yy.^2);

p=[xx; yy];

t=zz;

goal = 0.0371;

spread = 1.0*step_min;

net = newrb(p,t, goal,spread);

net.layers{1}.size

smlt=sim(net,p);

[zz' smlt']

smltr=reshape(smlt,ny,nx);

surf(x,y,smltr), title('AS. Press<enter>');

 

Рис. 6 иллюстрирует график исходной функции .

 

Рис. 6. График исходной функции двух переменных

 

На рис. 7 показана характеристика точности обучения радиальной базисной сети и допустимая среднеквадратичная ошибка сети Goal=0.0371.

 

Рис. 7. Характеристика точности обучения в зависимости от количества эпох обучения

 

На рис. 8 отображён результат аппроксимации нелинейной зависимости, построенный с помощью радиальной базисной функции.

 

Рис. 8. Результат моделирования исходной функции

 

Сопоставляя рис. 6 и рис. 8, можно сделать вывод об удовлетворительности полученных результатов. Лучших результатов можно добиться, варьируя параметры goal и spread.

 

Отчёт о выполнении работы

Отчёт о выполнении лабораторной работы №2 должен быть выполнен на листах формата А4 и содержать следующие результаты:

1. Исходные данные – выбор функции двух переменных и области определения функции, построение графика функции (рис. 6);

2. Текст программы с подробными комментариями;

3. Результаты моделирования (рис. 7, 8);

4. Контрольный пример;

5. Объяснение результатов проделанной работы.

 


Лабораторная работа № 3

Цель работы

Изучить функционирование и процедуру обучения сети Кохонена с помощью функции newc.

 

Пример решения типовой задачи

Пусть заданы 28 случайных векторов, изображённых на графике крестами (рис. 10). Оцифровав данный график, можно получить массив входных данных (табл. 1).

Рис. 10. Распределение входных векторов

 

Таблица 1

 

Массив входных данных

P(1,:) 3.0 -0.1 4.3 4.6 8.5 1.8 8.3 2.5 0.2 4.6
P(2,:) 1.0 3.7 4.4 2.3 2.7 3.3 -0.1 1.2 3.6 4.7
P(1,:) 4.5 8.5 2.2 8.2 2.7 0.2 4.4 4.6 8.3 2.0
P(2,:) 2.3 2.9 3.2 0.1 0.8 4.0 4.5 2.2 2.4 3.3
P(1,:) 8.5 2.7 0.1 4.3 4.7 8.5 2.1 8.3    
P(2,:) 0.0 0.9 4.0 4.4 1.9 2.5 3.5 -0.3    

 

Следующий алгоритм демонстрирует процедуру обучения самоорганизующейся нейронной сети Кохонена.

 

plot(P(1,:), P(2,:), '+m');

title('Input vectors');

xlabel('P(1,:)');

ylabel('P(2,:)');

hold on;

nclusters = 7;

nvectors = 4;

a1 = -10;

a2 = +10;

b1 = -5;

b2 = +5;

net = newc([a1 a2; b1 b2], nclusters, 0.1, 0.0005);

wo = net.IW{1};

bo = net.b{1};

co = exp(1)./bo;

net.trainParam.epochs=49;

net.trainParam.show=7;

net = train(net,P);

w = net.IW{1};

bn = net.b{1};

cn = exp(1)./bn;

plot(w(:,1),w(:,2),'kp');

 

На рис. 11 представлены исходные данные (кресты) и полученные центры кластеризации (звёзды).

 

 

Рис. 11. Распределение входных данных (кресты) и положение центров кластеризации (звёзды)

 

Отчёт о выполнении работы

Отчёт о выполнении лабораторной работы №3 должен быть выполнен на листах формата А4 и содержать следующие результаты:

1. Исходные данные (рис. 10);

2. Текст программы с подробными комментариями;

3. Результаты моделирования (рис. 11);

4. Краткое описание расположения центров кластеров;

5. Список исходных точек с указанием принадлежности к определенному кластеру;

6. Контрольный пример.

 

 


Лабораторная работа № 4

Сеть Хопфилда

Цель работы

Научиться работать с сетью Хопфилда newhop, исследовать устойчивость сети и её сходимость.

 

Пример решения типовой задачи

Рассмотрим сеть Хопфилда [1] с четырьмя нейронами и определим четыре точки равновесия:

 

T = [+1 -1; -1 +1; +1 +1; -1 -1];

T=T';

plot(T(1,:),T(2,:),'rh','MarkerSize',13), hold on;

axis([-1.1 1.1 -1.1 1.1]);

title('Hopfield Network State Space');

xlabel('a(1)');

ylabel('a(2)');

net = newhop(T);

[Y,Pf,Af] = sim(net,4,[],T);

Y

Pf

Af

Pause

color = 'rgbmy';

for i=1:25

a = {rands(2,1)};

[y,Pf,Af] = sim(net,{1 20},{},a);

record=[cell2mat(a) cell2mat(y)];

start=cell2mat(a);

End

 

На рис. 13 показано поведение обученной сети при случайных начальных условиях a.

 

Рис. 13. Поведение сети Хопфилда при случайных начальных условиях a

 

 

Отчёт о выполнении работы

Отчёт о выполнении лабораторной работы №4 должен быть выполнен на листах формата А4 и содержать следующие результаты:

1. Исходные данные;

2. Текст программы с подробными комментариями;

3. Результаты моделирования (рис. 13);

4. Контрольный пример;

5. Краткие письменные ответы на контрольные вопросы, содержащиеся в приложении.

 


Б иблиографический список рекомендуемой литературы

1. Медведев В.С., Потемкин В.Г. Нейронные сети. Матлаб 6. М.: Диалог МИФИ, 2002. – 496с.

2. Каллан Р. Основные концепции нейронных сетей. М.: Издательский дом «Вильямс», 2001. – 287с.

3. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика. – М.: Мир, 1992.

4. Круглов В.В., Борисов В.В. Искусственные нейронные сети. М.: Горячая линия - Телеком, 2001. – 382с.

5. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2002. – 344с.

6. Тарков М.С. Нейрокомпьютерные системы. М.: БИНОМ, 2006. –142с.

7. Нейронные сети. STATISTICA Neural Networks. М.: Горячая линия - Телеком, 2001. – 182с.

8. Зайцевский И.В., Свиридов А.П., Слесарев Д.А. Нейронные сети и их приложения. М.: МЭИ, 2002. – 95с.

9. Дьяконов В.П., Круглов В.В. MATLAB 6.5 SP1/7/7 SP1/7 SP2 Simulink 5/6. Инструменты искусственного интеллекта и биоинформатики. М.: СОЛОН-ПРЕСС, 2006. – 456с.


Приложение

 

Контрольные задания для лабораторной работы № 1

 

 

 

 

 

 

 

Контрольные задания для лабораторной работы № 2

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)

11)

12)

13)

14)

15)

16)

17)

18)

19)

20)

 

 

Контрольные задания для лабораторной работы № 3

 

 

 

 

 

 

 

Контрольные вопросы для лабораторной работы № 4

 

1. Искусственный интеллект. Его истоки и проблемы.

2. Нейрофизиологические данные об обработке информации в биологических системах.

3. Искусственный нейрон. Идея и техническая реализация.

4. Модели нейронов. Типичные виды функций активации нейрона.

5. Многослойный персептрон.

6. Однонаправленные многослойные сети. Алгоритм обратного распространения ошибки.

7. Вывод конкретных формул алгоритма обратного распространения ошибки для двухслойных сетей с малым числом нейронов (2-3).

8. Градиентные методы. Алгоритм наискорейшего спуска. Недостатки метода. Метод моментов.

9. Радиальные нейронные сети. Обучение. Область применения.

10. Рекуррентные сети. Ассоциативная сеть Хопфилда. Обучение. Распознавание образов.

11. Сеть встречного распространения.

12. Обучение слоя Кохонена. Решение задач кластеризации.

13. Статистический подход к обучению нейронной сети. Машина Больцмана и ее модификации.

14. Применение нейронных сетей. Сбор данных для нейронных сетей.

15. Задача регрессии и прогнозирования временных рядов.

16. Основные характеристики пакета MATLAB. Простейшие вычисления. Работа с массивами. Графики функций. Сессия. М-файлы. Mat-файлы.

17. Нейронные сети в пакете MATLAB.

 


Оглавление

 

Введение  
Лабораторная работа № 1. Аппроксимация функции одной переменной  
Лабораторная работа № 2. Аппроксимация функции двух переменных  
Лабораторная работа № 3. Сеть Кохонена, самоорганизующаяся нейронная сеть  
Лабораторная работа № 4. Сеть Хопфилда  
Библиографический список рекомендуемой литературы  
Приложение. Контрольные задания и вопросы для лабораторных работ  
   

 

НЕЙРОННЫЕ СЕТИ

 

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» для студентов 4-го курса дневного отделения, обучающихся по специальности 080801

«Прикладная информатика (в экономике)»

 

 

Составители: д.ф.-м.н., проф. Головинский Павел Абрамович

к.ф.-м.н., доц. Черных Валерий Васильевич

 

 

Подписано в печать 17.12.2008г. Формат 60х84 1/16. Уч.-изд.л. 1,8.

Усл. – печ. л. 1,9. Бумага писчая. Тираж 100 экз. Заказ №

_____________________________________________________________

Отпечатано: отдел оперативной полиграфии Воронежского государственного архитектурно-строительного университета

 
 

394006 Воронеж, ул. 20-летия Октября, 84

 

Кафедра прикладной информатики и информационных систем

Нейронные сети

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» для студентов 4-го курса дневного отделения, обучающихся по специальности 080801

«Прикладная информатика (в экономике)»

 

Воронеж 2008


Составители П.А. Головинский, В.В. Черных

УДК 681.142.2

ББК 32.97

 

Нейронные сети [Текст]: метод. указания к выполнению лаб. работ по курсу «Интеллектуальные информационные системы» для студ. 4-го курса д/о, обучающихся по специальности 080801 /Воронеж. гос. арх.-строит. ун-т; сост.: П.А. Головинский, В.В. Черных. ‑ Воронеж, 2008. – 28 с.

 

Излагается краткий теоретический материал по моделям нейронных сетей, приводятся примеры по их применению. Содержатся контрольные задания и вопросы.

Предназначены для студентов 4-го курса дневного отделения, обучающихся по специальности 080801 «Прикладная информатика (в экономике)».

Ил. 13. Табл. 1. Библиогр.: 9 назв.

 

 

Печатается по решению редакционно-издательского совета Воронежского государственного архитектурно-строительного университета

 

Рецензент – А.Д. Кононов, к.ф.-м.н., доцент кафедры математического моделирования и вычислительной техники Воронежского государственного архитектурно-строительного университета

 

 


Введение

B ряде методов, созданных для реализации искусственного интеллекта, используются явные представления знаний и тщательно спроектированные алгоритмы перебора. Отличный от этого подход состоит в построении интеллектуальных программ с использованием моделей, имитирующих нейронные структуры в человеческом мозге или эволюцию разных альтернативных конфигураций, как это делается в генетических алгоритмах и искусственной жизни. Для того чтобы решать сложные и плохо формализуемые задачи и возникло направление, которое называется искусственные нейронные сети.

Искусственные нейронные сети состоят из нейроноподобных элементов, соединенных между собой в сеть. Существуют статические и динамические нейронные сети. В статических нейронных сетях изменение параметров системы происходит по некоторому алгоритму в процессе обучения. После обучения параметры сети не меняются. В динамических нейронных сетях отображение внешней информации, и ее обработка осуществляется в виде некоторого динамического процесса, то есть процесса, зависящего от времени.

Нейронные сети нашли применение практически во всех областях науки и техники. С использованием нейронных сетей успешно решаются многие проблемы бизнеса и финансов. Задачи управления, классификации, распознавания образов, прогнозирования, присущие практически всем прикладным областям, таким как медицина, военное дело, авиация и космос, строительство, все чаще решаются с применением нейросетевых технологий.

В связи с этим необходимо дать студентам, обучающимся современным информационным технологиям, фундаментальное представление об основных понятиях и моделях нейронных сетей, а также научить применять эти знания на практике.

Данные лабораторные работы направлены на вырабатывание практических навыков построения искусственных нейронных сетей в среде MatLab. Особенностью выполнения работ является то, что студент приучается к самостоятельному принятию решений, развиваются его исследовательские способности, что особенно важно в динамично развивающемся мире. В настоящих методических указаниях рассматриваются нейронные сети прямой передачи сигнала, радиальные базисные сети, сеть Кохонена и сеть Хопфилда, являющиеся типовыми технологиями искусственных нейронных сетей.


Лабораторная работа № 1



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 456; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.200.77.59 (0.164 с.)