%初始化
w_0 = rand(1);
w_1 = rand(1);
w_2 = rand(1);
Max_epoch = 4;
xite=0.6;
Num=4
%输入训练样本
X=[[1 0 0];[1 0 1];[1 1 0];[1 1 1]]
%迭代训练
for k=1:1:Max_epoch
for n=1:1:Num
if n<=2
d=-1
else
d=1
end
W=[w_0,w_1,w_2]
%计算感知器的诱导局部域
sgnv=X(n,:)W’
if sgnv>=0
y=1
else
y=-1
end
%感知器权值调整
m=4(Max_epoch-1)+n;
w0(m)=w_0+xite*(d-y)X(n,1)
w1(m)=w_1+xite(d-y)X(n,2)
w2(m)=w_2+xite(d-y)*X(n,3)
W=[w0(m),w1(m),w2(m)]
w_0=w0(m)
w_1=w1(m)
w_2=w2(m)
end
end
figure(1)
P=[0 0 1 1;0 1 0 1]
T=[0 0 1 1]
plotpv(P,T)
plotpc([w_1,w_2],w_0)
figure(2)
subplot(3,1,1)
plot(1:1:m,w0(?,‘r’)
xlabel(‘t/s’);ylabel(‘w0’)
subplot(3,1,2)
plot(1:1:m,w1(?,‘g’)
xlabel(‘t/s’);ylabel(‘w1’)
subplot(3,1,3)
plot(1:1:m,w2(?,‘b’)
xlabel(‘t/s’);ylabel(‘w2’)
感知器之二分分类问题
最新推荐文章于 2022-11-03 10:15:24 发布