感知器算法 作业

更新时间:2023-08-25 15:21:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

感知器算法作业:

图为二维平面中的4个点,x1, x2∈ω1 ,x3,x4∈ω2 ,设计使用感知器算法的线性分类器,步长参数设为1.

x2

x1x4

x3

解:由题知:

1:X1 [ 1,0]TX2 [0,1]T 2:X3 [0, 1]TX4 [10],T 所有样本写成增广向量形式,进行规范化处理,属于 2的样本乘以-1 X1 [ 1,0,1]TX2 [0,1,1]TX3 [01,, 1]TX4 [ 10,, 1]T 步长c=1,任取W(1) [0,0,0]T

第一轮迭代:

1 =0,TWT(1)X1 [0,0,0] 0 0 ,故 W(2) W(1) X [ 1,0,1]1 1

0 =1,>0,故TWT(2)X2 [ 1,0,1] 1 W(3) W(2) [ 1,0,1] 1

0 = 1,TWT(3)X3 [ 1,0,1] 1 0,故 W(4) W(3) X [ 1,1,0]3 1

1 =1,>0,故TWT(4)X4 [ 1,1,0] 0 W(5) W(4) [ 1,1,0] 1

第二轮迭代:

1 =1,>0,故TWT(5)X1 [ 1,1,0] 0 W(6) W(5) [ 1,1,0] 1

0 =1,>0,故TWT(6)X2 [ 1,1,0] 1 W(7) W(6) [ 1,1,0] 1

0 =1,>0,故TWT(7)X3 [ 1,1,0] 1 W(8) W(7) [ 1,1,0] 1

1 =1,>0,故TWT(8)X4 [ 1,1,0] 0 W(9) W(8) [ 1,1,0] 1

该轮迭代的分类结果全部正确,故解向量W [ 1,1,0]T 相应的判别函数为d(X) x1 x2

functionPerceptron

%UNTITLED Summary of this function goes here % Detailed explanation goes here X=[-1 0 0 -1;0 1 1 0;1 1 -1 -1];

W1=[0 0 0]';

t=0;

s=1;

while s>0

s=0;

for i=1:4

if W1'*X(:,i)<=0;

W1=W1+X(:,i);

s=s+1;

else W1=W1+0;

s=s+0;

end

end

t=t+1;

end

fprintf('迭代次数为',t)

fprintf('解向量为\nW=') disp(W1)

x1=[-1 0];x2=[0 1]; plot(x1,x2,'*') hold on

x1=[0 1];x2=[-1 0]; plot(x1,x2,'o') hold on

ezplot('-x1+x2') axis([-2 2 -2 2]) end

程序运行结果:

>>Perceptron 迭代次数为2

解向量为

W= -1

1

本文来源:https://www.bwwdw.com/article/99ei.html

Top