Graph Laplacians and Laplacian Embedding

Horaud R. A Short Tutorial on Graph Laplacians, Laplacian Embedding, and Spectral Clustering.

看GCN的时候对基于谱的来龙去脉不是很理解, 这里先整理下关于 Graph Laplacians 的知识.

符号

  • G={V,E}: 图;
  • V(G)={v1,,vn}: 顶点;
  • E={eij}: 边集, 每条边eij连接vi,vj (倘若是有向图, 则代表vivj);
  • di=d(vi)=eijeji1: 顶点vi的度数, 即连接该点的边的总数;
  • DRn×n: 对角线元素为d(vi),i=1,2,,n其余为0的矩阵;
  • A{0,1}n×n: 邻接矩阵, Aij=1eijE, 否则为0, 需要注意的是Aii=0,i=1,2,,n;
  • {0,1,1}m×n: 有向图的入射矩阵 (incidence matrix),

ki={1k-th edge e starts at vi1k-th edge e ends at vi0else.

注: 无向图可以看成是eijEejiE.

图的 Laplacian 矩阵

假设我们通过映射f给每个顶点赋值, 即

f:=[f(v1),f(v2),,f(vn)]T.

(f)(eij)=f(vj)f(vi).

故我们可以将其看成是一阶微分的近似 (沿着eij方向), 这实际上也是在数字图像处理中所提及的近似策略.

类似地, 我们可以用 Laplacian 矩阵去近似 Laplacian 算子

L=T,

可知TRn×n 有如下性质:

(1)[T]ij=k=1mkikj={d(vi)i=j1eijE0else.=[DA]ij,

(2)L=T=DA.

(3)Lf(vi)=vjvif(vi)f(vj).

我们以图片fRH×W在点(x,y)的近似为例 (四邻域):

Δf(x,y)=f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)4f(x,y).

注意到, 因为是四邻域, 所以该图在(x,y)处有边指向上下左右, 故

Δf(x,y)=(Lf)(vi).

这就解释了为啥它的名字是 Laplacian 矩阵, 也一定程度上说明了它的一些性质.

无向带权图

假设每条边eij附带非负权重wij=wji>0, 为了统一表示, 令wij=0表示vi,vj之间不存在边. 通常, 权值越大代表两个点之间的相似度越高. 这时

(4)ki={wijk-th edge e:vivjwijk-th edge e:vjvi0else.

类似地有:

(1+)[T]ij=k=1mkikj={d(vi)i=jwijeijE0else.=[DW]ij,

这里 Wij=wij,d(vi)=j=1nwij.

于是我们定义:

(2+)L=T=DW.


注: (4)式严格来说存在矛盾的. 之前定义 L 的时候, 我们假定 A 的对角线元素为0, 这意味着 wii 也应该为0, 但是因为通常将wij视作两个顶点的相似度, 所以通常这个wii是非零的, 甚至是最大的值, 如下面常用的高斯核:

wij:=exp(vivj2/σ2).

事实上, 对于 (2) 而言, 只要假设存在边eii, 此时Aii=1 便和 (2+) 统一了. 只是对于的定义需要额外声明.


有用的性质

  1. Lf.

(Lf)(vi)=jwij(f(vi)f(vj)).

  1. Laplacian 矩阵 L 是对称半正定的:

fTLf=fTDffTWf=12i,jwij(f(vj)f(vi))2.

  1. 1L的特征向量, 且特征值为0:

L1=0.

Laplacian Embedding

让我从 Laplacian Embedding 的角度去理解 Graph Lapacian 矩阵的意义, 正如我们先前所提的, 我们希望设计一个函数f:VR, 通常我们还希望映射后的值 f(vi),f(vj) 满足相似度关系: 相似度越高的点之间应该'接近'. 在这个需求下, 我们观察下式:

(5)minffTLffTf=i,jwij(f(vj)f(vi))22fTf,

wij衡量vi,vj之间相似度时, 上式天然满足我们的需求.

但是显然 (5) 显然在 f=1时达到最小值0, 但是这种映射是平凡的无意义的, 反映不了任何相似度信息. 一般来说, wij>0, 任何非平凡的映射f都会导致(5)非零. 不妨假设 L 的特征分解为

λ1=0<λ2λn,[u1=1,u2,,un]Rn×n.

我们应当选择第一个非零的特征值λ2所对应的特征向量u2作为映射f, 即 f(vi)=[u2]i.


注: λ>0的假设在wij>0,i,j的条件下是成立的, 否则λ2=0也是可能的. 比如一个k可分的图, 其 Laplacian 矩阵可以分解为:

L=[L1Lk],

此时1Li:=(000111000)TRn均是特征值为0的特征向量.


高维嵌入

用一维标量来衡量一个点总归是有些捉襟见肘, 所以这次我们用 k 个映射 f1,,fk, 此时每个顶点所对应的向量为:

[f1(v1),f2(v2),,fk(vk)]TRk.

我们用FRn×k来表示n个顶点的向量集合, 即Fij=fj(vi).

类似地, 我们希望最小化

(6)minf1,,fkj=1kfjTLfjfjTfj,s.t.fjT1=0,j=1,2,,k.

但是这里又有一个问题, 上述的会导致所有的f都取u2, 故我们需要对F加以限制, 比如常见的

FFT=In,

这保证了fi,fj,ij之间是正交的, 即寄托了我们希望学习到更广泛发散的特征. 于是, (6) 等价于

minf1,,fkTr(FTLF)s.t.FT1=0FFT=In.

实际上, 其解就是

F=Uk=[u2,u3,,uk+1].

与 Commute Time Distance (CTD) 的关系

假设 Laplacian 分解为

L=Un1Λn1Un1T=i=2nλiuiuiT,

其中

Un1=[u2,,un]Rn×(n1),

对角矩阵Λ的各元素为

[Λn1]ii=λi+1>0.

把图G的各个顶点看作是一个状态, 并定义状态转移矩阵:

P=D1W,

Pij=wijdi, 因为我们考虑的是无向图, 故W的对称的, 故P是对称的.
定义Mij为从状态vi出发第一次达到状态vj所需的平均时间, 其严格定义为:

Mij:=t=1+tfijt,

其中fijt表示初始状态为vi, t步后状态为vj且中间没有经过vj的概率.

如果我们令

X=[x1,x2,,xn]=Λn112Un1TR(n1)×n.

Mij+Mji=vol(G)xixj22.

vol(G):=ijwij.

此时, 倘若我们将 xi作为vi的 embedding, 则我们可以理解为两个顶点的欧式距离为两个状态的 CTD, 妙.

下面的证明搬运自 here, 其中我省略了部分不可约假设和唯一性证明.


proof:

平均时间Mij可以理解为, 一步vivj的时间加上 vivkvj,kj的时间:

Mij=Pij+kjPik(1+Mkj)=1+k=1nPikMkjPijMjj,

Md:=diag(M),E=11T, 则

M=E+P(MMd).

易知d=[d1,d2,,dn]T满足

dTP=dT.

dTM=dTE+dT(MMd)dTMd=dT11TdTMd=vol(G)1Tvol(G):=ijwij[Md]ii=vol(G)di.

在此基础上, 我们再求解M, 定义 T:=MMd, 则有

(IP)T=EMd,

左端乘以D可得

LT=DEDMdUn1Λn1Un1T=DEDMd,

L的伪逆 L:=Un1Λn11Un1T=XTX

LL=I1n11T.

T1n11TT=L(DEDMd),

z:=1n1TT, 我们有 (DMd=vol(G)I)

Tij=k=1nLikdkvol(G)Lij+zj,

因为Tii=0, 故

zj=k=1nLikdkvol(G)Lii.

所以

Mij+Mji=vol(G)[Lii+Ljj2Lij]=vol(G)xixj22.


其它 Laplacian 的变种

normalized graph Laplacian

Ln:=D12LD12=ID12WD12.

  1. D121为其零特征值.

LnD121=0

但是D12uk却不一定是其特征向量.

random-walk graph Laplacian

Lr:=D1L=D12LnD12=ID1W.


注: [D1W]ij=wijd(vi), 在马氏链中, 将每个顶点看成一个状态, 则状态转移概率可以定义为Pij=[D1W]ij, 即状态转移矩阵 P=D1W=ILr. 随机游走的 mixing rate 和 收敛速度和 λ2 息息相关 (具体关系以后有空了再回顾下吧, 这里打住).


  1. Lru=λuLu=λDu, 所以

Lr1=0.

  1. Lru=λuLnD12u=λD12u.
  2. Lru=λu, 则

uTd=1λuTLrTD1=1λuTLT1=0.

  1. Lrui=λiui,i=2,3,,n, 则

uiTDuj=1λuiTLuj=λjλiuiTDuj.

这意味着 λiλj时有 uiTDuj=0, PPT中有 UTDU=I的性质, 实在时不知道该怎么推导了.

posted @   馒头and花卷  阅读(224)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示