拉普拉斯特征映射(Laplacian Eigenmaps)
1、介绍
拉普拉斯特征映射(Laplacian Eigenmaps)是一种不太常见的降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。也许这样讲有些抽象,具体来讲,拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。
本文参考http://blog.csdn.net/xbinworld/article/details/8855796。
2、推导
拉普拉斯特征映射通过构建邻接矩阵为 W W(邻接矩阵定义见这里)的图来重构数据流形的局部结构特征。其主要思想是,如果两个数据实例ii和 j j很相似,那么ii和 j j在降维后目标子空间中应该尽量接近。设数据实例的数目为nn,目标子空间即最终的降维目标的维度为 m m。定义n×mn\times m大小的矩阵 Y Y,其中每一个行向量yTiy_i^T是数据实例 i i在目标mm维子空间中的向量表示(即降维后的数据实例 i i)。我们的目的是让相似的数据样例ii和 j j在降维后的目标子空间里仍旧尽量接近,故拉普拉斯特征映射优化的目标函数如下:
min∑i,j||yi−yj||2Wijmin\sum\limits_{i,j}||y_i-y_j||^2W_{ij}
下面开始推导:
\sum_{i=1}^{n}\sum_{j=1}^{n}||y_i-y_j||^2W_{ij} \\=\sum_{i=1}^{n}\sum_{j=1}^{n}(y_i^Ty_i-2y_i^Ty_j+y_j^Ty_j)W_{ij} \\= \sum_{i=1}^{n}(\sum_{j=1}^nW_{ij})y_i^Ty_i+\sum_{j=1}^{n}(\sum_{i=1}^nW_{ij})y_j^Ty_j-2\sum_{i=1}^{n}\sum_{j=1}^{n}y_i^Ty_jW_{ij} \\=2\sum_{i=1}^{n}D_{ii}y_i^Ty_i-2\sum_{i=1}^{n}\sum_{j=1}^{n}y_i^Ty_jW_{ij} \\=2\sum_{i=1}^{n}(\sqrt{D_{ii}}y_i)^T(\sqrt{D_{ii}}y_i)-2\sum_{i=1}^ny_i^T(\sum_{j=1}^ny_jW{ij}) \\=2trace(Y^TDY) - 2\sum_{i=1}^ny_i^T(YW)_i \\=2trace(Y^TDY)-2trace(Y^TWY) \\=2trace[Y^T(D-W)Y] \\=2trace(Y^TLY)
其中 W W是图的邻接矩阵,对角矩阵DD是图的度矩阵( Dii=∑nj=1Wij D_{ii}=\sum_{j=1}^{n}W_{ij}), L=D−W L=D-W成为图的拉普拉斯矩阵。
变换后的拉普拉斯特征映射优化的目标函数如下:
mintrace(YTLY),s.t.YTDY=I min\quad trace(Y^TLY),\quad s.t. Y^TDY=I
其中限制条件 s.t.YTDY=I s.t. Y^TDY=I保证优化问题有解,下面用拉格朗日乘子法对目标函数求解:
f(Y) = tr(Y^TLY)+ tr[\Lambda(Y^TDY-I)] \\\dfrac{\partial f(Y)}{\partial Y} =LY+L^TY+D^TY\Lambda^T+DY\Lambda \\=2LY+2DY\Lambda = 0 \\\therefore LY=-DY\Lambda
其中用到了矩阵的迹的求导,具体方法见 迹求导。 Λ \Lambda为一个对角矩阵,另外 L L、DD均为实对称矩阵,其转置与自身相等。对于单独的 y y向量,上式可写为:Ly=λDyLy=\lambda D y,这是一个 广义特征值问题。。通过求得 m m个最小非零特征值所对应的特征向量,即可达到降维的目的。
关于这里为什么要选择mm个最小非零特征值所对应的特征向量,下面评论中的大佬指出,将 LY=−DYΛ LY=-DY\Lambda带回到 mintrace(YTLY) min\quad trace(Y^TLY)中,由于有着约束条件 YTDY=I Y^TDY=I的限制,可以得到 mintrace(YTLY)=mintrace(−Λ) min\quad trace(Y^TLY)=min \quad trace(-\Lambda)。即为特征值之和。我们为了目标函数最小化,要选择最小的 m m个特征值所对应的特征向量。
3、步骤
使用时算法具体步骤为:
步骤1:构建图
使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。K是一个预先设定的值。
步骤2:确定权重
确定点与点之间的权重大小,例如选用热核函数来确定,如果点ii和点 j j相连,那么它们关系的权重设定为:
Wij=e−||xi−xj||2tW_{ij}=e^{-\frac{||x_i-x_j||^2}{t}}
另外一种可选的简化设定是 Wij=1 W_{ij}=1如果点 i i,jj相连,否则 Wij=0 W_{ij}=0。
步骤3:特征映射
计算拉普拉斯矩阵L的特征向量与特征值: Ly=λDy Ly=\lambda D y
使用最小的m个非零特征值对应的特征向量作为降维后的结果输出。
4、实例
上图所示左边的图表示有两类数据点(数据是图片),中间图表示采用拉普拉斯特征映射降维后每个数据点在二维空间中的位置,右边的图表示采用PCA并取前两个主要方向投影后的结果,可以清楚地看到,在此分类问题上,拉普拉斯特征映射的结果明显优于PCA。
上图说明的是高维数据(图中3D)也有可能是具有低维的内在属性的(图中Swiss roll实际上是2D的),但是这个低维不是原来坐标表示,例如如果要保持局部关系,蓝色和下面黄色是完全不相关的,但是如果只用任何2D或者3D的距离来描述都是不准确的。
下面的三个图是拉普拉斯特征映射在不同参数下的展开结果(降维到2D),可以看到,似乎是要把整个卷拉平了,蓝色和黄色差的比较远,很好地保留了数据原有的结构。
拉普拉斯特征映射(Laplacian Eigenmaps)相关推荐
- 图嵌入(拉普拉斯特征映射Laplacian Eigenmaps)
图嵌入(Graph embedding)的意义 Graph广泛存在于真实世界的多种场景中,即节点和边的集合.比如社交网络中人与人之间的联系,生物中蛋白质相互作用以及通信网络中的IP地址之间的通信等等. ...
- 深入理解拉普拉斯特征映射
目录 1. 一些定义 2. 矩阵的迹求导 3. LE 3.1 目标函数 3.2 约束条件 3.3 优化 3.4 广义特征值问题 3.5 结果 拉普拉斯特征映射(Laplacian Eigenmaps, ...
- 拉普拉斯分布_理解拉普拉斯特征映射中的优化问题的约束条件
引言:在学习拉普拉斯特征映射(Laplacian Eigenmaps, LE)的过程中,发现大多数参考资料仅列出了其中的最优化问题,然后直接过渡到特征值问题,对于该优化问题,特别是其中的约束条件解释的 ...
- Laplacian Eigenmaps 拉普拉斯特征映射
Laplacian Eigenmaps 继续写一点经典的降维算法,前面介绍了PCA,LDA,LLE,这里讲一讲Laplacian Eigenmaps.其实不是说每一个算法都比前面的好,而是每一个算法都 ...
- 机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射
继续写一点经典的降维算法,前面介绍了PCA,LDA,LLE,这里讲一讲Laplacian Eigenmaps. 其实不是说每一个算法都比前面的好,而是每一个算法都是从不同角度去看问题,因此解决问题的思 ...
- Laplacian eigenmap 拉普拉斯特征映射
下面是实验室大牛师兄自己写的一段总结,主要内容是Laplacian Eigenmap中的核心推导过程. 有空还是多点向这位师兄请教,每次都会捡到不少金子. Reference : <Laplac ...
- 拉普拉斯特征映射(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 Eigenmaps与LPP(Locality Preserving Projections)简介
一.拉普拉斯特征映射(Laplacian Eigenmaps) 1.Introduction 机器学习与模式识别的一个核心问题是找到一种合适的对复杂数据的表示. 我们把这个问题叫做数据低维流形的嵌入在 ...
- 【流行学习】拉普拉斯映射(Laplacian Eigenmaps)
一.前言 拉普拉斯特征映射是一种基于图的降维算法,它希望在原空间中相互间有相似关系的点,在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构信息. 二.主要步骤 拉普拉斯特征映射通过构建邻 ...
最新文章
- MonkeyRunner 的使用一
- hdu 5167 bfs
- PHP如何保存当前用户
- 商业逻辑12讲之战略管理的逻辑
- 【linux 001】【利用staging Driver】【001】wifi AR6000 驱动移植引发的 staging 的问题
- Java 自带的加密类MessageDigest类(加密MD5和SHA)
- ruby通过ftp下载文件
- 【JZOJ5424】【NOIP2017提高A组集训10.25】凤凰院凶真
- iar 堆栈设置_IAR开发STM32堆栈设置
- Ubuntu10.10下安装Tor,PolipoVidalia
- 云南高性能云桌面搭建解决方案、云桌面与传统PC优势对比,云桌面适用场景分析
- LAYA和TypeScript制作H5入门——页面制作
- 冰羚-IceOryx FAQ翻译
- eclipse 显示中文或者英文
- 前端开发规范V2023.5
- 损失函数及对应的任务(待续)
- Sap Program 自动创建供应商资料,BP
- weixin小程序和公众号抓包方法分享
- Elasticsearch性能优化技巧
- UESTC 2014 Summer Training #7 Div.2