聚类分析相关概念
聚类分析——对一批没有标出类别的模式样本集,按照样本之间的相似程度分类,相似的归为一类,不相似的归为另一类
聚类中,将样本根据相似程度进行分类,这个相似程度就是用样本特征之间的相似程度。把整个模式样本集的特征向量看成是分布在特征空间中的一些点,点与点之间的距离即可作为模式相似性的测量依据,也就是将特征空间中距离较近的样本归为一类。
其中,特征的选择非常重要。当特征选少了,可能导致聚类困难;特征选多了,就会增加计算量。
模式相似性的测度和聚类准则
相似性测度
为了能将模式集划分成不同的类别,必须定义一种相似性的测度,来度量同一类样本间的类似性和不属于同一类样本间的差异性。
相似性测度一般有欧氏距离、马氏距离、明氏距离等。
其中,用作测度的各种距离的量纲的选择要保持一致,否则,选择不同的量纲会导致不同的分类,如下图。
聚类准则
有了模式的相似性测度,还需要一种基于数值的聚类准则,能将相似的模式样本分在同一类,相异的模式样本分在不同的类。聚类准则一般有试探方法和聚类准则函数法。
聚类算法举例
KNN最近邻算法
该算法的步骤如下:
给定N个待分类的模式样本x1,x2,…,xN,要求按距离阈值T,将它们分类到聚类中心z1,z2,…。
第一步——
任取一样本xi作为一个聚类中心的初始值,例如令z1=x1
计算D21=||x2−z1||
若D21>T,则确定一个新的聚类中心z2=x2
否则x2属于以z1为中心的聚类
第二步——
假设已有聚类中心z1、z2
计算D31=||x3−z1||
D32=||x3−z2||
若D31>T且D32>T,则得一个新的聚类中心z3=x3
否则x3属于离z1和z2中的最近者
⋅⋅⋅⋅⋅⋅
如此重复下去,直至将N个模式样本分类完毕。
K均值算法
第一步——
选K个初始聚类中心,z1(1),z2(1),…,zK(1),其中括号内的序号为寻找聚类中心的迭代运算的次序号。聚类中心的向量值可任意设定,例如可选开始的K个模式样本的向量值作为初始聚类中心。
第二步——
逐个将需分类的模式样本x按最小距离准则分配给K个聚类中心中的某一个zj(1)。
假设i=j时,Dj(k)=min{||x−zi(k)||,i=1,2,...,k},则x∈Si(k),其中k为迭代运算的次序号,第一次迭代k=1,Sj表示第j个聚类,其聚类中心为zj。
第三步——
计算各个聚类中心的新的向量值,zj(k+1),j=1,2,…,K求各聚类域中所包含样本的均值向量:
第四步——
若zj(k+1)≠zj(k),j=1,2,…,K,则返回第二步,将模式样本逐个重新分类,重复迭代运算;若zj(k+1)=zj(k),j=1,2,…,K,则算法收敛,计算结束。
*本人才疏学浅,文中若有不当之处,望请指点