局部线性嵌入(LLE)算法解释

来源:互联网 发布:腾亿网络 编辑:程序博客网 时间:2024/05/17 00:59

局部线性嵌入(LLE)算法

 

给定N个输入向量{x1,x2,…,xN},xRd,通过LLE算法,得到输出向量yi,i[1,N],yi  Rm,m<<d。LLE算法可以归结为:

(1)寻找相对于所求点的欧氏距离最近的k个样本点规定为所求点的近邻点,k是一个预先给定的值;

(2)由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;

(3)由该样本点的局部重建权值矩阵及其近邻点计算出该样本点的输出向量.定义一个误差函数:

式中, 为一个 的对称矩阵,其表达式为

由公式(6)可知,要使损失函数值达到最小,则取Y为M的最小m个非零特征值所对应的特征向量。对Swiss Roll类型、4800点数据样本利用PCA和LLE降维结果见图1所示。

(a)Swiss Roll,4800点数据样本 (b)对(a)样本进行PCA降维结果 (c)对(a)进行LLE降维结果

 

图1   PCA和LLE降维比较

LLE算法中共有3个参数需要设置,即近邻点的个数k、输出维数m和正则化参数r。k的选取在算法中起到关键因素,如果k取值太大,LLE不能体现局部特性,使得LLE算法趋向于PCA算法;反之,LLE不能保持样本点在低维空间中的拓扑结构。本文所选取的k值尽量使公式(1)的误差函数值达到最小,可以认为函数误差(W)为 k的函数[9]。通过实验,本文选取k为4。

如果输出维数选取的太高,输出数据则受到噪声影响;反之,不能正确地提取样本数据的固有特征.本文中的m可以由程序自动计算,计算后的维数称之为固有维数,采取固有维数后的输出结果几乎能包含所有的样本信息,一般k的取值应大于样本的固有维数,计算固有维数的表达式为,

通过上述方式由算法自动决定样本的固有维数,或者由用户自定义输出维数m。如果自定义的维数大于样本的固有维数,则输出结果没有包含样本的所有信息,于是将样本点的残留信息权加给QI矩阵。残留信息可表示为,


来源:http://221.0.90.138:8502/xzjigou/xb/web-zy/ml/08/083/083jyty42.htm