Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2015_for_stud_Практика_С.doc
Скачиваний:
17
Добавлен:
17.03.2016
Размер:
1.69 Mб
Скачать

4. Налаштування ваги

function new

clc; close all;

global n1_1;

global n1_2;

global lr;

pp = 1;

pn = 0;

lr = 1;

n1_1 = [0.7; 0.25];

n1_2 = [0.25; 0.7];

%Задаются опции решателя дифуравнений (относительная погрешность)

options = odeset('RelTol',1e-4);

[T,Y] = ode45('nndadapt', [0 1], zeros(1,4),options);

T = T';

Y = Y';

options = odeset('RelTol',1e-4);

[T,Y] = ode45('nndadapt',[0 2],zeros(1,4),options);

T = T';

Y = Y';

f1=figure; %Вывод результатов на график

hold on

ind = find(Y(1,:) < -0.3 | Y(1,:) > 1.1);

if length(ind) == 0

ind = length(T);

else

ind = ind(1)-1;

end

last1=plot(T(1:ind),Y(1,1:ind), 'color',[1 0 0], 'linewidth',2, 'erasemode','none');

ind = find(Y(3,:) < -0.3 | Y(3,:) > 1.1);

if length(ind) == 0

ind = length(T);

else

ind = ind(1)-1;

end

last2=plot(T(1:ind),Y(3,1:ind),'--', 'color',[1 0 0], 'linewidth',2, 'erasemode','none');

ind = find(Y(2,:) < -0.3 | Y(2,:) > 1.1);

if length(ind) == 0

ind = length(T);

else

ind = ind(1)-1;

end

last3=plot(T(1:ind),Y(2,1:ind),'color',[0 1 0], 'linewidth',2,'erasemode','none');

ind = find(Y(4,:) < -0.3 | Y(4,:) > 1.1);

if length(ind) == 0

ind = length(T);

else

ind = ind(1)-1;

end

last4=plot(T(1:ind),Y(4,1:ind),'--','color',[0 1 0],'linewidth',2, 'erasemode','none');

last = [last1; last2; last3; last4];

xx = [1 1 NaN];

xx = [0:0.2:2]'*xx;

yy = [-0.3 1.1 NaN];

yy = yy(ones(length(xx),1),:);

xx = xx';

yy = yy';

xx = xx(:);

yy = yy(:);

big_lines = plot(xx,yy,'--', 'color',[0 0 0], 'erasemode','none');

for t=0.1:0.2:2

if (rem(fix(t/0.2),2)==0)

str = '1st';

else

str = '2nd';

end

text(t,-0.2,str,'color',[0 0 0],'horiz','center','fontsize',9,'erasemode','none')

end

hold off

title('Adaptive Weight'); xlabel('Time'); ylabel('Weights W2');

Результат роботи

Рис 2. Налаштування ваги

  1. Art-1 мережі розпізнавання зображень ()

Мета роботи: ознайомитися з принципами функціонування та навчання ART1-мережі. Об’єкт дослідження: ART1-мережі

Теми для опрацювання

1. ART1-мережі

Постановка задачі (згідно з індивідуальним завданням):

1. Побудувати та навчити ART1-мережу, здатнурозпізнаватиоб’єкти,подані увиглядіграфічних зображень.

Порядок виконання роботи

1. Вивчити теоретичний матеріал.

2. Послідовно виконати такі завдання до практичної роботи:

А. Спроектувати класифікатор у вигляді ART1-мережі (реалізувати алгоритм навчання).

Б. Перевірити мережу на здатність розв’язувати задачу класифікації зображень.

Алгоритм навчання ART1-мережі:

Алгоритм розпочинається з ініціалізації вагових матриць W1:2 і W2:1. Початкові значення елементів матриці W2:1 вважають рівними одиниці.

Крок 1. До мережі подаються вхідні вектори. На етапі ініціалізації, поки другий шар неактивований, тобто всі yі= 0, вихід першого шару y1=р.

Крок 2. Обчислюють входи другого шару W1:2 y1, і нейрон другого шару з найбільшим входом стає активним:

Якщо перемагають декілька нейронів, то переможцем оголошується нейрон з найменшим значенням індексу (номера).

Крок 3. Обчислюють очікування зв’язку L2–L1, якщо j-ий нейрон другого шару активний, одержимо W 2:1 y= jw2:1.

Крок 4. Якщо другий шар активований, то вихід першого шару пристосовується до очікування: y1 р jw2:1.

Крок 5. Підсистема орієнтації визначає, наскільки вхідний вектор відповідає очікуванню:

Крок 6. Якщо y= 1, то встановлюється значення yj= 0, яке затримуємо, поки не трапиться відповідний збіг (резонанс), тоді повертаємося до кроку 1. Якщо y= 0, переходимо до кроку 7.

Крок 7. У разі одержання резонансу оновлюється j-й рядок матриці W1:2: .

Крок 8. Оновлюється j-й стовпець матриці W2:1: .

Крок 9. Вхід переміщується, відновлюються всі пригнічувальні нейрони другого шару, переходимо до кроку 1 з новим входом.

Вхідні вектори продовжують надходити до мережі, поки вага не змінюється.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]