深入理解拉普拉斯特征映射


拉普拉斯特征映射(Laplacian Eigenmaps,LE)是一种降维方法,之前有讲过一种比较常见的降维算法: PCA

LE在图嵌入中有一些应用,所以这里总结一下。

1. 一些定义

G = ( V , E ) G=(V,E) G=(V,E) ∣ V ∣ = n |V|=n V=n W W W为邻接矩阵, D D D为图的度矩阵(对角阵),有 D i i = ∑ j = 1 n w i j D_{ii}=\sum_{j=1}^nw_{ij} Dii=j=1nwij

图的拉普拉斯矩阵定义:
L = D − W L=D-W L=DW
需要注意的是,对于有向图来说, W W W可以为出度矩阵,也可以为入度矩阵,视具体情况而定。我们下面讨论的都是无向图的拉普拉斯矩阵。

对于实对称矩阵 L L L,有以下性质:对任意非零列向量 y = [ y 1 , . . . , y n ] T y=[y_1,...,y_n]^T y=[y1,...,yn]T,我们有:
y T L y = 1 2 ∑ i = 1 n ∑ j = 1 n w i j ( y i − y j ) 2 ≥ 0 y^TLy=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nw_{ij}(y_i-y_j)^2\geq0 yTLy=21i=1nj=1nwij(yiyj)20
L L L是半正定的。证明如下:
y T L y = y T D y − y T W y = ∑ i = 1 n D i i y i 2 − ∑ i = 1 n ∑ j = 1 n y i y j w i j = 1 2 ( ∑ i = 1 n D i i y i 2 − 2 ∑ i = 1 n ∑ j = 1 n y i y j w i j + ∑ j = 1 n D j j y j 2 ) = 1 2 ( ∑ i = 1 n ( ∑ j = 1 n w i j ) y i 2 − 2 ∑ i = 1 n ∑ j = 1 n y i y j w i j + ∑ j = 1 n ( ∑ i = 1 n w i j ) y j 2 ) = 1 2 ∑ i = 1 n ∑ j = 1 n w i j ( y i − y j ) 2 \begin{aligned} y^TLy&=y^TDy-y^TWy\\ &=\sum_{i=1}^nD_{ii}y_i^2-\sum_{i=1}^n\sum_{j=1}^ny_iy_jw_{ij}\\ &=\frac{1}{2}(\sum_{i=1}^nD_{ii}y_i^2-2\sum_{i=1}^n\sum_{j=1}^ny_iy_jw_{ij}+\sum_{j=1}^nD_{jj}y_j^2)\\ &=\frac{1}{2}(\sum_{i=1}^n(\sum_{j=1}^nw_{ij})y_i^2-2\sum_{i=1}^n\sum_{j=1}^ny_iy_jw_{ij}+\sum_{j=1}^n(\sum_{i=1}^nw_{ij})y_j^2)\\ &=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nw_{ij}(y_i-y_j)^2 \end{aligned} yTLy=yTDyyTWy=i=1nDiiyi2i=1nj=1nyiyjwij=21(i=1nDiiyi22i=1nj=1nyiyjwij+j=1nDjjyj2)=21(i=1n(j=1nwij)yi22i=1nj=1nyiyjwij+j=1n(i=1nwij)yj2)=21i=1nj=1nwij(yiyj)2

2. 矩阵的迹求导

对LE的推导需要补充一些数学知识:
∂ t r ( A T B A ) ∂ A = ( B + B T ) A   ∂ t r ( A B A T C ) ∂ A = C A B + C T A B T \frac{\partial tr(A^TBA)}{\partial A}=(B+B^T)A\\ \ \\ \frac{\partial tr(ABA^TC)}{\partial A}=CAB+C^TAB^T Atr(ATBA)=(B+BT)A Atr(ABATC)=CAB+CTABT

3. LE

3.1 目标函数

在图嵌入中,我们的目的是得到每个顶点的低维向量表示,假设嵌入向量维度为 m m m

LE的思想:如果两个数据实例 i i i j j j很相似,那么它们在降维后的目标子空间中应该尽量接近。

而在图嵌入中,衡量两个节点是否相似的最直接度量为一阶邻近度,两个节点 v i v_i vi v j v_j vj间的一阶邻近度即两个节点间相连边的权重。

一阶邻近度通常意味着真实世界网络中两个节点的相似性。正所谓近朱者赤近墨者黑,比如在社交网络中成为朋友的人往往有相似的兴趣爱好,又比如万维网上相互链接的网页往往谈论类似的话题。由于这种重要性,现有的许多图嵌入算法在设计目标函数时都会保持一阶邻近度。

因此,LE的思想可以重新表述为:如果两个节点在原始图中彼此相邻,那么它们的低维嵌入向量应该彼此接近。

我们设节点 v i v_i vi v j v_j vj的向量表示分别为 y i ∈ R m y_i\in R^m yiRm y j ∈ R m y_j\in R^m yjRm,鉴于此,我们就可以得出LE的目标函数:
m i n    1 2 ∑ i = 1 n ∑ j = 1 n ∣ ∣ y i − y j ∣ ∣ 2 w i j min\ \ \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2w_{ij} min  21i=1nj=1nyiyj2wij
从目标函数可以看出,如果两个节点 v i v_i vi v j v_j vj的一阶邻近度 w i j w_{ij} wij较大(很相似),那么我们在最小化目标函数时,就会更多地考虑二者间的差异。

假设 y i y_i yi是一个列向量,那么 y i 2 = y i T y i y_i^2=y_i^Ty_i yi2=yiTyi

下面开始对目标函数进行化简:
1 2 ∑ i = 1 n ∑ j = 1 n ∣ ∣ y i − y j ∣ ∣ 2 w i j = 1 2 ∑ i = 1 n ∑ j = 1 n ( y i T y i w i j − 2 y i y j w i j + y j T y j w i j ) w i j = 1 2 ∑ i = 1 n ( ∑ j = 1 n w i j ) y i T y i − ∑ i = 1 n ∑ j = 1 n y i y j w i j + 1 2 ∑ j = 1 n ( ∑ i = 1 n w i j ) y j T y j = 1 2 ∑ i = 1 n D i i y i T y i − ∑ i = 1 n ∑ j = 1 n y i y j w i j + 1 2 ∑ i = 1 n D i i y i T y i = ∑ i = 1 n D i i y i T y i − ∑ i = 1 n ∑ j = 1 n y i y j w i j = t r ( Y T D Y ) − t r ( Y T W Y ) = t r ( Y T ( D − W ) Y ) = t r ( Y T L Y ) \begin{aligned} &\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2w_{ij}\\ =&\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n(y_i^Ty_iw_{ij}-2y_iy_jw_{ij}+y_j^Ty_jw_{ij})w_{ij}\\ =&\frac{1}{2}\sum_{i=1}^n(\sum_{j=1}^nw_{ij})y_i^Ty_i-\sum_{i=1}^n\sum_{j=1}^ny_iy_jw_{ij}+\frac{1}{2}\sum_{j=1}^n(\sum_{i=1}^nw_{ij})y_j^Ty_j\\ =&\frac{1}{2}\sum_{i=1}^nD_{ii}y_i^Ty_i-\sum_{i=1}^n\sum_{j=1}^ny_iy_jw_{ij}+\frac{1}{2}\sum_{i=1}^nD_{ii}y_i^Ty_i\\ =&\sum_{i=1}^nD_{ii}y_i^Ty_i-\sum_{i=1}^n\sum_{j=1}^ny_iy_jw_{ij}\\ =&tr(Y^TDY)-tr(Y^TWY)\\ =&tr(Y^T(D-W)Y)\\ =&tr(Y^TLY) \end{aligned} =======21i=1nj=1nyiyj2wij21i=1nj=1n(yiTyiwij2yiyjwij+yjTyjwij)wij21i=1n(j=1nwij)yiTyii=1nj=1nyiyjwij+21j=1n(i=1nwij)yjTyj21i=1nDiiyiTyii=1nj=1nyiyjwij+21i=1nDiiyiTyii=1nDiiyiTyii=1nj=1nyiyjwijtr(YTDY)tr(YTWY)tr(YT(DW)Y)tr(YTLY)
其中, Y = ( y 1 , . . . , y n ) T Y=(y_1,...,y_n)^T Y=(y1,...,yn)T t r ( A ) tr(A) tr(A)表示对矩阵 A A A求秩(对角线之和)。

3.2 约束条件

考虑到目标函数:
m i n    1 2 ∑ i = 1 n ∑ j = 1 n ∣ ∣ y i − y j ∣ ∣ 2 w i j min\ \ \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2w_{ij} min  21i=1nj=1nyiyj2wij
我们不妨设想一种极端情况,假设所有节点都映射到了同一个位置,也就是所有节点的嵌入向量 y y y相同,那么此时目标函数肯定有最小值0。又比如我们就假设所有节点的嵌入向量全部为0向量,此时目标函数也有最小值0。

以上两种情况是毫无意义的。此外,在上述情况下, y y y的维度也是任意的。因此,为了得到唯一解,我们需要对节点最终的嵌入向量 y y y做一些限制。

一个最简单的限制就是:我们希望最终得到的所有节点的嵌入向量 y y y能够尽可能地去填充 R m R^m Rm空间,而不是挤在一起。举个例子,假设 m = 2 m=2 m=2,那么我们不希望所有节点的嵌入向量 y y y(一个点)挤在一起,或者就只是聚集在某一条直线附近,而是尽可能的去散开,因为如果聚在一起就表示图中所有节点具有类似的性质,这显然是不科学的,我们只是需要邻接的节点的嵌入向量相似即可。

为了理解限制条件,我查阅了拉普拉斯特征映射的论文,论文中给出的限制条件为:
Y T D Y = I Y^TDY=I YTDY=I
原文中关于约束条件 Y T D Y = 1 Y^TDY=1 YTDY=1的描述为: Y T D Y = 1 Y^TDY=1 YTDY=1这一限制条件删除了嵌入中的任意比例因子。也就是说,每一个 y i y_i yi的尺度被固定了。

至于为什么选则 D D D而不是其他矩阵,原文中给出的解释为:度矩阵 D D D可以很好地提供节点自身的一个度量。我们可以这样理解: D D D可以描述每一个节点在graph中的重要性,如果我们使用 D D D y y y的尺度进行限制,那么我们可以使得 y y y R m R^m Rm上分布更加均匀,也就是前面我们提到的:我们希望最终得到的所有节点的嵌入向量 y y y能够尽可能地去填充 R m R^m Rm空间,而不是挤在一起。

3.3 优化

有了 y i T D y i = 1 y_i^TDy_i=1 yiTDyi=1这一限制条件后,我们可以构造拉格朗日函数如下:
L = t r ( Y T L Y ) − ∑ i = 1 n λ i ( 1 − y i T D y i ) L=tr(Y^TLY)-\sum_{i=1}^n\lambda_i(1-y_i^TDy_i) L=tr(YTLY)i=1nλi(1yiTDyi)
我们令 Λ \Lambda Λ为一个对角阵,对角阵上的元素 Λ i i = λ i \Lambda_{ii}=\lambda_i Λii=λi,因此,上述拉格朗日函数可以变为矩阵形式:
L = t r ( Y T L Y ) − t r ( Λ ( Y T D Y − I ) ) L=tr(Y^TLY)-tr(\Lambda(Y^TDY-I)) L=tr(YTLY)tr(Λ(YTDYI))
对于第一项,由第二节中求导公式(1)可知:
∂ t r ( Y T L Y ) ∂ Y = ( L + L T ) Y \frac{\partial tr(Y^TLY)}{\partial Y}=(L+L^T)Y Ytr(YTLY)=(L+LT)Y
对于第二项,由第二节中求导公式(2)可知:
∂ t r ( Λ Y T D Y ) ∂ Y = D Y Λ + D T Y Λ T \frac{\partial tr(\Lambda Y^TDY)}{\partial Y}=DY\Lambda+D^TY\Lambda^T Ytr(ΛYTDY)=DYΛ+DTYΛT
因此我们有:
∂ L ∂ Y = L Y + L T Y + D Y Λ + D T Y Λ T = 2 L Y + 2 D Y Λ = 0 \begin{aligned} \frac{\partial L}{\partial Y}&=LY+L^TY+DY\Lambda+D^TY\Lambda^T\\ &=2LY+2DY\Lambda=0 \end{aligned} YL=LY+LTY+DYΛ+DTYΛT=2LY+2DYΛ=0
解得:
L Y = − D Y Λ LY=-DY\Lambda LY=DYΛ
写成一般形式为: L y i = λ i D y i Ly_i=\lambda_iDy_i Lyi=λiDyi

3.4 广义特征值问题

上述问题转为广义特征值求解问题:
L y = λ D y Ly=\lambda Dy Ly=λDy

所谓广义特征值问题:对于实对称矩阵 A A A和实对称正定矩阵 B B B,如果有非零解 x x x满足:
A x = λ B x Ax=\lambda Bx Ax=λBx
则称 λ \lambda λ A A A相对于 B B B的特征值。

在本文中, L L L是实对称矩阵, D D D首先是实对称矩阵,其次 D D D也是正定的,这点很好证明,便不再叙述。

那么到底如何求解广义特征值文题呢?我们知道,一般特征值的表达形式为:
A x = λ x Ax=\lambda x Ax=λx
对于一般特征值求解,我们可以转为:
( A − λ E ) x = 0 (A-\lambda E)x=0 (AλE)x=0

那么我们可以尝试将广义特征值问题转为此类问题。

首先,我们将矩阵 B B B进行Cholesky分解:
B = G G T B=GG^T B=GGT
其中 G G G为下三角矩阵。

然后有:
A x = λ G G T x Ax=\lambda GG^Tx Ax=λGGTx
两边乘上 G − 1 G^{-1} G1
G − 1 A x = λ G T x G^{-1}Ax=\lambda G^Tx G1Ax=λGTx
然后:
G − 1 A x = λ G T x   G − 1 A ( ( G T ) − 1 G T ) x = λ G T x \begin{aligned} G^{-1}Ax&=\lambda G^Tx \ \\ G^{-1}A((G^T)^{-1}G^T)x&=\lambda G^Tx \end{aligned} G1AxG1A((GT)1GT)x=λGTx =λGTx
这时两边都出现了 G T x G^Tx GTx,我们将其合并:
( G − 1 A ( G T ) − 1 ) ( G T x ) = λ ( G T x ) (G^{-1}A(G^T)^{-1})(G^Tx)=\lambda (G^Tx) (G1A(GT)1)(GTx)=λ(GTx)
我们令:
G − 1 A ( G T ) − 1 = T   G T x = s \begin{aligned} G^{-1}A(G^T)^{-1}&=T \ \\ G^Tx&=s \end{aligned} G1A(GT)1GTx=T =s
于是原问题变为一般特征值的求解问题:
T s = λ s Ts=\lambda s Ts=λs
然后,我们就能求出矩阵 T T T的特征值 s s s,进而解出 x x x

3.5 结果

经过3.4之后,得到了 L y i = λ D y i Ly_i=\lambda Dy_i Lyi=λDyi中的解向量 y i y_i yi然后选取最小的 m m m个非零特征值对应的特征向量作为节点的嵌入向量。

为什么要选取非零特征值的特征向量?根据 L L L的性质, L L L的行和为0。因此,从 L y i = λ D y i Ly_i=\lambda Dy_i Lyi=λDyi可以看出, L L L具有广义特征值0和对应的特征向量 1 = ( 1 , . . . , 1 ) T 1=(1,...,1)^T 1=(1,...,1)T,由如果 1 = ( 1 , . . . , 1 ) T 1=(1,...,1)^T 1=(1,...,1)T被选中,那么每一个节点的嵌入向量中的某一维度将全是1,那么嵌入向量将退化到更低一维的空间中。

为什么要选取 m m m个最小的特征值对应的特征向量?参考网上说法:我们将 L Y = − D Y Λ LY=-DY\Lambda LY=DYΛ代回到原目标函数 t r ( Y T L Y ) tr(Y^TLY) tr(YTLY)中,可以得到:
m i n    t r ( − Y T D Y Λ ) min\ \ tr(-Y^TDY\Lambda) min  tr(YTDYΛ)
又由于有限制条件:
Y T D Y = I Y^TDY=I YTDY=I
所以最终目标函数为:
m i n    t r ( − Λ ) min \ \ tr(-\Lambda) min  tr(Λ)
这里 t r ( Λ ) = λ 1 + . . . + λ n tr(\Lambda)=\lambda_1+...+\lambda_n tr(Λ)=λ1+...+λn,目标函数即为特征值之和,为了使得目标函数最小化,当然应该选择最小的 m m m个特征值。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cyril_KI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值