这篇文章主要的目的是在降低空间维度的同时,能较好的保持内部固定的局部结构,并且它对异化值(通常理解为错误的点,或者为污点)不敏感,这一点可以与主成分分析法(PCA)相区别。
对于高维的空间(x1,x2,x3、、、,xn)——属于S维空间,一般而言,我们需要选择一个降维矩阵A对X进行降维从而得到Y,其中Y=(y1,y2、、、,yn)——属于L维空间,其中L<
不多说,直接进入主题——
其中yi与yj代表降维之后的点,Wij是权重矩阵;
通过最小化上述目标函数,便达到降维目的。大家可以先好好想为什么要这样设置(后面将进行讲解),为了便于计算结果,将(1)转化为矩阵形式如下所示:
为了防止过拟合的现象(大家可以试想如果全部溶缩为一个点,那么结果则为0),于是给定一个限制:
则原公式可简化为:
step one :Constructing the adjacency graph
a:ᵋ-neighboorhoods.
可以设想为一个半径为ᵋ圆的面积内刚好有K个点,但是由于ᵋ 一般难以确定,故经常选择第二种方法,而原文采用的也是下面一种.
b.k nearest nighbors. 依次选取,一直到寻找到第k个近的点的集合构成邻接图.
step two :Choosing the Weights
a.Heat kernel.
注:其中Xi与Xj代表原始空间的点,t为自定义.权重的设定与目标函数有很大的关系,他们相互限制,相互约束,从而达到保持原空间结构的目的。
b.Simple-minded.
Wij=1 if and only if vertices i and j are connect by an edge.
step three :Eigenmaps(计算特征值与特征向量)
XLX'a=λXDX'a(等式由拉格朗日函数对a进行求导而得)
此函数大家可以根据已知条件试着推导,注意求特征向量的公式为|aE-A|=0.
(including Dii=EWij——其中矩阵D的对角线元素为矩阵W每一列或者每一行的和,L=D-W is the laplacian matrix.The ith column of matrix X is xi)
对eigenvalues进行从小到大排序,选取前l小的特征值的特征向量构成的矩阵A,最后可得
x-->y=A'x, A=(a0,a1,...,al-1)
其中A为降维矩阵.
参考:He X. Locality preserving projections[J]. Advances in Neural Information Processing Systems, 2003, 16(1):186-197.