- •Оглавление
- •1. Асоціативне неконтрольоване навчання
- •3. Зміст звіту по практичній роботі
- •Варіанти завдань
- •Аудиторна робота
- •Результат роботи:
- •2. Конкурентні нейронні мережі («Шар і мапа Кохонена»)
- •3. Зміст звіту по практичній роботі
- •Варіанти завдань: кластеризація даних
- •Аудиторна робота
- •1 % Self Organizing Feature Maps sofm (Kohonen networks)
- •3. Конкурентні нейронні мережі («Бінарний класифікатор сигналів екг на основі lvq»)
- •3. Зміст звіту по практичній роботі
- •Варіанти завдань
- •Аудиторна робота
- •1. %Learning Vector Quantization
- •Література
- •4. Нейронні мережі Гросберга
- •Аудиторна робота
- •1. Leaky integrator
- •2. Shunting network demonstration
- •3. Перший та другий шари мережі Grossberg
- •4. Налаштування ваги
- •Art-1 мережі розпізнавання зображень ()
- •3. Зміст звіту по практичній роботі
- •Варіанти завдань: класифікація зображень
- •Аудиторна робота
- •Листинг программы (matlab)
- •Результаты работы программы
- •Мережa Хопфiлда як асоціативна пам'ять ()
- •Варіанти завдань
- •Аудиторна робота
- •7.Рбф-мережа (робота № 5)
- •Варіанти завдань
- •Подбор параметров радиальной функции для каждого радиального нейрона (центр delta и параметр ширины b)
- •Подбор параметров радиальной функции для каждого радиального нейрона (центр с и параметр ширины b)
- •Ортогонализация по методу наименьших квадратов:
- •Работа первого и второго слоев:
- •Адаптация нелинейных параметров радиальных функций всех нейронов первого слоя сети:
- •8.Мережа з використанням га
Література
Исаков Р.В., Лукьянова Ю.А. Результаты исследования нейронных сетей в задачах распознавания патологий сердца, Владимирский государственный университет. Ресурс:
http://ilab.xmedtest.net/?q=node/67
BeggRK,KamruzzamanJ&SarkerR(editors) (2006)NeuralNetworksinHealthcare:PotentialandChallenges. IGI Publishing, USA, 336 pages, ISBN: 1-59140-848-2.
PhysioBank - physiologic signal archives for biomedical research http://physionet.org/physiobank/database/
4. Нейронні мережі Гросберга
Мета роботи: ознайомитися з принципами функціонування та навчання нейронної мережі Гроссберга. Об’єкт дослідження: нейронна мережа Гроссберга.
Теми для опрацювання
1. Структура нейронної мережі Гроссберга.
Порядок виконання практичної роботи
1. Вивчити теоретичне введення.
2. Послідовно виконати всі завдання до практичної роботи.
3. Відповісти на контрольні запитання
Задання до практичної роботи
1. Дослідити роботу нейронної мережі Гроссберга.
2. Интегрирование системы ОДУ, используя формулу Рунге-Кутты 4-го и 5-го порядка для 1-го слоя
Зміст звіту по практичній роботі
1. Назва і мета роботи.
2. Постановка задачі (завдання).
3. Приклад розв’язання завдання.
Контрольні запитання
1. Опишіть складові мережі Гроссберга.
2. Опишіть інтегратор і квазіінтегратор.
Аудиторна робота
1. Leaky integrator
function li
p = 1; e = 1;
t = 0:0.1:5;
y0 = p*(1-exp(-t/e));
last = plot(t,y0,'color',[1 0 0],'linewidth',4);
title('Leaky Integrator. Response');
ylabel('Output n');
xlabel('Time');
2. Shunting network demonstration
function sn
clc; close all; clear all;
global pp; global pn;
global bp; global bn;
global e;
pp = 1; pn = 0;
bp = 1; bn = 0;
e = 1;
[T,Y] = ode45('nndshunt',[0 5],0);
last = plot(T,Y,'color',[1 0 0],'linewidth',4);
title('Shunting network.Response');
ylabel('Output n');
xlabel('Time');
Результат роботи
Рис 4.1.Вихід інтегратораРис 4.2.Вихід шунтуючої мережі
3. Перший та другий шари мережі Grossberg
Первый слой сети Гроссберга возвращает значение входов и нормализирует интенсивность входного вектора. Он описывает яркостную контрастность для человеческого глаза. Сеть более чувствительна к взаимокоррелирующим интенсивностям на изображении. Ответом первого слоя будет отображение взаимокоррелирующих интенсивностей входов. Его выход всегда меньше единицы.
Второй слой нормализирует общую активность слоя, улучшение контрастности образца. Он использует отклик. Входы второго слоя являются результатом взаимодействия между входными образцами и выходом первого слоя. Самый большой результат взаимодействия будет генерировать ответ к входному образцу. Второй слой реализует соревнование между нейронами, которые приближаются по значению к выходному вектору. Улучшение контрастности образца помягче, чем соревнование – победитель забирает все. Это «мягкое» соревнование позволяет выиграть соревнование более, чем одному нейрону второго слоя.
В сети Гроссберга в ходе соревнования меньшие значения уменьшаются, а большие – увеличиваются. При этом необязательно все меньшие значения сводить к нулю.
function lab_
clc, clear all; close all;
global p;
global bp; global bn;
global e;
global W2;
global tf;
pp=2; pn=6; % р+, р-
bp=1; bn=0; % b+, b-
e=1;
W2=[0.9, 0.45; 0.45, 0.9];
tf=1; % 'purelin|(10n^2)/(1+n^2)|10n^2|1-exp(-n)'
p = [pp; pn];
% побудова графіка виходу 1-го шару
%Интегрирование системы ОДУ, используя формулу Рунге-Куттa
% 4-го и 5-го порядка для 1-го слоя
[T,Y] = ode45('lay1',[0 5],[0;0]);
Y = Y';
fig1 = figure(1), hold on;
plot(T,Y(1,:),'color', 'red', 'linewidth',2);
plot(T,Y(2,:), 'color', 'green', 'linewidth',2);
title ('Output layer1')
% побудова графіка виходу 2-го шару
[T1,Y1] = ode45('lay2',[0 0.25],[0;0]);
p = [0; 0];
[T2,Y2] = ode45('lay2',[0.25 0.5],Y1(size(Y1,1),:)');
T = [T1' T2'];
Y = [Y1' Y2'];
fig2 = figure(2), hold on;
plot(T,Y(1,:), 'color', 'red', 'linewidth',2);
plot(T,Y(2,:), 'color', 'green', 'linewidth',2);
title ('Output layer2')
function yprime = lay1(t,y) % описати окремо
global p;
global bp;% b+
global bn; %b-
global e;
yprime = [(-y(1) + (bp - y(1))*p(1) - (y(1) + bn)*p(2));(-y(2) + (bp - y(2))*p(2) - (y(2) + bn)*p(1))]/e;
function yprime = lay2(t,y) % описати окремо
global p;
global tf;
global W2;
yprime = zeros(2,1);
bp = 1; bn = 0;
e = 0.1;
i1 = W2(1,:)*p;
i2 = W2(2,:)*p;
% вибір вигляду функції активації
if tf == 1
a = y; % лінійна
elseif tf == 2
a = 10*(y.^2)/(1+y.^2); % сигмоїдна
elseif tf == 3
a = 10*(y.^2); % швидша за лінійну
else
a = 1-exp(-y); % повільніша за лінійну
end
yprime(1)=(-y(1) + (bp - y(1))*(a(1)+i1) - (y(1) + bn)*a(2))/e;
yprime(2)=(-y(2) + (bp - y(2))*(a(2)+i2) - (y(2) + bn)*a(1))/e;
Результат роботи
Рис 1.Результат роботи НМГроссберга: виходипершого тадругого шарів (tf=3)
Числове інтегрування систем ОДУ
[t, X] = ode45(‘<ім’я функції>‘, t0, tf, x0, tol)
Входные параметры:
‘<имя функции>‘ - строковая переменная, являющаяся именем М-файла, в котором вычисляются правые части системы ОДУ;
t0 - начальное значение времени; tfinal - конечное значение времени;
x0 - вектор начальных условий;
tol - задаваемая точность;
Выходные параметры:
t - текущее время;
X - двумерный массив, где каждый столбец соответствует одной переменной.
function [tout, yout] = ode45(ypfun, t0, tfinal, y0, tol, trace)
%ODE45 Solve differential equations, higher order method.
alpha = [1/4 3/8 12/13 1 1/2]';
beta = [ [ 1 0 0 0 0 0]/4
[ 3 9 0 0 0 0]/32
[ 1932 -7200 7296 0 0 0]/2197
[ 8341 -32832 29440 -845 0 0]/4104
[-6080 41040 -28352 9295 -5643 0]/20520 ]';
gamma = [ [902880 0 3953664 3855735 -1371249 277020]/7618050
[ -2090 0 22528 21970 -15048 -27360]/752400 ]';
pow = 1/5;
if nargin < 5, tol = 1.e-6; end
if nargin < 6, trace = 0; end
% Initialization
t = t0;
hmax = (tfinal - t)/16;
h = hmax/8;
y = y0(:);
f = zeros(length(y),6);
chunk = 128;
tout = zeros(chunk,1);
yout = zeros(chunk,length(y));
k = 1;
tout(k) = t;
yout(k,:) = y.';
if trace
clc, t, h, y
end
% The main loop
while (t < tfinal) & (t + h > t)
if t + h > tfinal, h = tfinal - t; end
% Compute the slopes
temp = feval(ypfun,t,y);
f(:,1) = temp(:);
for j = 1:5
temp = feval(ypfun, t+alpha(j)*h, y+h*f*beta(:,j));
f(:,j+1) = temp(:);
end
% Estimate the error and the acceptable error
delta = norm(h*f*gamma(:,2),'inf');
tau = tol*max(norm(y,'inf'),1.0);
% Update the solution only if the error is acceptable
if delta <= tau
t = t + h;
y = y + h*f*gamma(:,1);
k = k+1;
if k > length(tout)
tout = [tout; zeros(chunk,1)];
yout = [yout; zeros(chunk,length(y))];
end
tout(k) = t;
yout(k,:) = y.';
end
if trace
home, t, h, y
end
% Update the step size
if delta ~= 0.0
h = min(hmax, 0.8*h*(tau/delta)^pow);
end
end
if (t < tfinal)
disp('Singularity likely.')
t
end
tout = tout(1:k);
yout = yout(1:k,:);