A tutorial on Spectral Clustering

1. 基础知识

G=(V,E) 为无向图,节点集为 V=v1,v2,...,vn . 假设图 G 是有权图,节点 vi vj 之间的权重为 wij0 . 权重邻接矩阵为 W=(wij)i,j=1,...,n . 如果 wij=0 , 则说明它们不相连.节点 vi 的度数为:

di=j=1nwij()

度数矩阵 D 定义为对角线元素为 d1,...,dn 对角矩阵.
给定节点集 AV ,它的补集定义为 A¯=VA
指示向量定义为 1A=(f1,...,fn)Rn ,当 viA fi=1 ,反之 fi=0 .
两种衡量集合 A 大小的方式:
|A|:=thenumberofverticesinAvol(A):=iAdi

特征值与特征向量:

A=(aij)n×n 是一个 n 阶矩阵,如果有一个复数 λ 及一个 n 维非零列向量 x=(x1,,xn)T,使得

Ax=λx

或:
(λIA)x=0

则称 λ 为矩阵 A 的一个特征值,称非零列向量 x A 的对应于特征值 λ特征向量.

半正定矩阵:

定义:如果矩阵 ARn×n 是实对称矩阵,并且对于一切 XRn ,有 XTAX0 ,则称矩阵 A 为半正定矩阵.
对于一个n阶对称矩阵 A,以下命题等价:

  • A是半正定矩阵
  • A的所有特征值非负
  • A的所有主子式非负
  • 存在n阶矩阵B,使得 A=BBT
  • 存在n阶下三角阵L,使得 A=LLT
  • 存在n阶对称矩阵C,使得 A=C2

2. 图的拉普拉斯算子及其性质

谱聚类的主要工具就是拉普拉斯算子。拉普拉斯算子一类矩阵的统称,并非特指某一个算子。下面当我们提到矩阵的特征向量的时候,并不一定要求其模为1.因此线性相关的多个向量会被当成同一个. 特征值总是会被按照递增的顺序排列. 最先的k个特征向量(the first k eigenvector)指的是k个最小的特征值所对应的特征向量。

2.1 未规则化的拉普拉斯算子

未规则化的拉普拉斯矩阵为:

L=DW

它的主要性质如下:

  • 对于任意的向量 fRn ,有:
    fLf=12i,j=1nwij(fifj)2
  • L 是对称的并且半正定
  • L 的最小特征值是0,对应的特征向量是常数1向量 1 (各行之和为0)
  • L 有n个非负实值特征值 0=λ1λ2λn

说明
1. 未规则化的拉普拉斯算子与邻接矩阵 W 的对角线上的元素无关. 即使对角线上有值,那么与没有值的L是完全相同的. 可见自环不会改变对应的拉普拉斯算子.
2. 未规则化的拉普拉斯算子及其特征值、特征向量可用来描述图的许多性质. 在谱聚类中的一个重要性质为:图G的连通分量的个数等于特征值0的代数重数(multiplicity of eigenvalue 0).特征值0的特征子空间由连通分量的指示向量构成.(The eigenspace of eigenvalue 0 is spanned by the indicator vectors of those components.)

2.2 规则化的拉普拉斯算子

有两个矩阵被称为规则化拉普拉斯算子:

LsymLrw=D1/2LD1/2=ID1/2WD1/2=D1L=ID1W

Lsym 的下标表示它是一个对称(symmetric)矩阵, Lrw 的下标是因为它与随机游走(random walk)有紧密联系. 它们有如下性质:

  • 对于任意 fRn
    fLsymf=12i,j=1nwij(fidifjdj)2
  • λ Lrw 的特征向量为 v 的特征值当且仅当 λ Lsym 的特征向量为 w=D1/2 的特征值
  • λ Lrw 的特征向量为 v 的特征值当且仅当 λ v 能求解泛化了的特征问题(generalized eigenproblem) Lv=λDv
  • 0是 Lrw 的特征向量为常数1向量 1 的特征值. 0是 Lsym 的特征向量为 D1/21 的特征值
  • Lsym Lrw 是半正定矩阵且有 n 个非负实值特征值 0=λ1λ2λn

说明:
规则化拉普拉斯算子的特征值0的重数同样与图的连通分量个数有关:
Lrw Lsym 的特征值0的重数等于连通分量的个数. 对于 Lrw ,特征值0的特征空间由各连通分量的指示向量 1A 组成;对于 Lsym ,特征值0的特征空间由各连通分量的向量 D1/21A 组成.

3. 从图分割看谱聚类

下面将从图分割角度推导出谱聚类。

三种cut:

  • cut(A,A¯)=iA,jA¯wij
  • RatioCut(A,A¯)=cut(A,A¯)|A|+cut(A,A¯)|A¯|
  • NCut(A,A¯)=cut(A,A¯)vol(A)+cut(A,A¯)vol(A¯)

已经有很高效的方法解决mincut问题,但是mincut多数情况下只是将单个节点从原图分割出去. RatioCut和NCut都试图将图划分得更加均衡,然而很不幸的是这将使问题变为NP hard. 谱聚类是一种解决这些问题的松弛化版本的一种方法,松弛RatioCut对应未规则化谱聚类,松弛NCut对应规则化谱聚类.

3.1 RatioCut推导

考虑k=2的情况. 目标函数:

minAVRatioCut(A,A¯)

为了将问题改写为更方便的方式,定义一个 N 维列向量 f:

fi=|A¯|/|A|,ifviA|A|/|A¯|,ifviA¯

(f 对应每个节点所对应的分类。后面可以看到,之所以这样构造是因为 f 满足 fTf 是个常数,进而可以方便地引入瑞利商理论。)

现在可以用未规则化的拉普拉斯算子改写目标函数:

fTLf=====12i,j=1Nwij(fifj)212[iA,jA¯wij(|A¯||A|+|A||A¯|)2+iA¯,jAwij(|A¯||A||A||A¯|)2]cut(A,A¯)(|A¯||A|+|A||A¯|+2)cut(A,A¯)(|A|+|A¯||A|+|A|+|A¯||A¯|)|V|RatioCut(A,A¯)

另外,如果令 1 为各个元素全为 1 的向量的话,直接展开可以很容易得到 fT1=fi=0 fTf=f2=f2i=n

由于 |V| 是一个常量,因此目标函数可等价写成:

minAVfLf,subjecttof1andf=n

根据 Rayleigh-Ritz 理论,这个问题的 f 即为 L 的第二小特征值(因为最小特征值为0)所对应的特征向量.

到这一步,我们看起来好像是很容易地解决了前面那个 NP hard 问题,实际上是我们耍了一个把戏:之前的问题之所以 NP hard 是因为向量 f 的元素只能取两个值 |A¯|/|A||A|/|A¯| 中的一个,是一个离散的问题,而我们求的的特征向量 v 其中的元素可以是任意实数,就是说我们将原来的问题限制放宽了。那如何得到原来的解呢?一个最简单的办法就是看 v 的每个元素是大于零还是小于零,将他们分别对应到离散情况的 |A¯|/|A||A|/|A¯| ,不过我们也可以采取稍微复杂一点的办法,用 k=2 的 K-means 来将 v 的元素聚为两类。

3.2 NCut推导

可以采用与RatioCut类似的方法推导出NCut的规则化谱聚类解法.

定义指示向量 f 为:

fi=vol(A¯)/vol(A),ifviAvol(A)/vol(A¯),ifviA¯

易知 (Df)1=0,fDf=vol(V) 以及 fLf=vol(V)NCut(A,A¯) ,因此原问题可转化为:

minAfLfsubjecttoDf1,fDf=vol(V)

经过允许 f 可以是实值来松弛化之后:
minfRnfLfsubjecttoDf1,fDf=vol(V)

g:=D1/2f 作变换:
mingRngD1/2LD1/2gsubjecttogD1/21,g2=vol(V)

注意到 D1/2LD1/2=Lsym
mingRngLsymgsubjecttogD1/21,g2=vol(V)

由于 D1/21 Lsym 的第一个特征向量, vol(V) 是定值. 故上式即为 Rayleigh-Ritz 的标准形式,它的解 g 即为 Lsym 的第二个特征向量.

由规则化拉普拉斯算子性质:

λ Lrw 的特征向量为 v 的特征值当且仅当 λ Lsym 的特征向量为 w=D1/2 的特征值

可知 f=D1/2g Lrw 的第二个特征向量,或者 Lv=λDv 的规则化的特征向量.

3.3 松弛方法分析

用谱聚类方法解决图分割问题的结果可能与真实结果相去甚远.

谱聚类并不是唯一可用于解决这类问题的方法,半正定规划(semi-definite programming, SDP)就是一种完全不同的方法. 谱聚类之所以很吸引人不是因为它的效果很好,而是因为它将问题转化成非常简单而易于解决的标准线性代数问题.

最后,k-means并不是唯一可用于对实值向量进行划分的算法,任何其它的可解决此问题的聚类算法都可使用.

References
1. A tutorial on Spectral Clustering
2. 漫谈 Clustering (4): Spectral Clustering

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
贝叶斯网络学习教程是一种介绍贝叶斯网络概念和应用的教育材料。贝叶斯网络是一种概率图模型,用于建模和推理关于变量之间的概率依赖关系的方法。 这个教程将引导学习者了解贝叶斯网络的基本原理和构建模型的步骤。首先,它会介绍概率论和贝叶斯定理的基本概念。学习者将了解到如何使用概率分布来描述变量之间的关系,以及如何使用贝叶斯定理来更新我们对变量的信念。 接下来,教程会介绍贝叶斯网络的结构和参数估计。学习者将学习如何构建一个贝叶斯网络,通过定义变量之间的依赖关系来表示概率分布。此外,他们还将了解如何从数据中学习网络的参数,以便通过观察到的数据来推断未观察到的变量。 然后,教程会介绍贝叶斯网络的推断和预测。学习者将学会如何使用贝叶斯网络来进行推断,即根据已知的证据来计算变量的后验概率。他们还将了解如何使用贝叶斯网络进行预测,即根据已观察到的变量来预测未观察到的变量的概率分布。 最后,教程会讨论贝叶斯网络的应用领域和案例研究。学习者将了解到贝叶斯网络在人工智能、医学、金融等领域的广泛应用,并了解一些实际问题的解决方案。 总而言之,贝叶斯网络学习教程是一个全面的学习资源,可以帮助学习者掌握贝叶斯网络的基本原理、构建模型的方法和应用技巧。通过这个教程,学习者将能够理解和应用贝叶斯网络来解决各种实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值