谱聚类总结

谱聚类算法将数据集中的每个对象看作是图的顶点V,将顶点间的相似度量化作为相应顶点连接边E的权值,这样就得到一个基于相似度的无向加权图G(V, E),于是聚类问题就可以转化为图的划分问题。基于图论的最优划分准则就是使划分成的子图内部相似度最大,子图之间的相似度最小。

虽然根据不同的准则函数及谱映射方法,谱聚类算法有着不同的具体实现方法,但是这些实现方法都可以归纳为下面三个主要步骤:

1) 构建表示对象集的相似度矩阵W;

2) 通过计算相似度矩阵或拉普拉斯矩阵的前k个特征值与特征向量,构建特征向量空间;

3) 利用K-means或其它经典聚类算法对特征向量空间中的特征向量进行聚类。

上面的步骤只是谱聚类算法的一个总体框架,由于划分准则、相似度矩阵计算方法等因素的差别,具体的算法实现同样会有所差别,但其本质依然是图划分问题的连续放松形式。

常见的划分准则有Mini cut,Average cut,Normalized cut,Min-max cut,Ratio cut,MNcut等。

二路谱聚类算法

PF算法。

Perona和Freeman提出用相似度矩阵W最大特征值所对应的特征向量进行聚类指出对于块对角相似矩阵,特征向量中非零值对应的点属于同一类,零值对应的点属于另外一类。

扫描二维码关注公众号,回复: 4614936 查看本文章

SM算法。

Meliă指出Ncut和MNcut的差异之处仅在于所使用的谱映射不同。多路规范割集准则在实际应用中合理有效,但其优化问题通常难以解决。Shi和Malik认为第二小特征值对应的特征向量,即Fiedler向量包含了图的划分信息,根据启发式规则在此向量中寻找划分点i使在该点上得到的Ncut(A,B)值最小,最后把向量中的值与Ncut准则函数的最小值进行比较,大于等于该值的点划分为一类,小于该值的点则划分到另外一类。

SLH算法。

SLH重定位算法计算相似度矩阵W的前k个特征向量,参数k需要事先指定。

KVV算法。

根据启发式规则在Fiedler向量中寻找划分点i使在该点上得到的Rcut(A,B)值最小的划分点,与SM算法相似;不同之处仅在于SM算法是寻找使Ncut(A,B)值最小的划分点。虽然在实际问题中KVV算法存在运行速度相对较慢的缺陷,但是算法减少了过分割的可能性。

多路谱聚类算法

NJW算法。

Ng,Jordan等人选取拉普拉斯矩阵的前k个最大特征值对应的特征向量构造新的向量空间R,在这个新的空间内建起与原始数据的对应关系,然后进行聚类。

NJW算法:

1,                构造相似矩阵A属于A^n*n,Aij=exp(-|si-sj|^2/2*o^2),i!=j,Aii=0,o是参数。

2,                构造拉普拉斯矩阵L=D^-1/2AD^-1/2,D是对角矩阵,对角元素是dij=sigmAij(j=1~n)。

3,                计算L的前K个特征值对应的特征向量xi(必要时进行正交化),构造矩阵X=[x1,x2….xk]。

4,                对X的行向量转化为单位向量,得到矩阵Y。

5,                把Y中的每行当做K维空间中的点,用聚类算法进行聚类,所对应的每一行的分类就是原始数据的划分。

且传统的NJW算法的聚类个数需人 为规定,不能自动计算。这篇paper提出了一种k的方法

MS算法

Meilă把基于马尔可夫链随机游动过程的概率转移矩阵运用到相似度矩阵的构造中,研究了这种随机游动的概率转移矩阵的特征值特征向量,在随机游动的框架下了对Ncut进行了概率解释。该算法是用随机游动矩阵P的前k个非零特征值对应的特征向量构造矩阵,然后将矩阵中的行看成R空间中的点进行聚类,步骤与NJW算法相似。MS算法在实际的图像分割中取得了良好的效果,但是度矩阵D中对角线元素值之间存在较大的差别时就会导致较差的聚类效果。

如何创建相似度矩阵W,使其更加真实地反映数据点之间的近似关系,使得相近点之间的相似度更高,相异点之间的相似度更低,是谱聚类算法必须要解决的一个问题。高斯相似函数(Wij=exp(-||xi-xj||^2/2σ^2))是经典谱聚类算法中计算两点间相似度的常用方法,虽然该函数使原始的谱聚类算法取得了一些成功,但尺度参数σ的选取问题使该函数具有明显的局限性。NJW算法[7]通过预先指定几个尺度参数σ的值,分别执行谱聚类,最后选取使聚类结果最好的σ作为参数,这种做法消除了尺度参数σ选取的人为因素,却增加了运算时间。

近年来,为了避免参数的选择问题,有学者提出在计算相似度时不使用高斯核函数。如Gong 等人[41]借鉴Wang Fei和Zhang Changshui[42]在半监督中使用的方法,将每个点的k 近邻对该点进行线性近似表示时所占的权重作为两点间的相似度。通过求n 个二次规划问题,就可以求得相似度矩阵W,降低了谱聚类算法对参数的敏感性,使算法更稳定。

入门:https://wenku.baidu.com/view/0b2bd2892e3f5727a5e962e6.html?rec_flag=default&sxts=1541860630302

以朋友圈为例,最好的聚类是切掉关系可有可无不会影响到生活的人,最不好的聚类是切掉身边最亲近的人.

ratiocut就是采用上面思想,在聚类过程中使得朋友圈的损失对你的生活降到最小.

(new point:不破不立,和最亲近的部分人分类,预测下一阶段会和除了这部分的谁聚类,预测姻缘)

在ratiocut目标函数最小化的过程中发现等同于最小化拉普拉斯矩阵

NJW:https://www.zybuluo.com/hainingwyx/note/593818

谱聚类算法:http://www.cnblogs.com/JiePro/p/Clustering_1.html

https://www.cnblogs.com/Leo_wl/p/3156049.html#_label0

猜你喜欢

转载自blog.csdn.net/qq_24059779/article/details/83956778