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 (倘若是有向图, 则代表vi→vj);
- di=d(vi)=∑eij≠eji1: 顶点vi的度数, 即连接该点的边的总数;
- D∈Rn×n: 对角线元素为d(vi),i=1,2,⋯,n其余为0的矩阵;
- A∈{0,1}n×n: 邻接矩阵, Aij=1若eij∈E, 否则为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.
注: 无向图可以看成是eij∈E⇔eji∈E.
图的 Laplacian 矩阵
假设我们通过映射f给每个顶点赋值, 即
f:=[f(v1),f(v2),⋯,f(vn)]T.
则
(∇f)(eij)=f(vj)−f(vi).
故我们可以将其看成是一阶微分的近似 (沿着eij方向), 这实际上也是在数字图像处理中所提及的近似策略.
类似地, 我们可以用 Laplacian 矩阵去近似 Laplacian 算子
L=∇T∇,
可知∇T∇∈Rn×n 有如下性质:
[∇T∇]ij=m∑k=1∇ki∇kj=⎧⎪⎨⎪⎩d(vi)i=j−1eij∈E0else.=[D−A]ij,(1)
故
L=∇T∇=D−A.(2)
Lf(vi)=∑vj→vif(vi)−f(vj).(3)
我们以图片f∈RH×W在点(x,y)的近似为例 (四邻域):

Δf(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y).
注意到, 因为是四邻域, 所以该图在(x,y)处有边指向上下左右, 故
Δf(x,y)=(Lf)(vi).
这就解释了为啥它的名字是 Laplacian 矩阵, 也一定程度上说明了它的一些性质.
无向带权图
假设每条边eij附带非负权重wij=wji>0, 为了统一表示, 令wij=0表示vi,vj之间不存在边. 通常, 权值越大代表两个点之间的相似度越高. 这时
∇ki=⎧⎪
⎪⎨⎪
⎪⎩−√wijk-th edge e:vi→vj√wijk-th edge e:vj→vi0else.(4)
类似地有:
[∇T∇]ij=m∑k=1∇ki∇kj=⎧⎪⎨⎪⎩d(vi)i=j−wijeij∈E0else.=[D−W]ij,(1+)
这里 Wij=wij,d(vi)=∑nj=1wij.
于是我们定义:
L=∇T∇=D−W.(2+)
注: (4)式严格来说存在矛盾的. 之前定义 L 的时候, 我们假定 A 的对角线元素为0, 这意味着 wii 也应该为0, 但是因为通常将wij视作两个顶点的相似度, 所以通常这个wii是非零的, 甚至是最大的值, 如下面常用的高斯核:
wij:=exp(−∥vi−vj∥2/σ2).
事实上, 对于 (2) 而言, 只要假设存在边eii, 此时Aii=1 便和 (2+) 统一了. 只是对于∇的定义需要额外声明.
有用的性质
- Lf.
(Lf)(vi)=∑jwij(f(vi)−f(vj)).
- Laplacian 矩阵 L 是对称半正定的:
fTLf=fTDf−fTWf=12∑i,jwij(f(vj)−f(vi))2.
- 1为L的特征向量, 且特征值为0:
L1=0.
Laplacian Embedding
让我从 Laplacian Embedding 的角度去理解 Graph Lapacian 矩阵的意义, 正如我们先前所提的, 我们希望设计一个函数f:V→R, 通常我们还希望映射后的值 f(vi),f(vj) 满足相似度关系: 相似度越高的点之间应该'接近'. 在这个需求下, 我们观察下式:
minffTLffTf=∑i,jwij(f(vj)−f(vi))22fTf,(5)
当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=⎡⎢
⎢⎣L1⋱Lk⎤⎥
⎥⎦,
此时1Li:=(00⋯011⋯100⋯0)T∈Rn均是特征值为0的特征向量.
高维嵌入
用一维标量来衡量一个点总归是有些捉襟见肘, 所以这次我们用 k 个映射 f1,⋯,fk, 此时每个顶点所对应的向量为:
[f1(v1),f2(v2),⋯,fk(vk)]T∈Rk.
我们用F∈Rn×k来表示n个顶点的向量集合, 即Fij=fj(vi).
类似地, 我们希望最小化
minf1,⋯,fkk∑j=1fTjLfjfTjfj,s.t.fTj1=0,j=1,2,⋯,k.(6)
但是这里又有一个问题, 上述的会导致所有的f都取u2, 故我们需要对F加以限制, 比如常见的
FFT=In,
这保证了fi,fj,i≠j之间是正交的, 即寄托了我们希望学习到更广泛发散的特征. 于是, (6) 等价于
minf1,⋯,fkTr(FTLF)s.t.FT1=0FFT=In.
实际上, 其解就是
F∗=Uk=[u2,u3,⋯,uk+1].
与 Commute Time Distance (CTD) 的关系
假设 Laplacian 分解为
L=Un−1Λn−1UTn−1=n∑i=2λiuiuTi,
其中
Un−1=[u2,⋯,un]∈Rn×(n−1),
对角矩阵Λ的各元素为
[Λn−1]ii=λi+1>0.
把图G的各个顶点看作是一个状态, 并定义状态转移矩阵:
P=D−1W,
即 Pij=wijdi, 因为我们考虑的是无向图, 故W的对称的, 故P是对称的.
定义Mij为从状态vi出发第一次达到状态vj所需的平均时间, 其严格定义为:
Mij:=+∞∑t=1tftij,
其中ftij表示初始状态为vi, t步后状态为vj且中间没有经过vj的概率.
如果我们令
X=[x1,x2,⋯,xn]=Λ−12n−1UTn−1∈R(n−1)×n.
则
Mij+Mji=vol(G)∥xi−xj∥22.
vol(G):=∑ijwij.
此时, 倘若我们将 xi作为vi的 embedding, 则我们可以理解为两个顶点的欧式距离为两个状态的 CTD, 妙.
下面的证明搬运自 here, 其中我省略了部分不可约假设和唯一性证明.
proof:
平均时间Mij可以理解为, 一步vi→vj的时间加上 vi→vk→vj,k≠j的时间:
Mij=Pij+∑k≠jPik(1+Mkj)=1+∑nk=1PikMkj−PijMjj,
令Md:=diag(M),E=11T, 则
M=E+P(M−Md).
易知d=[d1,d2,⋯,dn]T满足
dTP=dT.
故
dTM=dTE+dT(M−Md)→dTMd=dT11T→dTMd=vol(G)1Tvol(G):=∑ijwij→[Md]ii=vol(G)di.
在此基础上, 我们再求解M, 定义 T:=M−Md, 则有
(I−P)T=E−Md,
左端乘以D可得
LT=DE−DMd⇔Un−1Λn−1UTn−1=DE−DMd,
L的伪逆 L†:=Un−1Λ−1n−1UTn−1=XTX有
L†L=I−1n11T.
故
T−1n11TT=L†(DE−DMd),
令z:=1n1TT, 我们有 (DMd=vol(G)I)
Tij=n∑k=1L†ikdk−vol(G)L†ij+zj,
因为Tii=0, 故
zj=−n∑k=1L†ikdk−vol(G)L†ii.
所以
Mij+Mji=vol(G)[L†ii+L†jj−2L†ij]=vol(G)∥xi−xj∥22.
其它 Laplacian 的变种
normalized graph Laplacian
Ln:=D−12LD−12=I−D−12WD−12.
- D121为其零特征值.
LnD121=0
但是D12uk却不一定是其特征向量.
random-walk graph Laplacian
Lr:=D−1L=D−12LnD12=I−D−1W.
注: [D−1W]ij=wijd(vi), 在马氏链中, 将每个顶点看成一个状态, 则状态转移概率可以定义为Pij=[D−1W]ij, 即状态转移矩阵 P=D−1W=I−Lr. 随机游走的 mixing rate 和 收敛速度和 λ2 息息相关 (具体关系以后有空了再回顾下吧, 这里打住).
- Lru=λu⇔Lu=λDu, 所以
Lr1=0.
- Lru=λu⇔LnD12u=λD12u.
- Lru=λu, 则
uTd=1λuTLTrD1=1λuTLT1=0.
- Lrui=λiui,i=2,3,⋯,n, 则
uTiDuj=1λuTiLuj=λjλiuTiDuj.
这意味着 λi≠λj时有 uTiDuj=0, PPT中有 UTDU=I的性质, 实在时不知道该怎么推导了.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~