
- •№1 Зертханалық жұмыс Тақырыбы. Биологиялық және жасанды нейрон.
- •1 Кесте – Нейрондарды активациялау функцияларының тiзiмi
- •№ 2 Зертханалық жұмыс
- •2.2 Персептрондар
- •2.3 Зерттелетін функциялар. Нейрондық желісін жасау функциясы.
- •Введём переменную значения ошибки запустим функцию адаптации персептрона в цикле, пока ошибка не
- •Вариант 1 Вариант 2
- •№ 3 Зертханалық жұмыс
- •3.2 Алгоритм обратного распространения ошибки
- •3.2 Нейрожелілік әдістің негізінде есепті шешу кезеңдері.
- •3.6 Характеристики нс
- •3.10.2. Создание сети
- •3.10.3. Обучение сети
- •3.10.5. Моделирование сети (использование сети для решения задачи)
- •4 Лабораторная работа № 4 нс с радиальными базисными функциями
- •4.2 Сеть с радиальными базисными функциями
- •4.3 Изучаемые функции
- •(Сети с радиальными базисными функциями обучаются в процессе создания).
- •4.4 Характеристики нс
- •4.5 Порядок выполнения работы
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •5.2 Изучаемая функция
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Контрольные вопросы
- •6 Лабораторная работа № 6
- •6.2 Вероятностная нейронная сеть
- •6.3 Изучаемые функции Функция создания вероятностной нс
- •Вспомогательные векторно-матричные функции
- •Контрольные вопросы
- •7 Лабораторная работа № 7
- •7.2 Задача кластеризации и поиска зависимостей
- •7.5 Самоорганизующаяся карта признаков
- •7.6 Изучаемые функции . Функции создания нс
- •Вспомогательные функции
- •7.7 Порядок выполнения работы
- •2. Пример создания самоорганизующейся карты.
- •Контрольные вопросы
- •Лабораторная работа № 8 Сеть Хопфилда
- •Цель работы
- •Краткие теоретические сведения
- •Пример решения типовой задачи
- •Отчёт о выполнении работы
6.3 Изучаемые функции Функция создания вероятностной нс
net=newpnn(P, T, spread). P – матрица входных векторов; T – матрица целевых векторов; spread – отклонение (по умолчанию 1,0).
Вспомогательные векторно-матричные функции
ind2vec(ind) – функция преобразования строки индексов (т.е. целых положительных чисел). Возвращается разреженная матрица с одним единичным элементом в каждом столбце, положение которого определяется исходным набором индексов. Аргумент – строка индексов ind.
Пример:
>> ind=[1 2 4 3]
ind =
1 2 4 3
>> vec=ind2vec(ind)
vec =
(1,1) 1
(2,2) 1
(4,3) 1
(3,4) 1
vec2ind(vec) – функция, обратная к функции ind2vec(ind).
Пример:
>> vec=[1 0 0 0;0 0 1 0;0 1 0 0;0 0 0 1]
vec =
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
>> ind=vec2ind(vec)
ind =
1 3 2 4
Пример создания вероятностной нейронной сети.
% Возьмем четыре 2-элементных входных вектора P (координаты четырех точек) и вектор ассоциированных с ними классов Tc:
>> P=[0 1 3 2; 3 1 2.5 4]
P =
0 1.0000 3.0000 2.0000
3.0000 1.0000 2.5000 4.0000
>> Tc=[1 2 3 4];
% Изобразим соответствующие точки на графике (см. рисунок 18)
>> plot(P(1,:),P(2,:),'.','markersize',30)
>> axis([-1 4 0 5])
>> hold on
% Подпишем точки в соответствии с их целевыми классами
>> for i=1:4,text(P(1,i)+0.1,P(2,i), sprintf('klass %g',Tc(i))), end
Рисунок 18 – Центры четырех классов
% Конвертируем индексы классов в разреженную матрицу T:
>> T=ind2vec(Tc);
% При создании вероятностной сети примем значение параметра spread=2,
% потому что это примерно равно среднему расстоянию между имеющимися точками.
>> spr=2;
% Создадим вероятностную НС функцией newpnn:
>> net=newpnn(P,T,spr);
% Испытаем созданную НС на входных векторах. Предварительно закроем
% окно с графиком, чтобы нарисовать новый.
>> A=sim(net,P);
% Конвертируем выходную матрицу в индексы классов:
>> Ac=vec2ind(A);
% Построим новый график с надписями классов, определенных сетью (см.
% рисунок 19)
>> plot(P(1,:),P(2,:),'.','markersize',30)
>> axis([-1 4 0 5])
>> hold on
>> for i=1:4,text(P(1,i)+0.1,P(2,i), sprintf('klass %g',Ac(i))), end
Рисунок 19 – Результаты классификации данных нейронной сетью
% Попробуем классифицировать при помощи созданной НС новые точки:
>> p=[1.5;2];
>> a=sim(net,p);
>> ac=vec2ind(a);
>> plot(p(1),p(2),'r*','markersize',15)
>> text(p(1)+0.1,p(2), sprintf('klass %g',ac))
>> p=[3;3.5];
>> a=sim(net,p);
>> ac=vec2ind(a);
>> plot(p(1),p(2),'r*','markersize',15)
>> text(p(1)+0.1,p(2), sprintf('klass %g',ac))
% Сеть справилась с новыми образцами успешно (см. рисунок 19).
Создайте вероятностную нейронную сеть для классификации образцов по трем заданным классам:
Классы |
Вариант 1 |
Вариант 2 |
Вариант 3 |
Вариант 4 |
|||||
X |
Y |
X |
Y |
X |
Y |
X |
Y |
||
Класс 1 |
0 |
2 |
1 |
2 |
3 |
2 |
1 |
1 |
|
Класс 2 |
2 |
4 |
1 |
4 |
1 |
4 |
1 |
3 |
|
Класс 3 |
2 |
0 |
3 |
3 |
5 |
4 |
3 |
1 |
Классы |
Вариант 5 |
Вариант 6 |
Вариант 7 |
|||||
X |
Y |
X |
Y |
X |
Y |
|||
Класс 1 |
4 |
2 |
2 |
2 |
1 |
1 |
||
Класс 2 |
2,5 |
4 |
4 |
4 |
3 |
1 |
||
Класс 3 |
1 |
2 |
4 |
2 |
3 |
3 |
Классы |
Вариант 8 |
Вариант 9 |
Вариант 10 |
|||||
X |
Y |
X |
Y |
X |
Y |
|||
Класс 1 |
2 |
1 |
4,5 |
3 |
1 |
4 |
||
Класс 2 |
3 |
3 |
1 |
2 |
6 |
3 |
||
Класс 3 |
4,5 |
1,5 |
3 |
0 |
3 |
1 |