- •Кафедра прикладной информатики и информационных систем Нейронные сети
- •Введение
- •Лабораторная работа № 1 Аппроксимация функции одной переменной
- •Цель работы
- •Краткие теоретические сведения
- •Пример решения типовой задачи
- •Краткие теоретические сведения
- •Пример решения типовой задачи
- •Отчёт о выполнении работы
- •Лабораторная работа № 2 Аппроксимация функции двух переменных
- •Цель работы
- •Отчёт о выполнении работы
- •Лабораторная работа № 3 Сеть Кохонена, самоорганизующаяся нейронная сеть
- •Цель работы
- •Краткие теоретические сведения
- •Рассмотрим алгоритм самообучения сетей Кохонена. Обозначим функцию близости . Выигрывает нейрон c
- •Пример решения типовой задачи
- •Отчёт о выполнении работы
- •Лабораторная работа № 4 Сеть Хопфилда
- •Цель работы
- •Краткие теоретические сведения
- •Пример решения типовой задачи
- •Отчёт о выполнении работы
- •Нейронные сети
Пример решения типовой задачи
Пусть заданы 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 и содержать следующие результаты:
Исходные данные (рис. 10);
Текст программы с подробными комментариями;
Результаты моделирования (рис. 11);
Краткое описание расположения центров кластеров;
Список исходных точек с указанием принадлежности к определенному кластеру;
Контрольный пример.
Лабораторная работа № 4 Сеть Хопфилда
Цель работы
Научиться работать с сетью Хопфилда newhop, исследовать устойчивость сети и её сходимость.
Краткие теоретические сведения
Американский исследователь Хопфилд в 80-х годах 20-го века предложил специальный тип нейросетей. Названные в его честь сети Хопфилда являются рекуррентными или сетями с обратными связями и предназначены для распознавания образов. Обобщенная структура этой сети представляется, как правило, в виде системы с обратной связью выхода с входом.
В сети Хопфилда
входные сигналы нейронов являются
одновременно и выходными сигналами
сети: xi(k)=yi(k-1),
при этом возбуждающий вектор особо не
выделяется. В классической системе
Хопфилда отсутствует связь нейрона с
собственным выходом, что соответствует
,
а вся матрица весов является симметричной:
wij=wji
. (1)
Симметричность
матрицы весов гарантирует сходимость
процесса обучения. Процесс обучения
сети формирует зоны притяжения некоторых
точек равновесия, соответствующих
обучающим данным. При использовании
ассоциативной памяти мы имеем дело с
обучающим вектором
,
либо с множеством этих векторов, которые
в результате проводимого обучения
определяют расположение конкретных
точек притяжения (аттракторов).
Каждый нейрон
имеет функцию активации сигнум со
значениями
:
. (2)
Это означает, что выходной сигнал i-го нейрона определяется функцией:
,
(3)
где N обозначает количество нейронов, N=n. Часто постоянная составляющая bi , определяющая порог срабатывания отдельных нейронов, равна 0. Тогда циклическое прохождение сигнала в сети Хопфилда можно представить соотношением:
(4)
с начальным условием
.
В процессе
функционирования сети Хопфилда можно
выделить два режима: обучения и
классификации. В режиме обучения на
основе известных обучающих выборок
подбираются весовые коэффициенты wij.
В режиме классификации при зафиксированных
значениях весов и вводе конкретного
начального состояния нейронов
возникает переходный процесс, протекающий
в соответствии с выражением (2) и
заканчивающийся в одном из локальных
устойчивых положений, задаваемом
биполярным вектором со значениями
,
для которого
.
Обучение не носит рекуррентного характера. Достаточно ввести значения (правило Хебба) весов, выразив их через проекции вектора точки притяжения эталонного образа:
, (5)
В соответствии с этим правилом сеть дает правильный результат при входном примере, совпадающим с эталонным образцом, поскольку:
, (6)
так как вследствие
биполярности значений элементов вектора
всегда
.
При вводе большого
количества обучающих выборок
для k=1,2,…p
веса wij
подбираются
согласно обобщенному правилу Хебба в
соответствии с которым:
. (7)
Благодаря такому режиму обучения веса принимают значения, определяемые усреднением множества обучаемых выборок. В случае множества обучаемых выборок актуальным становится вопрос о стабильности ассоциативной памяти.
Сеть Хопфилда [2] является автоассоциативной сетью (рис. 12). Дискретная сеть Хопфилда имеет следующие характеристики: она содержит один слой элементов; каждый элемент связывается со всеми другими элементами, но не связан с самим собой; за один шаг работы обновляется только один элемент сети; элементы обновляются в случайном порядке; выход элемента ограничен значениями 0 или 1.
|
Рис. 12. Схема архитектуры модифицированной сети Хопфилда |
