关于A Tutorial on Spectral Clustering的解读
[论文](https://pan.baidu.com/s/1Q7h-WagYS_XXh3QYnK3RNg
提取码:o7tu
复制这段内容后打开百度网盘手机App,操作更方便哦)
1、介绍
相比与传统的聚类算法如k-means,single linkage,spectral clustering有更好的基础性优势。
single linkage:要提到AGNES,AGNES是一种自底向上的聚类方法,它把每个样本都看成一类,再把距离相近的类别进行合并,不断重复该过程,直到达到规定类别数。最近距离由两个类的最近样本决定(single linkage),最远距离由两个类的最远样本决定(complete-linkage)。
2、相似图
原始问题是:由一些样点x1,x2,…xn,和一些表示相似度的sij(sij 大于等于0),聚类出相似的样本点,不相似的样本点彼此分开,于是引入相似图(G(V,E)),当两点之间的相似度大于0或者大于某个阈值时,我们就把这两点连接起来,边的权重用sij表示。
然后问题转化为:将图划分为几个部分,使不同部分之间的边权重尽量小,每个部分内部的边权重尽量大。
2.1 图的标号
定义图G(V,E)是由样本点集V={v1,v2,v3,…,vn}组成的无向图,两个点之间的边权重是非负数,定义图的邻接矩阵W(wij)i,j=1,2,…,n,当vi和vj之间没有边相连时,wij=0,同时因为是无向的,所以W是对称矩阵,即wij=wji。
定义节点的度为: d i = ∑ j = 1 n w i j d_i=\sum_{j=1}^n w_{ij} di=j=1∑nwij
定义度矩阵为D,是对角矩阵,D=diag(d1,d2,…dn)
指示向量 1 A 1_A 1A=(f1,f2,f3,…,fn)T ∈ R n \in R^n ∈Rn,当vi在A中时,fi=1,其他情况fi=0
注意:下面我们用缩写 i ∈ A i \in A i∈A表示{
i i i| v i v_i vi ∈ A \in A ∈A}
对于两个可能相交的子集合: W ( A , B ) : = ∑ i ∈ A , j ∈ B w i j W(A,B):=\sum_{i\in A,j\in B} w_{ij} W(A,B):=i∈A,j∈B∑wij
我们考虑两种方法来定义子集A的“大小”: ∣ A ∣ : = A 中 点 的 数 量 |A|:=A中点的数量 ∣A∣:=A中点的数量 v o l ( A ) : = ∑ i ∈ A d i vol(A):=\sum_{i\in A} d_i vol(A):=i∈A∑di
2.2 不同的相似图
这里有一些流行的办法,能将给定的成对的相似点转化为相似图。先连接点,再对边加权。
1、 ϵ \epsilon ϵ 邻域图
我们将距离小于 ϵ \epsilon ϵ的点连接起来,由于所有相似点间距离大致都为 ϵ \epsilon ϵ,所以这种对边进行加权的方法,并不能反映两点相似程度的差异,所以通常用这个方法处理无权图。
2、k近邻图
在连接时要构造无向的图(无向图才能使邻接矩阵W对称)有两种方法:
第一种方法是如果 v i v{_{i}} vi在 v j v{_{j}} vj的k个领域中或者 v j v{_{j}} vj在 v i v{_{i}} vi的k个领域中,则 w i j = w j i w{_{ij}}=w{_{ji}} wij=wji为 v i v{_{i}} vi与 v j v{_{j}} vj之间的距离,否则为 w i j = w j i = 0 w{_{ij}}=w{_{ji}}=0 wij=wj