谱聚类算法及图分割算法

转自: http://blog.csdn.net/aspirinvagrant/article/details/41700025

谱聚类算法

  谱聚类算法由于其算法流程简单、计算简洁与 Kmeans 算法相比不容易陷入局部最优解,能够对高维度、非常规分布的数据进行聚类。谱聚类算法是利用图谱理论来进行算法分析,思想是把数据分析问题看成是图的最优分割问题,将数据样本看成是各个数据点,然后将数据点描绘成一个图表,根据图表关系计算出相应的相似矩阵,找到一种最优分割方法计算出相似矩阵的最小特征向量,最后利用相应算法得出最后的聚类结果。

  谱聚类算法是将样本点看成为一个个顶点,将顶点之间用带权的边连接起来,带权的边可以看成是顶点之间的相似度。聚类从而可以看成如何分割这些带权的边,继而将聚类问题转化为怎么进行图分割的问题,但是如果这样的话新的问题又产生了,那就是怎样找到一种最优方法来划分这个图,才能使同组之间的样本权重尽可能高,不同组的权重尽可能的低。权重太低的边是多余的就要舍去,常用保留边的方法是要建立最邻近图谱,在最邻近图谱中每个顶点只与K 个相似度最高的点连接,其余的边是要舍弃的边。

  建立最邻近图谱的方法就是把聚类问题转化为图分割的问题,转化之后就存在两个问题:(1)数据点与数据点之间的相似度的定义;(2)建立最邻近图谱之后要从哪条边或者从哪些边分割最优。

相似度表示方法

  数据点之间的相似程度由边的权重表示,常用方法的有余弦相似度、高斯函数。

余弦相似度

这里写图片描述

高斯函数

这里写图片描述

图分割算法

常用的分割方法有:

最小分割法(Minimum Cut)

  假如将一个图G 划分为A,B 两个子图, 那么目标函数可以理解为。此种方法对于规范的数据利用目标函数对图像进行分割效果较好,但对于非规范的数据此目标函数会出现偏向最小分割的结果。

这里写图片描述

规范化分割(Normalized Cut)

这里写图片描述

  其中Cut(A,B)表示 A,B 两个子图的相似程度,sumA 表示 A 图中所有点的权值之和,规范化分割方法对于非规范的数据也比较试用。

最小最大分割准则(Min-max Cut)

  最小最大分割准则要求最小化Cut(A,B)的同时,最大化sum(A,A)与sum(B,B)。

这里写图片描述

比例分割法(Ratio Cut)

这里写图片描述

  其中|A|,|B|分别表示子图 A,B中顶点的个数,目标 Rcut 函数只简单考虑到如何使 A,B两个子图间的相似性最小,这样可以减少分割的次数。

谱聚类分割方法

谱聚类分割方法如下:

谱聚类算法及图分割算法_第1张图片

(1)根据输入数据构建相似矩阵W;

谱聚类算法及图分割算法_第2张图片

(2)利用相似矩阵W 计算出对角矩阵D和规范化Laplacian 矩阵L; 关于Laplacian矩阵请参考图的Laplacian矩阵。

谱聚类算法及图分割算法_第3张图片

谱聚类算法及图分割算法_第4张图片
谱聚类算法及图分割算法_第5张图片

(3)计算出矩阵L前K个最小特征值及其对应的特征向量,组成新的矩阵,矩阵的行数为样本数N,列数为K;

(4)利用Kmeans 算法进行聚类。

参考资料:
(1)A Tutorial on Spectral Clustering
(2)Learning Spectral Clustering
(3)Spectral Clustering

你可能感兴趣的:(图形图像,机器学习/模式识别)