Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабы по Сапунову / Lab1_neural / Лабораторная №1 (отчет)

.doc
Скачиваний:
13
Добавлен:
13.04.2015
Размер:
96.26 Кб
Скачать

Лабораторная работа №1

курс: «Вычислительный интеллект»

тема: Персептрон. Обучение персептрона.

цель: изучить принципы функционирования и способы обучения персептрона.

студента 5 курса группы СИИ (магистры)

Дворника Константина

Нейрон с одним вектором входа р с R элементами показан на рис. 1. Здесь каждый элемент входа умножается на веса соответственно и взвешенные значения передаются на сумматор. Их сумма равна скалярному произведению вектора- строки W на вектор входа р.

Рис. 1. Функциональная схема нейрона

Нейрон имеет смещение b, которое суммируется со взвешенной суммой входов. Результирующая сумма n определяется как

Алгоритм персептрона

С помощью персептрона можно осуществлять классификацию объектов по двум классам. Полагаем, что x ∈ ϖ1, если R(x)>0, и x ∈ ϖ2 – в противном случае. Функция R(x) =wx будет линейной решающей функцией (ЛРФ), а гиперплоскость wx= 0 – линейной разделяющей поверхностью.

Предположим, что имеется некоторая обучающая выборка {x1, …, xn}, причем {x1, …, xm} ⊂ ϖ1 и {xm+1, …, xn} ⊂ ϖ2. Требуется построить линейную решающую функцию R(x) =wx, которая бы правильно разделяла элементы обучающей выборки, т.е.

wxi > 0 ∀ i= (1,…m)

wxi < 0 ∀ i= (m+1,…n)

Построение такой ЛРФ осуществим с помощью итерационного алгоритма. Для этого обучающую выборку запишем в виде бесконечной циклической последовательности {x1, …, xn, x1, …, xn,...} и выберем некоторое начальное значение весов w(1)=(w1(1), …, wn(1)). Далее на каждом k-м шаге алгоритма «предъявляется» k-й вектор xk обучающей выборки и значение весового вектора w(k) корректируется или не корректируется в соответствии с правилом

То есть весовой вектор не меняется, если «предъявленный» вектор классифицируется правильно и увеличивается или уменьшается на xk при неправильной классификации. Алгоритм завершает свою работу, если осуществляется n-кратная правильная классификация образов обучающей выборки.

%Konstantin Dvornik 5SAI

%Variant 2

%Omega1 = {(-3;2;0.5),(1;1;-2),(0.5;1.5;-1)}

%Omega2 = {(0;0;1),(1.5;1;0.5),(2;0;2)}

P = [-3 1 0.5 0 1.5 2; 2 1 1.5 0 1 0; 0.5 2 -1 1 0.5 2];

T = [1 1 1 0 0 0];

net = newp([-3 2;0 2;-1 2],1);

[net,Y,E]=train(net,P,T);

plotpv(P,T);

plotpc(net.IW{1},net.b{1});

На обучение было затрачено 6 итераций.

Соседние файлы в папке Lab1_neural