Locally linear embedding (LLE)局部线性嵌入(降维)
(2014-05-26 11:19:51) | 分类: 学术理论 |
图1 非线性降维实例:B是从A中提取的样本点(三维),通过非线性降维
算法(LLE),将数据映射到二维空间中(C)。从C图中的颜色可以看出
通过LLE算法处理后的数据,能很好的保持原有数据的邻域特性
1 LLE算法
图2 LLE算法流程
其中 为 的k个近邻点, 是 与 之间的权值,且要满足条件: 。这里求取W矩阵,需要构造一个局部协方差矩阵 。
其中r是正则化参数,I是一个kxk的单位矩阵。
其中,为损失函数值,是的输出向量,是的k个近邻点,且要满足两个条件,即:
其中I是的单位矩阵。这里的可以存储在的稀疏矩阵W中,当是的近邻点时,,否则,。则损失函数可重写为:
其中M是一个的对称矩阵,其表达式为:
要使损失函数值达到最小, 则取Y为M的最小m个非零特征值所对应的特征向量。在处理过程中,将M的特征值从小到大排列,第一个特征值几乎接近于零,那么舍去第一个特征值。通常取第间的特征值所对应的特征向量作为输出结果。
2 SLLE算法
其中是计算后的距离;在本文中是定义为dijkstra距离;是表示类与类之间的最大dijkstra距离;取0或者1,当两点属于同类时,取为0,否则取1;是控制点集之间的距离参数,是一个经验参数。当取为零时,此时的SLLE和LLE算法相同。
3 SLLE参数设置
其中为的特征值,且以从大到小排列。对于每个样本点,都需要计算一次样本点的输出维数。所有点输出维数的平均值规定为样本的输出维数。
其中为的最小的个特征值。
4 SLLE的测数数据处理
(1)选取一个,将x加入X矩阵中,则X变为的矩阵。在训练样本中寻找的k个近邻点,此时还时采用dijkstra距离,但是不能像SLLE算法那样加上样本点的类别信息。
(2)求与其k个近邻点间的权值系数,且满足以下条件:
其中是的k个近邻点,是与其近邻点之间的权值。
(3)计算的输出向量:
其中为的输出向量。
参考文献:
[1] Sam T. Roweis and Lawrence K. Saul. Nonlinear Dimensionality Reduction by Locally Linear Embedding, Science, Dec 22 2000:2323-2326
[2] Lawrence K.Saul, Sam T.Roweis. An Introduction to Locally Linear Embedding. http://www.cs.toronto.edu/~roweis/lle/, 2001
[3] Lawrence K.Saul, Sam T.Roweis. Think Globally, Fit Locally: Unsupervised Learning of Low Dimensional Manifolds. Journal of Machine Learning Research 4(2003) 119-155
[4] Dick de Ridder, Olga Kouropteva, Oleg Okun, et al. Supervised locally linear embedding. Artificial Neural Networks and Neural Information Processing, ICANN/ICONIP 2003 Proceedings, Lecture Notes in Computer Science 2714, Springer, 333-341
[5] Kouropteva O, Okun O & Pietik?inen M. Classification of handwritten digits using supervised locally linear embedding algorithm and support vector machine. Proc. of the 11th European Symposium on Artificial Neural Networks (ESANN'2003), April 23-25, Bruges, Belgium, 229-234
[6] Kouropteva O, Okun O & Pietik?inen M. Supervised Locally Linear Embedding Algorithm for Pattern Recognition. IbPRIA 2003: 386-394