模式识别作业第三章

发布 2022-07-14 04:50:28 阅读 1219

第三章作业。

1.设有10个两维模式,

若选择阈值的系数为,使用最大最小算法进行聚类。

解:先定义几个函数:

文件名为函数。

求其他样本点与选定点的第m个的最大距离,并找到这个最大距离点。

function [distance,i]=caldistance(x,m)

m,n]=size(x);

distance=0;

index=0;

for i=1:n

index=index+1;

temp=sum((x(:,m)-x(:,i)).2);

distance(index)=sqrt(temp);

v(:,i)=distance(index);

endend

文件名为函数。

其他样本分别与第m、n个样本之间的欧氏距离距离,取较小的。

function [vv i]=jiaoxiaojuli(x,m,n)

[m,n]=size(x);

ddistance=0;

for i=1:n

temp=sum((x(:,m)-x(:,i)).2);

ddistance(1)=sqrt(temp);

temp1=sum((x(:,n)-x(:,i)).2);

ddistance(2)=sqrt(temp1);

ddistance=min(ddistance(1),ddistance(2));

vv(:,i)=ddistance;

endend

文件名为函数。

其他各样本点被分到离z1、z2近的类中。

function [w1 w]=fenlei(x,m,n)

m,n]=size(x);

for i=1:n

a1=sqrt(sum((x(:,m)-x(:,i)).2));

a2=sqrt(sum((x(:,n)-x(:,i)).2));

if a1>a2

w1(1,i)=i;

w(1,i)=0;

elsew1(1,i)=0;

w(1,i)=i;

endend

end文件名为函数。

第m、n和q个样本与其他样本之间的欧氏距离取较小的一个。

function [s]=z3jiaoxiao(x,m,n,q)

[m,n]=size(x);

ddistance=0;

for i=1:n

temp=sum((x(:,m)-x(:,i)).2);

ddistance(1)=sqrt(temp);

temp=sum((x(:,n)-x(:,i)).2);

ddistance(2)=sqrt(temp);

temp=sum((x(:,q)-x(:,i)).2);

ddistance(3)=sqrt(temp);

ddistance=min(min(ddistance(1),ddistance(2)),ddistance(3));

s(:,i)=ddistance;

endend

文件名为函数。

将x中的各样本点分类到离第m、n、p较近的类中。

function [w1 w2 w3]=z3fenlei(x,m,n,p)

m,n]=size(x);

for i=1:n

a1=sqrt(sum((x(:,m)-x(:,i)).2));

a2=sqrt(sum((x(:,n)-x(:,i)).2));

a3=sqrt(sum((x(:,p)-x(:,i)).2));

if a1<=a2&&a1<=a3

w1(1,i)=i;

w2(1,i)=0;

w3(1,i)=0;

elseif a2<=a1&&a2<=a3

w1(1,i)=0;

w2(1,i)=i;

w3(1,i)=0;

elseif a3 w1(1,i)=0;

w2(1,i)=0;

w3(1,i)=i;

end end

end总程序为:

x1=[0 0]';x2=[1 1]';x3=[2 2]';x4=[3 7]';x5=[3 6]';x6=[4 6]';x7=[5 7]';x8=[6 3]';x9=[7 3]';x10=[7 4]';

x=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];

z1=x2;

distance,i]=caldistance(x,2);%得到i,和最大距离distance,i=10

h=i;t=1/2*sqrt(sum((z1-x(:,i)).2));

vv j]=jiaoxiaojuli(x,2,h);

第m和n个样本与其他样本之间的欧氏距离取较小的一个放在数组vv中1*10

a1 k]=max(vv);

if a1 [w1 w2]=fenlei(x,2,h) %分类。

elsedisp('add z3')

[s]=z3jiaoxiao(x,2,h,k);

[a2 k1]=max(s);

if a2h,k

[w1 w2 w3]=z3fenlei(x,2,h,k); 分类。

elsedisp('add z4')

endend

a=find(w1>0);b=find(w2>0);c=find(w3>0);

画第一类点。

m n]=size(a);

for t=1:n

s=a(t);

plot(x(1,s),x(2,s),'bo');hold on;

end画第二类点。

[m n]=size(b);

for t=1:n

s=b(t);

plot(x(1,s),x(2,s),'rx')

end画第三类点。

m n]=size(c);

for t=1:n

s=c(t);

plot(x(1,s),x(2,s),'kd')

endaxis([-1 7 -1 7]);title('最大最小算法聚类')

运行结果:add z3h =

k =a =

b =c =

由结果可知,聚类结果如图:

2.设有5个两维模式样本,

定义类间距离为最小距离,且不小于3,试用层次距离法对5个样本进行聚类。

解:定义文件名为函数:

function [vv r i]=jiaoxiaojuli(x,m,n)

第m和n个样本与其他样本之间的欧氏距离取较小的一个。

[m,n]=size(x);

ddistance=0;k=0;

for i=1:n

if i~=m&&i~=n

k=k+1;

temp=sum((x(:,m)-x(:,i)).2);

ddistance(1)=sqrt(temp);

temp1=sum((x(:,n)-x(:,i)).2);

ddistance(2)=sqrt(temp1);

ddistance=min(ddistance(1),ddistance(2));

vv(:,k)=ddistance;

第m和n个样本与其他样本之间的欧氏距离取较小的一个放在数组vv中1*10

r(:,k)=i;

elseend

endend

主程序:x1=[0 0]';x2=[0 1]';x3=[2 0]';x4=[3 3]';x5=[4 4]';

x=[x1 x2 x3 x4 x5];l=0;

d12=sqrt(sum((x(:,1)-x(:,2)).2));

d13=sqrt(sum((x(:,1)-x(:,3)).2));

d14=sqrt(sum((x(:,1)-x(:,4)).2));

d15=sqrt(sum((x(:,1)-x(:,5)).2));

d23=sqrt(sum((x(:,2)-x(:,3)).2));

d24=sqrt(sum((x(:,2)-x(:,4)).2));

d25=sqrt(sum((x(:,2)-x(:,5)).2));

d34=sqrt(sum((x(:,3)-x(:,4)).2));

d35=sqrt(sum((x(:,3)-x(:,5)).2));

d45=sqrt(sum((x(:,4)-x(:,5)).2));

d=[d12 d13 d14 d15 d23 d24 d25 d34 d35 d45];

a i]=min(d);

if i==1

w1=[x1 x2];

j=1;k=2;

elseif i==2

w1=[x1 x3];

j=1;k=3;

elseif i==3

w1=[x1 x4];

j=1;k=4;

elseif i==4

w1=[x1 x5];

j=1;k=5;

elseif i==5

w1=[x2 x3];

j=2;k=3;

elseif i==6

w1=[x2 x4];

j=2;k=4;

elseif i==7

w1=[x2 x5];

j=2;k=5;

elseif i==8

w1=[x3 x4];

j=3;k=4;

elseif i==9

w1=[x3 x5];

j=3;k=5;

elseif i==10

模式识别作业第三章

第三章作业。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 构成增广向...

模式识别作业三

第三次模式识别作业。章 第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分类和基于核的...