模式识别作业.docx
《模式识别作业.docx》由会员分享,可在线阅读,更多相关《模式识别作业.docx(19页珍藏版)》请在冰豆网上搜索。
模式识别作业
第二章主要内容:
几种常见的聚类算法已经所使用的准则函数。
作业1:
对如下5个6维模式样本,用最小聚类准则进行系统聚类分析
已知样本如下:
x1:
0,1,3,1,3,4;x2:
3,3,3,1,2,1;x3:
1,0,0,0,1,1;x4:
2,1,0,2,2,1;x5:
0,0,1,0,1,0
第1步:
将每一样本看成单独一类,得
计算各类之间的欧式距离,可得距离矩阵
0
0
0
0
0
第2步:
矩阵中最小元素为,它是和之间的距离,将他们合并为一类,得新的分类为
计算聚类后的距离矩阵
0
0
0
0
第3步:
由于中距离最小者为,它是与之间的距离,于是合并和,得新的分类为
同样,按最小距离准则计算距离矩阵,得
0
0
0
第4步:
同理得满足聚类要求,如聚为2类,聚类完毕。
系统聚类算法介绍:
第一步:
设初始模式样本共有N个,每个样本自成一类,即建立N类。
G1(0),G2(0),……,GN(0)为计算各类之间的距离(初始时即为各样本间的距离),得到一个N*N维的距离矩阵D(0)。
这里,标号(0)表示聚类开始运算前的状态。
第二步:
假设前一步聚类运算中已求得距离矩阵D(n),n为逐次聚类合并的次数,则求D(n)中的最小元素。
如果它是Gi(n)和Gj(n)两类之间的距离,则将Gi(n)和Gj(n)两类合并为一类Gij(n+1),由此建立新的分类:
G1(n+1),G2(n+1)……
第三步:
计算合并后新类别之间的距离,得D(n+1)。
计算Gij(n+1)与其它没有发生合并的G1(n+1),G2(n+1)……之间的距离,可采用多种不同的距离计算准则进行计算。
第四步:
返回第二步,重复计算及合并,直到得到满意的分类结果。
(如:
达到所需的聚类数目,或D(n)中的最小分量超过给定阈值D等。
)
作业2:
选k=2,z1
(1)=x1,z2
(1)=x10,,用K-均值算法进行聚类分析
第一步:
选取
第二步:
根据聚类中心进行聚类,得到:
第三步:
计算新的聚类中心
第四步:
因,故回到第二步
第二步:
根据新的聚类中心重新进行聚类,得到:
第三步:
计算新的聚类中心:
第四步:
,所以算法收敛,得聚类中心为
迭代结束。
K-均值算法介绍:
算法适用于分类数已知。
总的思路如下:
选定聚类中心——>最小聚类准则归类——>重新计算聚类中心……直到聚类中心不改变为止。
第一步:
选K个初始聚类中心,z1
(1),z2
(1),…,zK
(1),其中括号内的序号为寻找聚类中心的迭代运算的次序号。
聚类中心的向量值可任意设定,例如可选开始的K个模式样本的向量值作为初始聚类中心。
第二步:
逐个将需分类的模式样本{x}按最小距离准则分配给K个聚类中心中的某一个zj
(1)。
假设i=j时,,则,其中k为迭代运算的次序号,第一次迭代k=1,Sj表示第j个聚类,其聚类中心为zj。
第三步:
计算各个聚类中心的新的向量值,zj(k+1),j=1,2,…,K
求各聚类域中所包含样本的均值向量:
其中Nj为第j个聚类域Sj中所包含的样本个数。
以均值向量作为新的聚类中心,可使如下聚类准则函数最小:
在这一步中要分别计算K个聚类中的样本均值向量,所以称之为K-均值算法。
第四步:
若,j=1,2,…,K,则返回第二步,将模式样本逐个重新分类,重复迭代运算;
若,j=1,2,…,K,则算法收敛,计算结束。
本章其他知识点:
1.距离相似度测量
1.1欧氏距离
设x和z为两个模式样本,其欧氏距离定义为:
D=||x-z||
例:
x=(x1,x2),z=(z1,z2),则
显然,模式x和z之间的距离越小,它们越相似。
欧氏距离的概念和习惯上距离的概念是一致的。
1.2马氏距离
设x是模式向量,m是均值向量,C为模式总体的协方差矩阵,则马氏距离的表达式:
1.3一般化的明氏距离
模式样本向量xi和xj之间的明氏距离表示为:
其中xik和xjk分别表示xi和xj的第k各分量。
显然,当m=2时,明氏距离即为欧氏距离。
特例:
当m=1时,,亦称为街坊距离。
2角度相似性函数
表达式:
,它表示模式向量x和z之间夹角的余弦,也称为x的单位向量与z的单位向量之间的点积。
特例:
当特征的取值仅为(0,1)两个值时,夹角余弦度量具有特别的含义,即当模式的第i个分量为1时,认为该模式具有第i个特征;当模式的第i个分量为0时,认为该模式无此特征。
这时,xTz的值就等于x和z这两个向量共同具有的特征数目。
同时,
={x中具有的特征数目和z中具有的特征数目的几何平均}
因此,在特征取值为0和1的二值情况下,S(x,z)等于x和z中具有的共同特征数目的相似性测度。
3.最大最小距离算法实例
10个模式样本点:
{x1(00),x2(38),x3(22),x4(11),x5(53),x6(48),x7(63),x8(54),x9(64),x10(75)}
算法思路:
根据最大最小距离准则,确定聚类数;然后按最近最近距离分类。
第一步:
选任意一个模式样本作为第一个聚类中心,如z1=x1
第二步:
选距离z1最远的样本作为第二个聚类中心。
经计算,||x6-z1||最大,所以z2=x6
第三步:
逐个计算各模式样本{xi,i=1,2,…,N}与{z1,z2}之间的距离,即
Di1=||xi-z1||
Di2=||xi–z2||
并选出其中的最小距离min(Di1,Di2),i=1,2,…,N
第四步:
在所有模式样本的最小值中选出最大距离,若该最大值达到||z1-z2||的一定比例以上,则相应的样本点取为第三个聚类中心z3,即若max{min(Di1,Di2),i=1,2,…,N}>θ||z1-z2||,则z3=xi。
否则,若找不到适合要求的样本作为新的聚类中心,则找聚类中心的过程结束。
这里,θ可用试探法取一固定分数,如1/2。
在此例中,当i=7时,符合上述条件,故z3=x7
第五步:
若有z3存在,则计算max{min(Di1,Di2,Di3),i=1,2,…,N}。
若该值超过||z1-z2||的一定比例,则存在z4,否则找聚类中心的过程结束。
在此例中,无z4满足条件。
第六步:
将模式样本{xi,i=1,2,…,N}按最近距离分到最近的聚类中心:
z1=x1:
{x1,x3,x4}为第一类
z2=x6:
{x2,x6}为第二类
z3=x7:
{x5,x7,x8,x9,x10}为第三类
最后,还可在每一类中计算个样本的均值,得到更具代表性的聚类中心。
第三章主要内容:
如何求判别函数。
第三章作业1:
在一个10类的模式识别问题中,有3类单独满足多类情况1,其余的类别满足多类情况2。
问该模式识别问题所需判别函数的最少数目是多少?
答:
将10类问题可看作4类满足多类情况1的问题,可将3类单独满足多类情况1的类找出来,剩下的7类全部划到4类中剩下的一个子类中。
再在此子类中,运用多类情况2的判别法则进行分类,此时需要7*(7-1)/2=21个判别函数。
故共需要4+21=25个判别函数。
第三章作业2:
一个三类问题,其判别函数如下:
d1(x)=-x1,d2(x)=x1+x2-1,d3(x)=x1-x2-1
1.设这些函数是在多类情况1条件下确定的,绘出其判别界面和每一个模式类别的区域。
2.设为多类情况2,并使:
d12(x)=d1(x),d13(x)=d2(x),d23(x)=d3(x)。
绘出其判别界面和多类情况2的区域。
3.设d1(x),d2(x)和d3(x)是在多类情况3的条件下确定的,绘出其判别界面和每类的区域。
答:
三种情况分别如下图所示:
1.
2.
3.
第三章作业3:
两类模式,每类包括5个3维不同的模式,且良好分布。
如果它们是线性可分的,问权向量至少需要几个系数分量?
假如要建立二次的多项式判别函数,又至少需要几个系数分量?
(设模式的良好分布不因模式变化而改变。
)
答:
(1)若是线性可分的,则权向量至少需要个系数分量;
(2)若要建立二次的多项式判别函数,则至少需要个系数分量。
第三章作业4:
用感知器算法求下列模式分类的解向量w:
ω1:
{(000)T,(100)T,(101)T,(110)T}ω2:
{(001)T,(011)T,(010)T,(111)T}
解:
将属于的训练样本乘以,并写成增广向量的形式
迭代选取,,则迭代过程中权向量变化如下:
;;;;;;;;
;;;收敛
所以最终得到解向量,相应的判别函数为。
P.S.迭代过程,或者迭代公式?
第三章作业5:
用多类感知器算法求下列模式的判别函数:
ω1:
(-1-1)T,ω2:
(00)T,ω3:
(11)T
解:
采用一般化的感知器算法,将模式样本写成增广形式,即
取初始值,取,则有
第一次迭代:
以为训练样本,,故
第二次迭代:
以为训练样本,,故
第三次迭代:
以为训练样本,,故
第四次迭代:
以为训练样本,,故
第五次迭代:
以为训练样本,,故
第六次迭代:
以为训练样本,,故
第七次迭代:
以为训练样本,,故
第八次迭代:
以为训练样本,,故
由于第六、七、八次迭代中对均以正确分类,故权向量的解为:
,可得三个判别函数为:
知识点介绍:
●多类情况1
用线性判别函数将属于ωi类的
模式与不属于ωi类的模式分开,
其判别函数为:
i=1,2,…,M
这种情况称为两分法,即把M类多类问题分成M个两类问题,因此共有M个判别函数,对应的判别函数的权向量为wi,i=1,2,…,M。
图例:
对一个三类情况,每一类模式可用一个简单的直线判别界面将它与其它类模式分开。
例如对的模式,应同时满足:
d1(x)>0,d2(x)<0,d3(x)<0
不确定区域:
若对某一模式区域,di(x)>0的条件超过一个,或全部di(x)<0,i=1,2,…,M,则分类失败,这种区域称为不确定区域(IR)。
●多类情况2
采用每对划分,即ωi/ωj两分法,
此时一个判别界面只能分开两种类别,
但不能把它与其余所有的界面分开。
其判别函数为:
若dij(x)>0,,则
重要性质:
dij=-dji
图例:
对一个三类情况,d12(x)=0仅能
分开ω1和ω2类,不能分开ω1和ω3类。
要分开M类模式,共需M(M-1)/2个判别函数。
不确定区域:
若所有dij(x),找不到,
dij(x)>0的情况。
●多类情况3(多类情况2的特例)
这是没有不确定区域的ωi/ωj两
分法。
假若多类情况2中的dij可分解
成:
dij(x)=di(x)-dj(x)=(wi–wj)Tx,
则dij(x)>0相当于di(x)>dj(x),,
这时不存在不确定区域。
此时,对M
类情况应有M个判别函数:
即di(x)>dj(x),,i,j=1,2,…,M,
则,也可写成,若di(x)=max{dk(x)