第三章作业。
3.5 已知两类训练样本为。
设,用感知器算法求解判别函数,并绘出判别界面。
解:matlab程序如下:
clear感知器算法求解判别函数。
x1=[0 0 0]';x2=[1 0 0]';x3=[1 0 1]';x4=[1 1 0]';x5=[0 0 1]';x6=[0 1 1]';x7=[0 1 0]';x8=[1 1 1]';
构成增广向量形式,并进行规范化处理。
x=[0 1 1 1 0 0 0 -1;0 0 0 1 0 -1 -1 -1;0 0 1 0 -1 -1 0 -1;1 1 1 1 -1 -1 -1 -1];
plot3(x1(1),x1(2),x1(3),'ro',x2(1),x2(2),x2(3),'ro',x3(1),x3(2),x3(3),'ro',x4(1),x4(2),x4(3),'ro');hold on;
plot3(x5(1),x5(2),x5(3),'rx',x6(1),x6(2),x6(3),'rx',x7(1),x7(2),x7(3),'rx',x8(1),x8(2),x8(3),'rx');grid on;
w=[-1,-2,-2,0]';c=1;n=2000;
for k=1:n
t=for i=1:8
d=w'*x(:,i);
if d>0
w=w;t=[t 1];
elsew=w+c*x(:,i);
t=[t -1];
endend
if i==8&t==ones(1,8)
w=wsyms x y
z=-w(1)/w(3)*x-w(2)/w(3)*y-1/w(3);
ezmesh(x,y,z,[0.5 1 2]);
axis([-0.5,1.5,-0.5,1.5,-0.5,1.5]);
title('感知器算法')
break;
elseend
end运行结果:w =
判别界面如下图所示:
若有样本;其增广;
则判别函数可写成:
若,则,否则。
3.6 已知三类问题的训练样本为。
试用多类感知器算法求解判别函数。
解:(方法一)
增广向量形式:
任取初始权向量。
第一次迭代:
但且不成立。
三个权向量都需要修改:
第二次迭代:
但且不成立。
三个权向量都需要修改:
第三次迭代:
但且不成立。
三个权向量都需要修改:
迭代到。六、七、八次有权向量的解:
判别函数:
方法二)编写matlab程序如下:
clear多类感知器算法求解判别函数。
x1=[-1 -1]';x2=[0 0]';x3=[1 1]';
增广向量形式。
x=[-1 0 1;-1 0 1;1 1 1];
w1=[0 0 0]';w2=w1;w3=w1;
n=100;c=1;
for k=1:n
t=[0 0 0];
for i=1:3
d1=w1'*x(:,i);
d2=w2'*x(:,i);
d3=w3'*x(:,i);
switch i
case 1
if d1>d2&d1>d3
t(i)=1;
elseif d1>d2&d1<=d3
w1=w1+x(:,i);
w2=w2;
w3=w3-x(:,i);
elseif d1>d3&d1<=d2
w1=w1+x(:,i);
w2=w2-x(:,i);
w3=w3;
elseif d1<=d2&d1<=d3
w1=w1+x(:,i);
w2=w2-x(:,i);
w3=w3-x(:,i);
endcase 2
if d2>d1&d2>d3
t(i)=1;
elseif d2>d1&d2<=d3
w1=w1;
w2=w2+x(:,i);
w3=w3-x(:,i);
elseif d2>d3&d2<=d1
w2=w2+x(:,i);
w1=w1-x(:,i);
w3=w3;
elseif d2<=d1&d2<=d3
w2=w2+x(:,i);
w1=w1-x(:,i);
w3=w3-x(:,i);
endcase 3
if d3>d2&d3>d1
t(i)=1;
elseif d3>d2&d3<=d1
w3=w3+x(:,i);
w2=w2;
w1=w1-x(:,i);
elseif d3>d1&d3<=d2
w1=w1;
w3=w3+x(:,i);
w2=w2-x(:,i);
elseif d3<=d2&d3<=d1
w3=w3+x(:,i);
w2=w2-x(:,i);
w1=w1-x(:,i);
endend
endif t==ones(1,3)
w1,w2,w3
break;
elseend
end运行结果:w1 =
w2 =
w3 =
故可得判别函数:
3.7 用lmse算法求解习题3.5中两类模式的判别函数,并绘出判别界面。
解:编写matlab程序如下:
clearlmse算法求解判别函数。
x1=[0 0 0]';x2=[1 0 0]';x3=[1 0 1]';x4=[1 1 0]';x5=[0 0 1]';x6=[0 1 1]';x7=[0 1 0]';x8=[1 1 1]';
规范化增广样本矩阵。
x=[0 0 0 1;1 0 0 1;1 0 1 1;1 1 0 1;0 0 -1 -1;0 -1 -1 -1;0 -1 0 -1;-1 -1 -1 -1];
plot3(x1(1),x1(2),x1(3),'ro',x2(1),x2(2),x2(3),'ro',x3(1),x3(2),x3(3),'ro',x4(1),x4(2),x4(3),'ro');hold on;
plot3(x5(1),x5(2),x5(3),'rx',x6(1),x6(2),x6(3),'rx',x7(1),x7(2),x7(3),'rx',x8(1),x8(2),x8(3),'rx');grid on;
伪逆矩阵。x=inv(x'*x)*x'; x的伪逆矩阵。
b=ones(8,1);z=10*ones(8,1);t=[z];
for i=2:1000
w=x*b;
e=x*w-b;
t=[t e];j=i-1;
这里存在问题,有待解决。但不影响本题
a=e>0;
b=e<0;
if a==0
w',b',e',i
break;
elseif sum(b,1)==8
disp('线性不可分模式')
brek;
elseb=b+(e+abs(e));
endsyms x y
z=-w(1)/w(3)*x-w(2)/w(3)*y-w(4)/w(3);
ezmesh(x,y,z,[0.5 1 2]);
axis([-0.5,1.5,-0.5,1.5,-0.5,1.5]);
title(' lmse算法·¨'
运行结果:w =
b =e =1.0e-015 *
模式识别作业第三章
第三章作业。1.设有10个两维模式,若选择阈值的系数为,使用最大最小算法进行聚类。解 先定义几个函数 文件名为函数。求其他样本点与选定点的第m个的最大距离,并找到这个最大距离点。function distance,i caldistance x,m m,n size x distance 0 ind...
模式识别作业三
第三次模式识别作业。章 第3 章。1.分别写出在以下两种情况 12 下的最小错误率 基本的 贝叶斯决策规则。答 判别函数为 g x p w1 p x w1 p w2 p x w2 1 当时,g x p w1 p w2 所以。2 当时,g x p x w1 p x w2 所以。2.两类的一维模式,每一...
模式识别作业
6.题目 fisher分类和基于核的fisher分类的设计与实现研究。具体内容 1.简述fisher分类和基于核的fisher分类的算法原理 2.举出实例 3.用matlab软件编写程序实现 4.分析实验结果。fisher分类和基于核的fisher分类的设计与实现研究。1 fisher分类和基于核的...