深入理解拉普拉斯特征映射
目录
- 1. 一些定义
- 2. 矩阵的迹求导
- 3. LE
- 3.1 目标函数
- 3.2 约束条件
- 3.3 优化
- 3.4 广义特征值问题
- 3.5 结果
拉普拉斯特征映射(Laplacian Eigenmaps,LE)是一种降维方法,之前有讲过一种比较常见的降维算法: PCA。
LE在图嵌入中有一些应用,所以这里总结一下。
1. 一些定义
G=(V,E)G=(V,E)G=(V,E),∣V∣=n|V|=n∣V∣=n,WWW为邻接矩阵,DDD为图的度矩阵(对角阵),有Dii=∑j=1nwijD_{ii}=\sum_{j=1}^nw_{ij}Dii=∑j=1nwij。
图的拉普拉斯矩阵定义:
L=D−WL=D-WL=D−W
需要注意的是,对于有向图来说,WWW可以为出度矩阵,也可以为入度矩阵,视具体情况而定。我们下面讨论的都是无向图的拉普拉斯矩阵。
对于实对称矩阵LLL,有以下性质:对任意非零列向量y=[y1,...,yn]Ty=[y_1,...,y_n]^Ty=[y1,...,yn]T,我们有:
yTLy=12∑i=1n∑j=1nwij(yi−yj)2≥0y^TLy=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nw_{ij}(y_i-y_j)^2\geq0yTLy=21i=1∑nj=1∑nwij(yi−yj)2≥0
即LLL是半正定的。证明如下:
yTLy=yTDy−yTWy=∑i=1nDiiyi2−∑i=1n∑j=1nyiyjwij=12(∑i=1nDiiyi2−2∑i=1n∑j=1nyiyjwij+∑j=1nDjjyj2)=12(∑i=1n(∑j=1nwij)yi2−2∑i=1n∑j=1nyiyjwij+∑j=1n(∑i=1nwij)yj2)=12∑i=1n∑j=1nwij(yi−yj)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=yTDy−yTWy=i=1∑nDiiyi2−i=1∑nj=1∑nyiyjwij=21(i=1∑nDiiyi2−2i=1∑nj=1∑nyiyjwij+j=1∑nDjjyj2)=21(i=1∑n(j=1∑nwij)yi2−2i=1∑nj=1∑nyiyjwij+j=1∑n(i=1∑nwij)yj2)=21i=1∑nj=1∑nwij(yi−yj)2
2. 矩阵的迹求导
对LE的推导需要补充一些数学知识:
∂tr(ATBA)∂A=(B+BT)A∂tr(ABATC)∂A=CAB+CTABT\frac{\partial tr(A^TBA)}{\partial A}=(B+B^T)A\\ \ \\ \frac{\partial tr(ABA^TC)}{\partial A}=CAB+C^TAB^T∂A∂tr(ATBA)=(B+BT)A ∂A∂tr(ABATC)=CAB+CTABT
3. LE
3.1 目标函数
在图嵌入中,我们的目的是得到每个顶点的低维向量表示,假设嵌入向量维度为mmm。
LE的思想:如果两个数据实例iii和jjj很相似,那么它们在降维后的目标子空间中应该尽量接近。
而在图嵌入中,衡量两个节点是否相似的最直接度量为一阶邻近度,两个节点viv_ivi和vjv_jvj间的一阶邻近度即两个节点间相连边的权重。
一阶邻近度通常意味着真实世界网络中两个节点的相似性。正所谓近朱者赤近墨者黑,比如在社交网络中成为朋友的人往往有相似的兴趣爱好,又比如万维网上相互链接的网页往往谈论类似的话题。由于这种重要性,现有的许多图嵌入算法在设计目标函数时都会保持一阶邻近度。
因此,LE的思想可以重新表述为:如果两个节点在原始图中彼此相邻,那么它们的低维嵌入向量应该彼此接近。
我们设节点viv_ivi和vjv_jvj的向量表示分别为yi∈Rmy_i\in R^myi∈Rm和yj∈Rmy_j\in R^myj∈Rm,鉴于此,我们就可以得出LE的目标函数:
min12∑i=1n∑j=1n∣∣yi−yj∣∣2wijmin\ \ \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2w_{ij}min 21i=1∑nj=1∑n∣∣yi−yj∣∣2wij
从目标函数可以看出,如果两个节点viv_ivi和vjv_jvj的一阶邻近度wijw_{ij}wij较大(很相似),那么我们在最小化目标函数时,就会更多地考虑二者间的差异。
假设yiy_iyi是一个列向量,那么yi2=yiTyiy_i^2=y_i^Ty_iyi2=yiTyi。
下面开始对目标函数进行化简:
12∑i=1n∑j=1n∣∣yi−yj∣∣2wij=12∑i=1n∑j=1n(yiTyiwij−2yiyjwij+yjTyjwij)wij=12∑i=1n(∑j=1nwij)yiTyi−∑i=1n∑j=1nyiyjwij+12∑j=1n(∑i=1nwij)yjTyj=12∑i=1nDiiyiTyi−∑i=1n∑j=1nyiyjwij+12∑i=1nDiiyiTyi=∑i=1nDiiyiTyi−∑i=1n∑j=1nyiyjwij=tr(YTDY)−tr(YTWY)=tr(YT(D−W)Y)=tr(YTLY)\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=1∑nj=1∑n∣∣yi−yj∣∣2wij21i=1∑nj=1∑n(yiTyiwij−2yiyjwij+yjTyjwij)wij21i=1∑n(j=1∑nwij)yiTyi−i=1∑nj=1∑nyiyjwij+21j=1∑n(i=1∑nwij)yjTyj21i=1∑nDiiyiTyi−i=1∑nj=1∑nyiyjwij+21i=1∑nDiiyiTyii=1∑nDiiyiTyi−i=1∑nj=1∑nyiyjwijtr(YTDY)−tr(YTWY)tr(YT(D−W)Y)tr(YTLY)
其中,Y=(y1,...,yn)TY=(y_1,...,y_n)^TY=(y1,...,yn)T,tr(A)tr(A)tr(A)表示对矩阵AAA求秩(对角线之和)。
3.2 约束条件
考虑到目标函数:
min12∑i=1n∑j=1n∣∣yi−yj∣∣2wijmin\ \ \frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2w_{ij}min 21i=1∑nj=1∑n∣∣yi−yj∣∣2wij
我们不妨设想一种极端情况,假设所有节点都映射到了同一个位置,也就是所有节点的嵌入向量yyy相同,那么此时目标函数肯定有最小值0。又比如我们就假设所有节点的嵌入向量全部为0向量,此时目标函数也有最小值0。
以上两种情况是毫无意义的。此外,在上述情况下,yyy的维度也是任意的。因此,为了得到唯一解,我们需要对节点最终的嵌入向量yyy做一些限制。
一个最简单的限制就是:我们希望最终得到的所有节点的嵌入向量yyy能够尽可能地去填充RmR^mRm空间,而不是挤在一起。举个例子,假设m=2m=2m=2,那么我们不希望所有节点的嵌入向量yyy(一个点)挤在一起,或者就只是聚集在某一条直线附近,而是尽可能的去散开,因为如果聚在一起就表示图中所有节点具有类似的性质,这显然是不科学的,我们只是需要邻接的节点的嵌入向量相似即可。
为了理解限制条件,我查阅了拉普拉斯特征映射的论文,论文中给出的限制条件为:
YTDY=IY^TDY=IYTDY=I
原文中关于约束条件YTDY=1Y^TDY=1YTDY=1的描述为:YTDY=1Y^TDY=1YTDY=1这一限制条件删除了嵌入中的任意比例因子。也就是说,每一个yiy_iyi的尺度被固定了。
至于为什么选则DDD而不是其他矩阵,原文中给出的解释为:度矩阵DDD可以很好地提供节点自身的一个度量。我们可以这样理解:DDD可以描述每一个节点在graph中的重要性,如果我们使用DDD对yyy的尺度进行限制,那么我们可以使得yyy在RmR^mRm上分布更加均匀,也就是前面我们提到的:我们希望最终得到的所有节点的嵌入向量yyy能够尽可能地去填充RmR^mRm空间,而不是挤在一起。
3.3 优化
有了yiTDyi=1y_i^TDy_i=1yiTDyi=1这一限制条件后,我们可以构造拉格朗日函数如下:
L=tr(YTLY)−∑i=1nλi(1−yiTDyi)L=tr(Y^TLY)-\sum_{i=1}^n\lambda_i(1-y_i^TDy_i)L=tr(YTLY)−i=1∑nλi(1−yiTDyi)
我们令Λ\LambdaΛ为一个对角阵,对角阵上的元素Λii=λi\Lambda_{ii}=\lambda_iΛii=λi,因此,上述拉格朗日函数可以变为矩阵形式:
L=tr(YTLY)−tr(Λ(YTDY−I))L=tr(Y^TLY)-tr(\Lambda(Y^TDY-I))L=tr(YTLY)−tr(Λ(YTDY−I))
对于第一项,由第二节中求导公式(1)可知:
∂tr(YTLY)∂Y=(L+LT)Y\frac{\partial tr(Y^TLY)}{\partial Y}=(L+L^T)Y∂Y∂tr(YTLY)=(L+LT)Y
对于第二项,由第二节中求导公式(2)可知:
∂tr(ΛYTDY)∂Y=DYΛ+DTYΛT\frac{\partial tr(\Lambda Y^TDY)}{\partial Y}=DY\Lambda+D^TY\Lambda^T∂Y∂tr(ΛYTDY)=DYΛ+DTYΛT
因此我们有:
∂L∂Y=LY+LTY+DYΛ+DTYΛT=2LY+2DYΛ=0\begin{aligned} \frac{\partial L}{\partial Y}&=LY+L^TY+DY\Lambda+D^TY\Lambda^T\\ &=2LY+2DY\Lambda=0 \end{aligned}∂Y∂L=LY+LTY+DYΛ+DTYΛT=2LY+2DYΛ=0
解得:
LY=−DYΛLY=-DY\LambdaLY=−DYΛ
写成一般形式为:Lyi=λiDyiLy_i=\lambda_iDy_iLyi=λiDyi
3.4 广义特征值问题
上述问题转为广义特征值求解问题:
Ly=λDyLy=\lambda DyLy=λDy
所谓广义特征值问题:对于实对称矩阵AAA和实对称正定矩阵BBB,如果有非零解xxx满足:
Ax=λBxAx=\lambda BxAx=λBx
则称λ\lambdaλ是AAA相对于BBB的特征值。
在本文中,LLL是实对称矩阵,DDD首先是实对称矩阵,其次DDD也是正定的,这点很好证明,便不再叙述。
那么到底如何求解广义特征值文题呢?我们知道,一般特征值的表达形式为:
Ax=λxAx=\lambda xAx=λx
对于一般特征值求解,我们可以转为:
(A−λE)x=0(A-\lambda E)x=0(A−λE)x=0
那么我们可以尝试将广义特征值问题转为此类问题。
首先,我们将矩阵BBB进行Cholesky分解:
B=GGTB=GG^TB=GGT
其中GGG为下三角矩阵。
然后有:
Ax=λGGTxAx=\lambda GG^TxAx=λGGTx
两边乘上G−1G^{-1}G−1:
G−1Ax=λGTxG^{-1}Ax=\lambda G^TxG−1Ax=λGTx
然后:
G−1Ax=λGTxG−1A((GT)−1GT)x=λGTx\begin{aligned} G^{-1}Ax&=\lambda G^Tx \ \\ G^{-1}A((G^T)^{-1}G^T)x&=\lambda G^Tx \end{aligned}G−1AxG−1A((GT)−1GT)x=λGTx =λGTx
这时两边都出现了GTxG^TxGTx,我们将其合并:
(G−1A(GT)−1)(GTx)=λ(GTx)(G^{-1}A(G^T)^{-1})(G^Tx)=\lambda (G^Tx)(G−1A(GT)−1)(GTx)=λ(GTx)
我们令:
G−1A(GT)−1=TGTx=s\begin{aligned} G^{-1}A(G^T)^{-1}&=T \ \\ G^Tx&=s \end{aligned}G−1A(GT)−1GTx=T =s
于是原问题变为一般特征值的求解问题:
Ts=λsTs=\lambda sTs=λs
然后,我们就能求出矩阵TTT的特征值sss,进而解出xxx。
3.5 结果
经过3.4之后,得到了Lyi=λDyiLy_i=\lambda Dy_iLyi=λDyi中的解向量yiy_iyi,然后选取最小的mmm个非零特征值对应的特征向量作为节点的嵌入向量。
为什么要选取非零特征值的特征向量?根据LLL的性质,LLL的行和为0。因此,从Lyi=λDyiLy_i=\lambda Dy_iLyi=λDyi可以看出,LLL具有广义特征值0和对应的特征向量1=(1,...,1)T1=(1,...,1)^T1=(1,...,1)T,由如果1=(1,...,1)T1=(1,...,1)^T1=(1,...,1)T被选中,那么每一个节点的嵌入向量中的某一维度将全是1,那么嵌入向量将退化到更低一维的空间中。
为什么要选取mmm个最小的特征值对应的特征向量?参考网上说法:我们将LY=−DYΛLY=-DY\LambdaLY=−DYΛ代回到原目标函数tr(YTLY)tr(Y^TLY)tr(YTLY)中,可以得到:
mintr(−YTDYΛ)min\ \ tr(-Y^TDY\Lambda)min tr(−YTDYΛ)
又由于有限制条件:
YTDY=IY^TDY=IYTDY=I
所以最终目标函数为:
mintr(−Λ)min \ \ tr(-\Lambda)min tr(−Λ)
这里tr(Λ)=λ1+...+λntr(\Lambda)=\lambda_1+...+\lambda_ntr(Λ)=λ1+...+λn,目标函数即为特征值之和,为了使得目标函数最小化,当然应该选择最小的mmm个特征值。
深入理解拉普拉斯特征映射相关推荐
- 拉普拉斯分布_理解拉普拉斯特征映射中的优化问题的约束条件
引言:在学习拉普拉斯特征映射(Laplacian Eigenmaps, LE)的过程中,发现大多数参考资料仅列出了其中的最优化问题,然后直接过渡到特征值问题,对于该优化问题,特别是其中的约束条件解释的 ...
- 图嵌入(拉普拉斯特征映射Laplacian Eigenmaps)
图嵌入(Graph embedding)的意义 Graph广泛存在于真实世界的多种场景中,即节点和边的集合.比如社交网络中人与人之间的联系,生物中蛋白质相互作用以及通信网络中的IP地址之间的通信等等. ...
- 拉普拉斯特征映射(Laplacian Eigenmaps)
1.介绍 拉普拉斯特征映射(Laplacian Eigenmaps)是一种不太常见的降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系.也许这样讲有些抽象,具体来讲, ...
- Laplacian Eigenmaps 拉普拉斯特征映射
Laplacian Eigenmaps 继续写一点经典的降维算法,前面介绍了PCA,LDA,LLE,这里讲一讲Laplacian Eigenmaps.其实不是说每一个算法都比前面的好,而是每一个算法都 ...
- 机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射
继续写一点经典的降维算法,前面介绍了PCA,LDA,LLE,这里讲一讲Laplacian Eigenmaps. 其实不是说每一个算法都比前面的好,而是每一个算法都是从不同角度去看问题,因此解决问题的思 ...
- 拉普拉斯特征映射(Laplacian Eigenmaps, LE)
主要思想 LE将 D D D维特征 X = [ x 1 , x 2 , ⋯ , x N ] ∈ R D × N \mathbf{X}=[\mathbf{x}_1, \mathbf{x}_2, \cdo ...
- Laplacian eigenmap 拉普拉斯特征映射
下面是实验室大牛师兄自己写的一段总结,主要内容是Laplacian Eigenmap中的核心推导过程. 有空还是多点向这位师兄请教,每次都会捡到不少金子. Reference : <Laplac ...
- 卷积神经网络及图像处理中共享权重、特征映射等理解
一,前言 卷积神经网络(Constitutional Neural Networks, CNN)是在多层神经网络的基础上发展起来的针对图像分类和识别而特别设计的一种深度学习方法.先回顾一下多层神经网络 ...
- {降维} ISOMAP等距特征映射 MDS多维标度法
首发:https://zhuanlan.zhihu.com/p/60599491 介绍两种降维方法 镇楼_MDS: http://www.utdallas.edu/~herve/Abdi-MDS200 ...
最新文章
- 数组拷贝问题,实际上是指针指向发生变化
- [分享]3秒钟让你的QQ号IP跑到任何地方,哪怕是美国白宫!
- Spring框架分为哪七大模块以及各模块的主要功能作用
- bzoj3122 [SDOI2013]随机数生成器
- copying mysql status_mysql慢查询copying to tmp table
- CCF201412-2 Z字形扫描
- PyTorch学习—8.模型创建步骤与nn.Module属性
- Python+Selenium自动化学习笔记
- ppt图片文字嵌入_形状,文字填充图片教你做出好看的PPT
- 记录下在linux下编译java源程序
- 【EasyPR】Linux安装使用EasyPR开源车牌识别系统
- 第八章:项目质量管理 - (8.0 项目质量管理是什么)
- Java经典全套面试汇总(二十万字)
- json-lib将xml转json报错java.lang.NoClassDefFoundError: nu/xom/ParentNode
- 怎样才能在微信朋友圈发长视频?
- pacs系统服务器配置,PACS系统部及配置说明.doc
- HTML-文本格式化
- Windows10搭建外网可访问的ftp服务器
- python解常微分方程龙格库_求解二阶常微分方程的RungeKutta四阶方法
- ppt插入html,如何在PPT中嵌入网页?