当前位置:文档之家› 模式识别实验报告

模式识别实验报告

模式识别实验报告实验一、最近邻规则的聚类算法一、实验要求编写采用最近邻规则的聚类算法,距离采用欧式距离,阈值可设定。

采用二维特征空间中的10个样本对程序进行验证。

x1=(0,0),x2=(3,8),x3=(2,2),x4=(1,1),x5=(5,3),x6=(4,8),x7=(6,3),x8=(5,4),x9=(6,4),x10=(7,5)。

二、实验步骤○1、选取距离阈值T,并且任取一个样本作为第一个聚合中心Z1,如:Z1=x1;○2、计算样本x2到Z1的距离D21;若D21≤T,则x2∈Z1,否则令x2为第二个聚合中心,Z2=x2。

设Z2=x2,计算x3到Z1和Z2的距离D31和D32。

若D31>T和D32>T,则建立第三个聚合中心Z3;否则把x3归于最近邻的聚合中心。

依此类推,直到把所有的n个样本都进行分类。

○3、按照某种聚类准则考察聚类结果,若不满意,则重新选取距离阈值T、第一个聚合中心Z1,返回第二步②处,直到满意,算法结束。

三、程序设计详见附件1:test1.m。

四、仿真结果五、结果分析1、考虑阈值对聚类的影响:由上述仿真结果可知,阈值大小对于分类的影响非常大。

当阈值小于1的时候,样本(10个)共分为10类;而当阈值大于10的时候,样本全分为1类;当阈值在其中时,随着阈值的变化分类页多样化。

所以选取合适的阈值是正确分类的前提标准!2、考虑初始聚类中心对聚类的影响:在合适的阈值下,第一个聚类中心的选取对分类结果几乎没有什么影响;而相对的,阈值不合适的情况下,第一个聚类中心的选取对分类结果还是有一些影响,仿真结果会出现一些偏差。

3、实验小结:综上可知,只有预先分析过样本,对阈值进行范围估算,再通过实验验证,才能得到合适的阈值,对样本进行正确分类,而初始聚合中心对其没有影响。

实验二、k-均值聚类算法一、实验要求:编写k-均值聚类算法的程序,对下列数据进行聚类。

(0,0),(1,0),(0,1),(1,1),(2,1),(1,2),(2,2),(3,2),(6,6),(7,6),(8,6),(6,7),(7,7),(8,7),(9,7),(7,8),(8,8),(9,8),(8,9),(9,9).二、实验步骤○1、给出n个混合样本,令I=1,表示迭代运算次数,选取c 个初始聚合中心,j=1,2,…,c;○2、计算每个样本与聚合中心的距离,,。

若,则。

○3、计算c个新的聚合中心:,。

○4、判断:若,,则I=I+1,返回第二步b处,否则结束。

三、程序设计详见附件2:test2.m。

四、仿真结果1、类别数目一定时,初始聚类中心对聚类的影响:0123456789012345678901234567890123456789初始聚合中心为(0,0),(2,2),(5,5),(7,7),(9,9)初始聚合中心为(1,1),(3,3),(6,6),(7,7)(8,8)2、类别数目对聚类的影响:初始聚合中心为(0,0)初始聚合中心为(0,0),(9,9)初始聚合中心为(0,0),(5,5),(9,9)初始聚合中心为(0,0),(2,2),(7,7),(9,9)初始聚合中心为(0,0),(2,2),(5,5),(7,7),(9,9)五、结果分析1、类别数目一定时,考虑初始聚合中心对聚类的影响:由上述仿真结果可知,当类别数目为1和2时,初始聚合中心对聚类没有影响。

但当C=2时,该类别属于正确分类。

而类别数目大于2时,初始聚合中心对聚类的影响非常大,仿真结果多样化,不能作为分类标准。

2、考虑类别数目对聚类的影响:当类别数目变化时,结果也随之出现变化。

3、总结综上可知,只有预先分析过样本,确定合适的类别数目,才能对样本进行正确分类,而初始聚合中心对其没有影响。

实验三、感知器算法一、实验要求:使用感知器算法给出区分两类模式的判别函数。

ω1=(x1,x2)={(1,0,1),(0,1,1)}ω2=(x3,x4)={(1,1,0),(0,1,0)}二、实验步骤○1、初始化:给定一个训练模式集{x1,x2,…x N},其中每个类别已知,它们分属于ω1,ω2;x i=(x i1,x i2,…x in)T为n维向量,增广为(n+1)维向量:x i=(x i1, x i2,…x in,1);ω2类样本乘以-1;权向量w为(n+1)维向量。

○2、置步数k=1,令增量C为常数,且C>0,分别赋予初始增广权矢量w(1)的各分量较小的任意值。

○3、输入训练模式x k,计算判别函数值w T(k)x k○4、调整增广权矢量,规则是:如果w T(k)x k≤0,则w(k+1)=w(k)+Cx k;如果w T(k)x k>0,则w(k+1)=w(k);○5、如果k<N,令k=k+1,返至第二步。

如果k=N,则检验判别函数w T x对x1,x2,…,x N,是否都能正确分类。

若是,结束;若不是,令k=1,返至第二步。

三、程序设计详见附件3:test3.m。

四、仿真结果假设初始的权矢量为w=[1111]T。

1、输入步长c的值:1x=conj(x1) conj(x2) conj(x3)1w=-13y=3*conj(x3)-conj(x2) 2、输入步长c的值:0.5x=conj(x1) conj(x2) conj(x3)1w=-0.5000-0.50001.5000-0.5000y=(3*conj(x3))/2-conj(x2)/2-conj(x1)/2-1/2 3、输入步长c的值:0.1x=conj(x1)conj(x2) conj(x3)1 w=0.3000 -0.2000 1.0000 -0.2000y=(3*conj(x1))/10-conj(x2)/5+conj(x3)-1/5五、结果分析选取的步长(即增量)不同,其计算得到的权矢量和判别函数也不尽相同。

但是,无论步长为何,该算法总能使样本正确分类。

实验四、感知器算法一、实验要求:实验所用样本数据如表给出,编制程序实现ω1、ω2、ω3、ω4类的分类。

二、实验步骤前提条件:只考虑第三种情况:如果d i(x)>d j(x)任意j≠i,则判x∈ωi。

○1、赋初值,分别给c个权矢量w i(1)(i=1,2,…c)赋任意的初值,选择正常数ρ,置步数k=1;○2、输入符号未规范化的增广训练模式xk,xk∈{x1,x2…xN},计算c个判别函数:di(xk)=wi’(k)xk(i=1,2,…c);○3、调整增广权矢量,规则是:a、如果xk∈ωi和di(xk)>dj(xk)(任意j≠i),则:w i(k+1)=w i(k)(i=1,2,…c)b、如果x k∈ωi和d l(x k)≥d i(x k)(l≠i)则:w i(k+1)=w i(k)+ρx kw l(k+1)=w l(k)-ρx kw j(k+1)=w j(k)(任意j≠l,i)○4、如果k<N,令k=k+1,返至○2。

如果k=N,则检验判别函数w i’x对x1,x2…x N,是否都能正确分类。

若是,结束;若不是,令k=1,返至○2。

三、程序设计详见附件4:test4.m。

四、仿真结果假设初始的权矢量皆为w1=w2=w3=w4=[1111]T。

1、输入步长c的值:1w(:,:,1,1)=4.0000-0.9000-4.60001.0000 w(:,:,1,2)=8.0000-7.20009.00001.0000 w(:,:,1,3)=-3.70004.600012.70000 w(:,:,1,4)= -11.6000-4.7000 -10.6000-1.0000D=11.3800-78.6600-13.5400 2.980017.8700-78.2200-23.4800-3.67009.9600108.380024.4400-124.480021.670065.5600-35.3200-29.5100-24.7900-0.500050.23000.7100-28.0900-65.940077.4200-30.510020.330011.2800-86.8800108.55002.6400-136.9400-65.7900177.1200000 1.0000 2、输入步长c的值:0.5w(:,:,1,1)=2.50000.0500-1.80001.0000 w(:,:,1,2)=4.5000-3.10005.00001.0000 w(:,:,1,3)=-1.35002.80006.85000.5000 w(:,:,1,4)=-5.3000-1.8500-4.8000D=7.8900-37.1300-4.5700 3.690011.4850-36.5600-9.19000.715010.580059.790017.8200-56.640011.285033.2300-17.2100-14.3050-11.69500.450025.8150 1.0550-9.5950-28.520043.1600-10.80503.1150-1.4100-50.490047.2250-6.1300-75.9200-40.345081.1100000 1.0000 3、输入步长c的值:0.1w(:,:,1,1)=1.30000.81000.44001.0000 w(:,:,1,2)=1.70000.18001.80001.0000 w(:,:,1,3)=0.53001.36002.17000.9000 w(:,:,1,4)=-0.26000.4300-0.16000.8000D=5.0980-3.9060 2.6060 4.25806.3770-3.2320 2.2420 4.223011.076020.918012.5240-2.36802.97707.3660-2.7220-2.1410-1.2190 1.2100 6.2830 1.33105.2010 1.416015.7520 4.9590-10.6570-11.5620-21.3780-1.8350-13.1460-27.1040-19.9890 4.3020000 1.0000五、结果分析虽然选取的步长(即增量)不同,其计算得到的权矢量和判别函数也不尽相同。

但是,通过对判别函数值得检验,发现所有分类都是正确的。

相关主题