ям). br/>
net = newp ([-40 1; -1 50], 1, 'hardlim', 'learnpn');
Додавання нейрона ініціалізує спробу класифікації графіка.
Початкові значення рівні нулю, так що будь-який вхід дає той же результат і класифікує лінія навіть не з'являється на графіку, але це навченості!
holdon
linehandle = plotpc (net.IW {1}, net.b {1});
В
ADAPT - повертає новий об'єкт мережі, який працює краще як класифікатор, вихід мережі і помилка. Цей цикл дозволяє мережі адаптуватися за 3 проходу, графік класифікує лінію, і продовжить, поки помилка не дорівнюватиме 0. br/>
E = 1;. adaptParam.passes = 3; (sse (E))
[net, Y, E] = adapt (net, P, T);
linehandle = plotpc (net.IW {1}, net.b {1}, linehandle);
drawnow;
В
Навчання з LEARNP знадобилося всього 3 проходу, а при вирішенні тієї ж задачі з LEARNPN необхідно 32 проходу. Таким чином, LEARNPN працює набагато краще, ніж LEARNP коли є значні відмінності у вхідних розмірах вектора. p align="justify"> Тепер SIM може бути використаний для класифікації будь-якого іншого вектора входу. Наприклад, класифікувати вхідний вектор [0,7; 1,2]. Графік цієї нової точки з оригінальним навчанням показує, як виконується мережу. Щоб відрізнити його від навчальної множини, його колір червоний
p = [0.7; 1.2];
a = net (p); (p, a); = findobj (gca, 'type', 'line');
set (circle, 'Color', 'red');
.
Підключимо В«holdВ», щоб попередній графік не стирався. Додамо набір навчання та классифицирующую лінію на графік. br/>
hold on; (P, T); (net.IW {1}, net.b {1});
holdoff;
В
Нарешті, Збільшуємо цікаву область.
Персептрон правильно класифікує нашу нову точку (вона червона) як категорію "нуль" (представлену у вигляді кола), і ні "один" (представлену у вигляді плюса). Персептрон вчиться правильно в набагато коротші терміни, незважаючи на викид (порівняйте з "викидом вхідних векторів" демо). p align="justify"> ([-2 2 -2 2]);
В
2.3 Програмний код
= [-0.5 -0.5 +0.3 -0.1 -40; ... % Визначає послідовність входу для 5 векторів -0.5 +0.5 -0.5 +1.0 50];
T = [1 1 0 0 1];% визначає послідовність мети (категорію вектора)
plotpv (P, T);% графічне представлення вхідних цільових векторів
net = newp ([-40 1; -1 50], 1, 'hardlim', 'learnpn'); on = plotpc (net.IW {1}, net.b {1} ); = 1;. adaptParam.passes...