谱聚类算法简单理解

一、算法思想

谱聚类是基于图论的知识所演化出的算法,在聚类中广泛使用。主要思想是将所有的数据看成空间中的点,这些点之间可以用边连接起来,距离较远的两点之间边的权重值较低,距离较近的两点间边的权重值较高,然后通过对所有数据点组成的图进行切图,让切图后不同子图间边的权重之和尽可能低,子图内边的权重之和尽可能高,从而达到聚类的目的。

clip_image001

                                                                                                图一 

二、基础知识

1、无向权重图

对于一个图G,我们定义点的集合V和边的集合E来描述,记为G(V,E),其中V=(v1, v2,...,vn)。定义wij是点vi和vj之间的权重,对于无向图,则有wij=wji。若两点vi和vj之间有边连接,则wij>0,若没有则wij=0。图中任意一点vi的度di就是与之相连的所有边的权重之和,即

                                                                                        d_{i}=\sum _{j=1}^{n}w_{ij}

 接着,我们利用所有点的度构建一个NxN的度矩阵D,它是一个对角矩阵,定义如下

 利用所有点之间的权重值,我们可以得到一个NxN的邻接矩阵,wij就是我们邻接矩阵第i行和第j列的权重wij。

2、相似度矩阵

事实上,在谱聚类中我们并没有直接给出权重,因此无法直接构建邻接矩阵。因此,在谱聚类中的基本思想是,距离较远的两点之间权重值较低,距离近的权重值较高,在定量的给定权重值时,我们是通过样本点距离度量的相似度矩阵S来得到邻接矩阵W的。为了得到相似度矩阵,从而求出W,我们一般有三类方法:\epsilon​​​​​​​​​​​​​​-近邻法,k-近邻法和全连接法。

 (1)对于\epsilon-近邻法,设置一个距离阈值\epsilon​​​​​​​​​​​​​​,然后用欧氏距离Sij度量任意两点间的距离,即相似度矩阵​​​​​​​s_{ij}=\left \| x_{i}-x_{j}\right \|_{2}^{2},然后根据sij和\epsilon的大小关系,来定义邻接矩阵W如下:

 (2)对于k近邻法,我们利用KNN算法遍历所有样本点,取每个样本最近的k个点作为近邻,只有和样本距离最近的k个点之间的wij>0,但这种方法造成重构后的邻接矩阵W不是堆成的,,为解决这一问题,可以使用如下两种方法来解决:

 

(3)对于全连接法 (使用最普遍),由于所有点之间的权重都大于0,所以叫全连接法。我们使用不同的核函数来定义边权重,常用的有多项式核函数,高斯核函数和Sigmoid核函数,最常用的是高斯核函数RBF,此时相似度矩阵和邻接矩阵相同:

3、拉普拉斯矩阵

拉普拉斯矩阵的定义是L=D-W。D为度矩阵,W为邻接矩阵。拉普拉斯具有一些较好的性质,如下:

(1)是对称矩阵

(2)所有的特征值都是实数

(3)对于任意向量Z,有:

 (4)是半正定的,且对应的n个实数特征值都大于等于0,且最小的特征值为0,。

4、无向图切图

 对于无向图G进行切图,将图切成k个子图,每个子图点的集合为A1,A2,...,Ak,满足

对任意两个字图A和B,我们定义 它们之间的切图权重为:

对于k个子图点的集合:A1,A2,...Ak,我们定义切图为:

但是如何使得子图内权重高,子图间权重低,我们需要运用谱聚类的方法进行切图,找到最优化方法。 

三、谱聚类操作

1、Normarized cut方法

该方法同时考虑最小化cut边和划分平衡,以免出现图一种的单独H的情况,划分标准是:子图各个端点的度之和。

clip_image016

2、Min cut方法

如上述方法中的计算方法,优化目标函数如下:

clip_image014

3、Ratio Cut方法

该方法同时考虑最小化cut边和划分平衡,最优化目标函数为:

 

clip_image018

四、算法流程

1、构建相似度矩阵S

2、根据相似度矩阵构建邻接矩阵W和度矩阵D

3、计算拉普拉斯矩阵L,并求出标准化后的拉普拉斯矩阵D-1/2LD-1/2

4、计算D-1/2LD-1/2最小的k1个特征值所对应的特征向量f,并对f组成的矩阵按行标准化,最终组成nxk1维的特征矩阵F

5、将F中的每一行作为一个样本,共n个样本,使用聚类方法进行聚类,聚类维数为k2

6、得到簇划分C(c1,c2,...,ck2)

五、补充

上面,我们讲了拉普拉斯矩阵是通过L=D-W来构造,拉普拉斯矩阵还可以通过相似度矩阵来构造,方法如下:

相似度矩阵是由权值矩阵得到的:

其中 ,然后利用相似度矩阵S构造Laplacian矩阵:

 注:在第一种方法中,求解的是Laplacian矩阵的前个最小特征值对应的特征向量,在第二种方法中,求解的是Laplacian矩阵的前个最大特征值对应的特征向量

谱聚类算法的主要优点有:
1)谱聚类只需要数据之间的相似度矩阵,因此对于处理稀疏数据的聚类很有效。这点传统聚类算法比如K-Means很难做到
2)由于使用了降维,因此在处理高维数据聚类时的复杂度比传统聚类算法好。
谱聚类算法的主要缺点有:
1)如果最终聚类的维度非常高,则由于降维的幅度不够,谱聚类的运行速度和最后的聚类效果均不好。

2)聚类效果依赖于相似矩阵,不同的相似矩阵得到的最终聚类效果可能很不同。

 

 参考:

https://www.cnblogs.com/pinard/p/6221564.html

https://www.cnblogs.com/sparkwen/p/3155850.html

  • 7
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值