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




Скачать 226.24 Kb.
НазваниеМетодические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы»
страница1/3
Дата публикации07.07.2013
Размер226.24 Kb.
ТипМетодические указания
zadocs.ru > Информатика > Методические указания
  1   2   3
Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

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

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

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

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

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


Воронеж 2008

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

УДК 681.142.2

ББК 32.97


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


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

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

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

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


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

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

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

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

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

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

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

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

    1. Цель работы

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


    1. ^ Краткие теоретические сведения

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

В настоящее время одним из самых эффективных и обоснованных методов облучения нейронных сетей является алгоритм обратного распространения ошибки, который применим к однонаправленным многослойным сетям. В многослойных нейронных сетях имеется множество скрытых нейронов, входы и выходы которых не являются входами и выходами нейронной сети, а соединяют нейроны внутри сети, то есть скрытые нейроны. Занумеруем выходы нейронной сети индексом , а обучающие примеры индексом . Тогда в качестве целевой функции можно выбрать функцию ошибки как сумму квадратов расстояний между реальными выходными состояниями нейронной сети, выдаваемых сетью на входных данных примеров, и правильными значениями функции , соответствующими этим примерам. Пусть – столбец входных значений, где i=1,2,..,n. Тогда – выходные значения, где j=1,2,…,m. В общем случае nm. Рассмотрим разность , где – точное (правильное) значение из примера. Эта разность должна быть минимальна. Введем расстояния согласно евклидовой метрике, определив норму

. (1)

Пусть целевая функция имеет вид

. (2)

Коэффициент ½ выбран из соображений более короткой записи последующих формул. Задача обучения нейронной сети состоит в том, чтобы найти такие коэффициенты , при которых достигается минимум (Е0).

На рис. 1 показана архитектура нейронной сети с прямой передачей сигнала.



Рис. 1. Схема архитектуры нейронной сети с прямой передачей сигнала


Здесь приняты обозначения, используемые в [1], а именно, ‑ вектор входа, , ‑ матрицы весов входа и выхода, ‑ смещение, ‑ выход слоя, ‑ выход сети, tansig (гиперболическая тангенциальная), purelin (линейная) ‑ соответствующие функции активации.

Веса и смещения определяются с помощью алгоритма обратного распространения ошибок [3].

Обучение сети обратного распространения требует выполнения следующих операций:

1. Выбрать очередную обучающую пару из обучающего множества; подать входной вектор на вход сети.

2. Вычислить выход сети.

3. Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).

4. Скорректировать веса сети так, чтобы минимизировать ошибку.

5. Повторять шаги с 1 по 4 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.


    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)

plot(xx,v,'ob','MarkerSize',5,'LineWidth',2)

В результате выполнения программы получаются следующие результаты, отражённые на рис. 3 и 4:




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





Рис. 4. Результаты моделирования сети: + ‑ исходные данные; сплошная линия и символ «о» – результаты моделирования всей зависимости и в контрольных точках

В массиве v содержатся приближённые значения для двух контрольных точек, указанных на графике (рис. 2) xx=[0.61 2.61]. При данных параметрах сети получены значения: v = [1.05 3.35]. Сравнив эти приближённые значения с точными значениями [0.85 3.37], можно сделать вывод о корректности построения нейронной сети.


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

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

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

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

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

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

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

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


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

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

    1. Цель работы

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


    1. ^ Краткие теоретические сведения

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

, (1)

где - веса суммирования отдельных откликов, - центры базисных радиальных функций. Это формула нейронной сети на основе радиальной базисной функции. Расстояние определяется как расстояние в евклидовом пространстве:

. (2)

Функция newrbe формирует радиальную базисную сеть с нулевой ошибкой. Сеть с радиальными базисными функциями представляет собой, как правило, сеть с тремя слоями: обычным входным слоем, скрытым радиальным базисным слоем и выходным линейным слоем. Функция newrb формирует радиальную базисную сеть с ненулевой ошибкой в отличие от newrbe. На рис. 5 показана архитектура радиальной базисной сети.



Рис. 5. Схема архитектуры радиальной базисной сети

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

Пусть функция задана на промежутках , ; количество точек разбиений по есть 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');

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');
Рис. 6 иллюстрирует график исходной функции .




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


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




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


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




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


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


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

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

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

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

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

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

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


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

Сеть Кохонена, самоорганизующаяся нейронная сеть

    1. Цель работы

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


    1. ^ Краткие теоретические сведения

Сети Кохонена, или самоорганизующиеся карты (Kohonen maps), предназначены для решения задач автоматической классификации, когда обучающая последовательность образов отсутствует (обучение без учителя). Сеть Кохонена является двухслойной. Она содержит слой входных нейронов и собственно слой Кохонена. Слой Кохонена может быть одномерным, двумерным и трехмерным. В первом случае нейроны расположены в цепочку; во втором – они образуют двумерную сетку (обычно в форме квадрата или прямоугольника), а в третьем – трехмерную систему. Определение весов нейронов слоя Кохонена основано на использовании алгоритмов автоматической классификации (кластеризации или самообучения).

На вход сети подаются последовательно значения векторов , представляющих отдельные последовательные наборы данных для поиска кластеров, то есть различных классов образов, причем число этих кластеров заранее неизвестно. На стадии обучения (точнее самообучения) сети входной вектор попарно сравнивается со всеми векторами всех нейронов сети Кохонена. Вводится некоторая функция близости d (например, в виде евклидова расстояния). Активный нейрон с номером c слоя Кохонена, для которого значение функции близости между входным вектором , характеризующим некоторый образ, к векторам максимально, объявляется «победителем». При этом образ, характеризующийся вектором , будет отнесен к классу, который представляется нейроном-«победителем».
  1   2   3

Добавить документ в свой блог или на сайт

Похожие:

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconИсследование электрических машин методические указания к выполнению...
Электротехника и основы электроники. Исследование электрических машин: методические указания к выполнению лабораторных работ для...

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания по курсу "Информатика" для лабораторных и контрольных...
...

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания к выполнению лабораторных работ
...

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания к выполнению лабораторных работ по дисциплине: «Операционные системы»
Методические указания предназначены для приобретения у студентов навыков объектно-ориентированного программирования при разработке...

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания по выполнению лабораторных работ для студентов...
Методические указания по выполнению лабораторных работ для студентов Октябрьского нефтяного колледжа

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания к выполнению лабораторных работ по дисциплине «Логистика и контроллинг»
«Логистика и контроллинг» для студентов специальностей 230201 «Информационные системы и технологии», 080801 «Прикладная информатика...

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

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания к выполнению лабораторных работ по курсу «Основы...
Правильный подход к постановке и проведению лабора­торных работ имеет большое значение для глубокого усвое­ния основ общей и неорганической...

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания к выполнению лабораторных работ по курсу «Механизация...
Для студентов высших учебных заведений, обучающихся по специальности: 110305 Технология производства и переработки

Методические указания к выполнению лабораторных работ по курсу «Интеллектуальные информационные системы» iconМетодические указания по выполнению лабораторных работ в среде табличного...
Методические указания по выполнению лабораторных работ в среде табличного процессора excel 2007 для студентов всех форм обучения

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
zadocs.ru
Главная страница

Разработка сайта — Веб студия Адаманов