谱聚类简介

谱聚类

谱聚类是一种基于图论的聚类方法,通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的母的。谱聚类可以理解为将高维空间的数据映射到低维,然后在低维空间用其它聚类算法(如KMeans,c-均值聚类)进行聚类。

相似图构造

相似图,用来刻画数据点局部的近邻关系。顶点 v i v_i vi对应一个样本点。

  • k-近邻图
    如果 v i v_i vi v j v_j vj的近邻,那么 v i v_i vi v j v_j vj之间存在一条边。由于每个样本点的近邻情况不完全相同,因此这种方法构造的相似图不是对称的。

  • 对称k-近邻图:
    如果两个点互为k近邻,那么这两个点之间存在一条边。

  • ϵ \epsilon ϵ近邻图
    任意两个距离小于 ϵ \epsilon ϵ的点之间存在一条边。

  • 全连接图
    这种方法表示任意两个样本点之间都有相似度,但是距离较远的样本点之间相似度较低。

图拉普拉斯矩阵

在引入拉普拉斯矩阵之前,先介绍下面的符号表示:

  • w i j w_{ij} wij是边权重
  • 节点 v i ∈ V v_i \in V viV的度 (degreee),定义为: d i = ∑ j = 1 n w i j d_i=\sum_{j=1}^{n} w_{ij} di=j=1nwij
  • 度矩阵: D = d i a g ( d 1 , ⋯   , d n ) D=diag(d_1, \cdots ,d_n) D=diag(d1,,dn)
  • 加权邻接矩阵: W = ( w i j ) i , j = 1 , ⋯   , n W=(w_{ij})_{i,j=1,\cdots,n} W=(wij)i,j=1,,n,即构造的相似度矩阵。
未标准化拉普拉斯矩阵

L = D − W L=D-W L=DW

标准化拉普拉斯矩阵

标准化拉普拉斯矩阵有两种表示方法,一种基于随机游走(Random Walk)的标准化拉普拉斯矩阵 L r w L{_{rw}} Lrw和对称标准化拉普拉斯矩阵 L s y m L{_{sym}} Lsym,定义如下:
L r w = D − 1 L L_{rw} = D^{-1} L Lrw=D1L
L s y m = D − 1 / 2 L D − 1 / 2 = I − D − 1 / 2 W D − 1 / 2 L_{s y m}=D^{-1 / 2} L D^{-1 / 2}=I-D^{-1 / 2} W D^{-1 / 2} Lsym=D1/2LD1/2=ID1/2WD1/2

拉普拉斯矩阵的性质

Laplacian矩阵L,有下面几个性质:

  • (a) 对任意一个向量 f ∈ R n f \in R^n fRn ,都有下面的性质:
    对于为标准化拉普拉斯矩阵有:
    f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^{T} L f=\frac{1}{2} \sum_{i, j=1}^{n} w_{i j}\left(f_{i}-f_{j}\right)^{2} fTLf=21i,j=1nwij(fifj)2
    对于这个性质的证明过程如下:
    f T L f = f T D f − f T W f = ∑ i = 1 n d i f i 2 − ∑ i , j = 1 n f i f j w i j = 1 2 ( ∑ i = 1 n d i f i 2 − 2 ∑ i , j = 1 n f i f j w i j + ∑ j = 1 n d j f j 2 ) = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 \begin{aligned} f^{T} L f &=f^{T} D f-f^{T} W f=\sum_{i=1}^{n} d_{i} f_{i}^{2}-\sum_{i, j=1}^{n} f_{i} f_{j} w_{i j} \\ &=\frac{1}{2}\left(\sum_{i=1}^{n} d_{i} f_{i}^{2}-2 \sum_{i, j=1}^{n} f_{i} f_{j} w_{i j}+\sum_{j=1}^{n} d_{j} f_{j}^{2}\right)=\frac{1}{2} \sum_{i, j=1}^{n} w_{i j}\left(f_{i}-f_{j}\right)^{2} \end{aligned} fTLf=fTDffTWf=i=1ndifi2i,j=1nfifjwij=21(i=1ndifi22i,j=1nfifjwij+j=1ndjfj2)=21i,j=1nwij(fifj)2
    对于标准化拉普拉斯矩阵有:
    f T L r w f = f T L s y m f = 1 2 ∑ i , j = 1 n w i j ( f i d i − f j d j ) 2 f^{T} L_{r w} f=f^{T} L_{s y m} f=\frac{1}{2} \sum_{i, j=1}^{n} w_{i j}\left(\frac{f_{i}}{\sqrt{d_{i}}}-\frac{f_{j}}{\sqrt{d_{j}}}\right)^{2} fTLrwf=fTLsymf=21i,j=1nwij(di fidj fj)2
  • (b) L和 L r w L_{rw} Lrw是对称的和半正定的。
    w和D矩阵都是对称矩阵,所以L是对称矩阵。由于权重 w i j ≥ 0 w_{ij} \geq 0 wij0,根据性质(a),所以 f T L f ≥ 0 f^{T} L f \geq 0 fTLf0, 即L为半正定矩阵。

谱聚类算法

  1. 计算相似性矩阵 S ∈ R n × n S\in R^{n \times n} SRn×n
  2. 计算度矩阵,从而计算未归一化的图拉普拉斯矩阵L
  3. 计算L的前k个特征向量 u 1 , . . . , u k u_1,...,u_k u1,...,uk
  4. U ∈ R n × k U \in R^{n\times k} URn×k为以前k个特征向量 u 1 , . . . , u k u_1,...,u_k u1,...,uk为列向量构成的矩阵(前k个最小特征值构成的特征向量)
  5. y i ∈ R k y_i \in R^k yiRk是U的第 i i i行构成的向量
  6. 使用C-均值聚类方法将样本点 y i y_i yi,聚类称为k类 C 1 , C 2 , . . . , C k C_1, C_2,...,C_k C1,C2,...,Ck
  7. 输出,最终聚类为 A 1 , . . . , A k A_1,...,A_k A1,...,Ak,其中 A i = { j ∣ y j ∈ C i } A_i=\{j | y_j \in C_i\} Ai={jyjCi}

谱聚类算法推导

聚类问题,可以被看成寻找图的一个划分,不同点集之间的边权重小,(意味着不同cut的点彼此不相似),而同一点集内的边权重较大,(同一个cut点彼此相似)

对于一个无向图G,每个子图的点集合为: A 1 , A 2 , ⋯   , A k A_1, A_2, \cdots, A_k A1,A2,,Ak,定义图切分(graph cut)为:
c u t ( A 1 , A 2 , ⋯   , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) cut(A_1, A_2, \cdots, A_k) = \frac{1}{2} \sum_{i=1}^{k} W\left(A_{i}, \bar{A}_{i}\right) cut(A1,A2,,Ak)=21i=1kW(Ai,Aˉi)
其中:任意两个子图点集的权重切为: 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)=iA,jBwij
对于切图,还有另外两种方式,分别为RadioCut和Ncut
RadioCut切图中,不仅考虑使得不同组之间的权重最小化,也考虑了每个组中的样本点尽量多:
 RatioCut  ( A 1 , A 2 , … , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) ∣ A i ∣ = ∑ i = 1 k cut ⁡ ( A i , A ˉ i ) ∣ A i ∣ \text { RatioCut }\left(A_{1}, A_{2}, \ldots, A_{k}\right)=\frac{1}{2} \sum_{i=1}^{k} \frac{W\left(A_{i}, \bar{A}_{i}\right)}{\left|A_{i}\right|}=\sum_{i=1}^{k} \frac{\operatorname{cut}\left(A_{i}, \bar{A}_{i}\right)}{\left|A_{i}\right|}  RatioCut (A1,A2,,Ak)=21i=1kAiW(Ai,Aˉi)=i=1kAicut(Ai,Aˉi)
Ncut在最小化损失函数外,还考虑了子图之间的权重大小。由于子图样本个数多,不代表权重就打,所以切图时基于权重也更加符合我们的目标。因此一般来说Ncut优于RadioCut,定义为:
 RatioCut  ( A 1 , A 2 , … , A k ) = 1 2 ∑ i = 1 k W ( A i , A ˉ i ) v o l ( A i ) = ∑ i = 1 k cut ⁡ ( A i , A ˉ i ) v o l ( A i ) \text { RatioCut }\left(A_{1}, A_{2}, \ldots, A_{k}\right)=\frac{1}{2} \sum_{i=1}^{k} \frac{W\left(A_{i}, \bar{A}_{i}\right)}{vol (A_i)}=\sum_{i=1}^{k} \frac{\operatorname{cut}\left(A_{i}, \bar{A}_{i}\right)}{vol (A_i)}  RatioCut (A1,A2,,Ak)=21i=1kvol(Ai)W(Ai,Aˉi)=i=1kvol(Ai)cut(Ai,Aˉi)
其中 v o l ( A i ) = ∑ i ∈ A d i vol (A_i) = \sum_ {i \in A} d_i vol(Ai)=iAdi,表示 A i A_i Ai中元素度的总和。

注意问题
  • 谱聚类往往对相似型图及参数选择比较敏感,而现在还没有确定的理论或者方法作为指导。

  • 一般来说,k近邻图可以比较好的连接不同尺度下的数据,通常作为首选;而参数选择应该使相似性图是连通的或者连通分量少

  • 尽量选择归一化的图拉普拉斯

聚类没有标签,存在合理性问题。

参考:谱聚类博客介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值