您的位置:首页 > 其它

谱聚类Spectral Clustering

2017-10-28 10:11 155 查看

1.介绍

与传统的算法相比,谱聚类有许多优点;结果通常比传统的方法要好而且应用简单,可以通过标准线性代数方法解决。

2.Similarity Graphs相似度图

G=(V,E)

图中的每个节点vi代表一个数据点,如果数据点xi和xj的相似度sij是正的并且比一个确定的threshold值大的话,两个顶点就是连接的,si,j代表边的权重。聚类可以看做是:我们想要找到图的分割使不同簇之间的边有着低权重,而在簇中的边有着高权重(也就是在不同簇中的点彼此不相似,而相同簇中的点是相似的)

2.1Graph notation

假设G是个无向图,图的带权邻接矩阵是W=(wi,j)i,j=1,...,n,wi,j>0;W是一个对称矩阵

顶点vi的度:

di=∑j=1nwi,j

度矩阵D是一个对角矩阵,对角线上的元素是d1,d2,...,dn

顶点的子集:A⊂V,则A¯=V\A

I=(f1,...,fn)′∈Rn fi=1如果vi∈A

对于两个不相连的子集A,B⊂V:

W(A,B)=∑i∈A,j∈Bwij

|A|=子集A中的顶点数

vol(A)=∑i∈Adi

子集A的含义是A中任意两个顶点都可以通过一条路径连接起来;如果A与A¯是完全不相同的则A被称作A connected compoent

2.2不同的Similarity Graphs

构造相似图的目标是建模数据点的局部近邻关系。

The ϵ-neighbor graph:

将paiwise distances小于 ϵ的点连接起来,所以所有点之间的距离都差不都是一样的距离(最多 ϵ)。所以边的权重不会整合关于数据点的更多的信息。期通常被看做是无向图。

k-nearest neighbor graphs

The fully connected graph:将所有的点都用正similarity连接起来,每个边的权重是si,j.这个构造只有当similarity function模拟局部近邻关系的时候才是有用的。例如Gaussian similarity function s(xi,sj)=exp(−||xi−xj||2/(2σ2)),其中参数σ控制近邻的宽度,这个参数与ϵ-neighbor graph中的ϵ作用类似。

Similarity graph的选择不影响谱聚类的结果。

3 Laplacians拉普拉斯图的属性

当使用矩阵的特征向量时,我们不必要假设它们是normalized的,因为一个常数向量I和aI可以被看做是同一个特征向量。“前k个特征向量”指的是最小的k个特征值对应的特征向量。

3.1 The unnormalized graph Laplacian

L=D−W

Proposition 1:L满足下列特性:

1.对于每个向量f∈Rn,

f′Lf=1/2∑i,j=1nwij(fi−fj)2

2.L是一个对称并正的半正定矩阵

3.L的最小特征值是0,对应的特征向量是I,对应元素都是1

4.L有n个非负实数值的特征向量0=λ1≤λ2≤...≤λn

Proof:

L的对称性是由于W和D的对称性,其是半正定矩阵的原因是f′Lf=1/2≥0,所有的f∈Rn

注意unnormalized拉普拉斯图不依赖于邻接矩阵的对角元素。在所有非对角位置上与W一致的邻接矩阵产生相同的unnormalized graph L。也就是说,图中的self-edges不改变对应的L。

Propositon 2:L的multiplicity k的特征值0等同于图中的connnected components A1,...,Ak的数量,特征向量0的特征空间是这些components的indicator vectors IA1,...,IAk.

4.谱聚类

Unnormalized spectral clustering

输入:Similarity矩阵S(n*n),簇数目K

通过第二部分介绍的方法构造一个相似图。W是带权邻接矩阵

计算unnormalized Laplacian L

计算L的前k个特征向量u1,...,uk

矩阵U(n*k),特征向量作为列

向量yi∈Rk,i=1,...,n是U的第i行

将点yi使用K-means方法聚类为C1,...,Ck

输出A1,...,Ak,Ai={j|yj∈Ci}

5.图分割视角

在这个部分,将谱聚类近似为图分割问题。给定一个有着邻接矩阵W的similarity graph,最简单直接构造图分割的方法就是解决mincut问题,就是选择A1,...,Ak通过最小化:

cut(A1,...,Ak)=12∑i=1kW(Ai,Ai¯)

特别的,当k=2时,这是一个十分简单并且可以被有效解决的问题。然而在实际中不会产生令人满意的分割。原因是在许多问题中,mincut的解将单独一个点分割出来,当然这不是我们想要的聚类结果,一个解决这个问题的方法是直接要求子集A1,...,Ak是有着合理的大小的。两个最常用的目标函数是RatioCut和normalized cut Ncut。在RatioCut中,子集A的大小通过A中的顶点数度量:

RatioCut(A1,...,Ak)=12∑i=1kcut(Ai,Ai¯)|Ai|

Ncut(A1,...,Ak)=12∑i=1kcut(Ai,Ai¯)vol(Ai)

当Ai的值不是很小时时候目标函数得到一个小的值,∑ki=1(1/|Ai|)取得最小值当所有的Ai一致时,Ncut也是同理。所以这两个目标函数的目标就是使得所有的聚类是平衡的(分别通过顶点数或边的权重来度量)。但是,加入了平衡条件使得之前的解决mincut问题变成了NP难问题。

谱聚类是解决这个问题的轻松的一种方式,我们将看到解决Ncut是归一化的谱聚类问题,RatioCut是非归一化的谱聚类问题。

对relaxtion approach方法的批评

Spectral relaxation如此受关注的原因不是因为它会产生特别好的解,而是由于他是一个容易解的标准的线性代数问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  clustering 算法