无监督分类:聚类分析(K均值)

来源:互联网 发布:综合网络资源管理系统 编辑:程序博客网 时间:2024/06/06 01:31

1.K均值聚类

K均值聚类是最基础的一种聚类方法。K均值聚类,就是把看起来最集中、最不分散的簇标签分配到输入训练样本{xi}中。具体而言就是通过下式计算簇y的分散状况:

在这里,∑i,yi=y表示的是满足yi=y的y的和。

μy是指簇y的中心。ny为属于簇y的样本总数。利用上述定义,对于所有的簇y=1,2,3,..,c的下式和最小时,决定其所属的簇标签。

然而,上述的最优化过程的计算时间随着样本数目n的增加呈现指数级的增长,当n为较大的数值的时候,很难对其进行高精度的求解。因此在实际应用中,一般将样本逐个分类到距离最近的聚类中,并重复这一操作,直到最终求得其局部最优解。

K均值聚类的算法流程如下所示:

K均值聚类的一个实例:

K均值聚类算法的实例。方框表示的是簇中心

2.核K均值聚类

由于K均值聚类是依据欧氏距离||x-μy||的大小来决定样本所属的簇,因此只能处理线性可分得聚类问题。
同理,我们可以采用核映射的方法,可以处理非线性可分的聚类问题(核K均值聚类算法)。具体而言,就是把上市的欧式距离的平方用样本间的內积来表示,如下:

接着,把上式的內积置换为核函数K(x,x'),就变成了核K均值聚类算法。

在这里,与(x,x')相对应的K(x,x')是与最小化无关的常数,因此实际计算过程中可以忽略。
利用核K均值聚类可以得到非线性的簇的分类结果。然而,采用核函数的非线性核K均值聚类的方法,最终的聚类结果强烈依赖于初始值的选取,因此在实际应用中想要得到理想的解并非易事。

3.谱聚类

核K均值聚类方法,最终的聚类结果强烈以来与初始值的选取,当由核函数决定的特征空间的纬度比较高的时候,这种依赖尤其明显。对此,可以使用降维的方法来解决这个问题,这种方法称为谱聚类。
前面也介绍了很多的无监督聚类方法。其中也包括可以很好地保护原始数据中的簇构造的局部保持投影法,作为聚类分析的前处理是一种很好的选择。谱聚类,首先在核特征空间中应用局部保持投影法,然后直接应用常规的K均值聚类方法(并非核函数的方法)。
谱聚类的具体算法流程如下:

利用谱聚类的一则实例如下:

a表示的原始二维数据应用拉普拉斯特征映射法向一维部分空间进行映射,就可以得到b所示的只有两点的数据结果。对得到的b结果,利用K均值聚类处理后,就可以得到c那样的两个点分别代表一个聚类结果,再把得到的簇标签映射到原始的二维数据中,就可以得到d所示的自然地聚类结果。

4.调整参数的自动选取

核K均值聚类法和谱聚类的结果依赖于高斯核函数的带宽等核参数的选择。这一块重点讨论聚类方法中根据更重客观条件自动决定这些参数的方法。
聚类算法中,通过d次维的实向量样本{xi},求得c中标量值1,...,c对应的簇标签{yi}。这一操作可以被理解为将d次维的实向量中包含的信息,通过标量c进行压缩。如下所示:

基于这样的观点,一般认为簇标签{yi}比原始的样本{xi}包含更多的信息,可以得到更好的聚类结果。
簇标签{yi}包含的样本{xi}的信息量,可以通过互信息来进行测算。互信息是信息论中的一个基本概念定义如下:

互信息一般为非负的数值,只有当变量在统计上相互独立的时候,互信息为0.因此,可以通过互信息的大小推导出x,y的从属性的强弱。综上可知,互信息越大,簇标签{yi}包含样本{xi}的信息越多。
互信息的值,可以采用KL散度密度比估计法进行高精度的计算。但是由于互信息的计算公式中包含对数函数,对异常值的反应相当的明显,所以经常采用没有对数的平方损失互信息来加以替换(泰勒公式)

接下来主要讨论样本{xi}和簇标签{yi}之间的平方损失互信息的最小二乘互信息估计法。平方损失互信息最小二乘互信息估计法,不需要计算p(x,y)/p(x)/p(y)等概率,而是对将其组合而成的密度比函数进行学习。

为了对上述的密度比函数进行近似,采用与参数相关的线性模型:

然后对下式的J(a)为最小时对应的参数a进行最小二乘学习:

上式中,C是无关的常数,计算过程可以忽略。然后,对第一项和第二项中包含的期望值进行样本平均近似,再加上L2正则化项,就可以的带下面的学习规则:

其中,G是b*b阶矩阵;h是b次维向量:

对于上面的凸的二次式,进行简单的偏微分求导即可得到最优解:

将上面得到的密度比估计量,带入与平方损失互信息等价的下式:

就可以得到如下的平方损失互信息的估计量:

正则化参数λ和基函数中包含的参数,可以通过与规则J相关的交叉验证法加以确定。
下面是与各个簇的高斯模型相对应的最小二乘互信息估计法的实例:

使用k近邻相似度的谱聚类中,当k=10的时候平方损失互信息的估计值达到最大值
由此可以得到最优的聚类效果
原创粉丝点击