感知器算法作业:图为二维平面中的4个点,x1,x2∈ω1,x3,x4∈ω2,
使用感知器算法的线性分类器,步长参数设为1.x4x1x3解:由
知:ω1:X1=[−1,0]TX2=[0,1]Tω2:X3=[0,−1]TX4=[1,0]T所有样本写成增广向量形式,进行规范化处理,属于ω2的样本乘以-1X1=[−1,0,1]TX2=[0,1,1]TX3=[0,1,−1]TX4=[−1,0,−1]T步长c=1,任取W(1)=[0,0,0]T第一轮迭代:WT(1)X1=[0,0,0]⎣⎢⎡−101⎦⎥⎤=0,≤0,故W(2)=W(1)X1=[−1,0,1]TWT(2)X2=[−1,0,1]⎣⎢⎡011⎦⎥⎤=1,>0,故W(3)=W(2)=[−1,0,1]TWT(3)X3=[−1,0,1]⎣⎢⎡01−1⎦⎥⎤=−1,≤0,故W(4)=W(3)X3=[−1,1,0]TWT(4)X4=[−1,1,0]⎣⎢⎡−10−1⎦⎥⎤=1,>0,故W(5)=W(4)=[−1,1,0]T第二轮迭代:WT(5)X1=[−1,1,0]⎣⎢⎡−101⎦⎥⎤=1,>0,故W(6)=W(5)=[−1,1,0]TWT(6)X2=[−1,1,0]⎣⎢⎡011⎦⎥⎤=1,>0,故W(7)=W(6)=[−1,1,0]TWT(7)X3=[−1,1,0]⎣⎢⎡01−1⎦⎥⎤=1,>0,故W(8)=W(7)=[−1,1,0]TWT(8)X4=[−1,1,0]⎣⎢⎡−10−1⎦⎥⎤=1,>0,故W(9)=W(8)=[−1,1,0]T该轮迭代的分类结果全部正确,故解向量W=[−1,1,0]T相应的判别函数为d(X)=−x1x2functionPerceptron%UNTITLEDSummaryofthisfunctiongoeshere% DetailedexplanationgoeshereX=[-100-1;0110;11-1-1];W1=[000]';t=0;s=1;whiles>0s=0;fori=1:4ifW1'*X(:,i)<=0;W1=W1X(:,i);s=s1;elseW1=W10;s=s0;endendt=t1;endfprintf('迭代次数为',t)fprintf('解向量为\nW=')disp(W1)x1=[-10];x2=[01];plot(x1,x2,'*')holdonx1=[01];x2=[-10];plot(x1,x2,'o')holdonezplot('-x1x2')axis([-22-22])end程序运行结果:>>Perceptron迭代次数为2解向量为W= -110