1、介绍
拉普拉斯特征映射(Laplacian Eigenmaps)是一种不太常见的降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。也许这样讲有些抽象,具体来讲,拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。
本文参考http://blog.csdn.net/xbinworld/article/details/8855796。
2、推导
拉普拉斯特征映射通过构建邻接矩阵为
W
(邻接矩阵定义见这里)的图来重构数据流形的局部结构特征。其主要思想是,如果两个数据实例
下面开始推导:
其中 W 是图的邻接矩阵,对角矩阵
变换后的拉普拉斯特征映射优化的目标函数如下:
mintrace(YTLY),s.t.YTDY=I
其中限制条件 s.t.YTDY=I 保证优化问题有解,下面用拉格朗日乘子法对目标函数求解:
其中用到了矩阵的迹的求导,具体方法见 迹求导。 Λ 为一个对角矩阵,另外 L 、
关于这里为什么要选择
3、步骤
使用时算法具体步骤为:
步骤1:构建图
使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。K是一个预先设定的值。
步骤2:确定权重
确定点与点之间的权重大小,例如选用热核函数来确定,如果点
另外一种可选的简化设定是
Wij=1
如果点
i
,
步骤3:特征映射
计算拉普拉斯矩阵L的特征向量与特征值: Ly=λDy
使用最小的m个非零特征值对应的特征向量作为降维后的结果输出。
4、实例
上图所示左边的图表示有两类数据点(数据是图片),中间图表示采用拉普拉斯特征映射降维后每个数据点在二维空间中的位置,右边的图表示采用PCA并取前两个主要方向投影后的结果,可以清楚地看到,在此分类问题上,拉普拉斯特征映射的结果明显优于PCA。
上图说明的是高维数据(图中3D)也有可能是具有低维的内在属性的(图中Swiss roll实际上是2D的),但是这个低维不是原来坐标表示,例如如果要保持局部关系,蓝色和下面黄色是完全不相关的,但是如果只用任何2D或者3D的距离来描述都是不准确的。
下面的三个图是拉普拉斯特征映射在不同参数下的展开结果(降维到2D),可以看到,似乎是要把整个卷拉平了,蓝色和黄色差的比较远,很好地保留了数据原有的结构。