局部保持投影(LPP)
论文:《Locality Preserving Projections》作者:何小飞(2003)
所谓流形,是指高维样本空间中呈现的一种低维的局部性的结构。局部保留投影(LPP)方法是通过构建空间中各样本对之间的远近亲疏关系,并在投影中保持这种关系,在降维的同时保留空间中样本的局部邻域结构, 即在低维空间中最小化近邻样本间的距离加权平方和,也可以理解为尽量避免样本集的发散,保持原来的近邻结构。
一、摘要:
LPP应该被视为PCA的替代方法。PCA是一种经典的线性技术,他沿着最大方差的方向投影数据。当高维数据位于嵌入外围空间的低维流形上是,通过求流行上 Laplace Beltrami算子特征函数的最优特征逼近,得到局部保持投影。因此,LPP具有许多非线性技术的数据表示特征,如拉普拉斯特征映射或局部线性嵌入。
注:PCA可见本人另外一篇文章: 【机器学习】【降维】PCA主成分分析
二、主要思想
LPP构建了一个包含数据集领域信息的图。利用图的拉普拉斯变换概念,计算了一个将数据点映射到子空间的变换矩阵。
这种线性变换再一定意义上最优的保留了局部的领域信息。该算法生成的表示映射可以看作是对流行的几何性质的自然产生的连续映射的线性离散近似。
三、算法步骤
给定 x 1 , x 2 , . . . , x m x_1,x_2,...,x_m x1,x2,...,xm in R n R^n Rn,找到变换矩阵 A A A把这 m m m个点映射到 y 1 , y 2 , . . . y m y_1,y_2,...y_m y1,y2,...ym in R l ( l < < n ) R^l(l<<n) Rl(l<<n)。其中 y i = A T x i 。 y_i=A^Tx_i。 yi=ATxi。
1、构造邻接图
注:
第一种是使用kesail球的形式寻找,也就是两点之间的欧氏距离满足于小于某一约束就认定满足条件,这种方式kesail的取值难以把握
第二种是直接计算 x i 与 x i x_i与x_i xi与xi之外所有点的欧氏距离,然后进行排序,找到距离最近的k个点。这种比较方便,使用matlab的find函数可容易找到
2、选择权重
W
i
j
W_{ij}
Wij in
R
m
∗
m
R^{m*m}
Rm∗m是稀疏对称矩阵,包括顶点
i
和
j
i和j
i和j的边权重。如果是0,则表示顶点
i
和
j
i和j
i和j之间没有边连接
注:
(a)就是热核函数,目的是,如果 x i 与 x j x_i与x_j xi与xj的欧氏距离较大,对应的 W i j W_{ij} Wij就越小。反之,欧氏距离越小对应的 W i j W_{ij} Wij就越大
(b)相当于如果 x j 是 x i x_j是x_i xj是xi的k近邻,那么 W i j W_{ij} Wij就等于1,不论 x j x_j xj( x j x_j xj泛指 x i x_i xi的k近邻,并不是一个实际的点)中的点与 x i x_i xi的距离多远或多近, W i j W_{ij} Wij都为1.这样就不能很好的区分。
举例,一维数据点{1,2,10,20},那么对于2的2近邻来说就是1和10,但是明显1对2比10对2的距离要近,
如果按照(a),那么 W 12 > W 32 W_{12}>W_{32} W12>W32,
如果按照(b),那么 W 12 = W 32 W_{12}=W_{32} W12=W32,
所以在一般使用的时候,一般使用(a)的热核函数的方式
3、计算投影矩阵
X
L
X
T
α
=
λ
X
D
X
T
α
XLX^T \alpha =\lambda XDX^T \alpha
XLXTα=λXDXTα
其中
D
D
D是对角矩阵,对角线上的元素值是对于
W
W
W的行(或列,因为
W
W
W对称)的和。
D
i
i
=
∑
j
W
j
i
D_{ii}=\sum_jW_{ji}
Dii=∑jWji。
L
=
D
−
W
L=D-W
L=D−W是拉普拉斯矩阵。
四、算法详解
LPP是通过线性近似LE算法(拉普拉斯特征映射)来保留局部信息。
给定一个数据集,我们构造一个加权图 G ( V , E ) G(V,E) G(V,E),表示任意两顶点的连接情况。现在来看一下这个问题,把权重矩阵 G G G映射为一条线以便于相互连接的点尽可能保持很靠近,令 y = ( y 1 , y 2 , . . . , y m ) T y=(y_1,y_2,...,y_m)^T y=(y1,y2,...,ym)T为这个映射。一个合理的选择"好"的映射的标准是在某些限制条件下最小化以下目标函数: ∑ i j ( y i − y j ) 2 W i j \sum_{ij}(y_i-y_j)^2W_{ij} ij∑(yi−yj)2Wij
注:在高维空间中,数据点 x i 和 x j x_i和x_j xi和xj是什么关系,在降维后的空间中,数据点 y i 和 y j y_i和y_j yi和yj就是什么关系。 ( y i − y j ) 2 (y_i-y_j)^2 (yi−yj)2表示任意两个点的欧氏距离。
如果
x
i
和
x
j
x_i和x_j
xi和xj离的比较远(不是近邻关系),这时
W
i
j
=
0
W_{ij}=0
Wij=0,因此上面的式子就是最小的0。
如果如果
x
i
和
x
j
x_i和x_j
xi和xj离的比较近(是近邻关系),这时
W
i
j
W_{ij}
Wij比较大,所以要保证
y
i
和
y
j
y_i和y_j
yi和yj也要里的近,才能使式子最小。
假设
α
\alpha
α是变换矩阵,那么
y
T
=
α
T
X
y^T=\alpha^TX
yT=αTX,
1
2
∑
i
j
(
y
i
−
y
j
)
2
W
i
j
=
1
2
∑
i
j
(
α
T
x
i
−
α
T
x
j
)
2
W
i
j
=
1
2
∑
i
j
(
α
T
x
i
x
i
T
α
+
α
T
x
j
x
j
T
α
−
2
α
T
x
i
x
j
T
α
)
W
i
j
=
∑
i
α
T
x
i
D
i
i
x
i
T
α
−
∑
i
j
α
T
x
i
W
i
j
x
j
T
α
=
α
T
X
(
D
−
W
)
X
T
α
=
α
T
X
L
X
T
α
\frac{1}{2}\sum_{ij}(y_i-y_j)^2W_{ij}\\ =\frac{1}{2}\sum_{ij}(\alpha^Tx_i-\alpha^Tx_j)^2W_{ij}\\=\frac{1}{2}\sum_{ij}(\alpha^Tx_ix_i^T\alpha+\alpha^Tx_jx_j^T\alpha-2\alpha^Tx_ix_j^T\alpha)W_{ij}\\=\sum_i\alpha^Tx_iD_{ii}x_i^T\alpha-\sum_{ij}\alpha^Tx_iW_{ij}x_j^T\alpha\\=\alpha^TX(D-W)X^T\alpha\\=\alpha^TXLX^T\alpha
21ij∑(yi−yj)2Wij=21ij∑(αTxi−αTxj)2Wij=21ij∑(αTxixiTα+αTxjxjTα−2αTxixjTα)Wij=i∑αTxiDiixiTα−ij∑αTxiWijxjTα=αTX(D−W)XTα=αTXLXTα
其中
D
D
D提供了对数据点的自度量,
D
D
D中最大的值
D
i
i
D_{ii}
Dii所对应的
y
i
y_i
yi就是最重要的。
为防止消除任意的缩放因子,施加如下限制 y T D y = 1 ⟹ α T X D X T α = 1 y^TDy=1\implies \alpha^TXDX^T\alpha=1 yTDy=1⟹αTXDXTα=1
最后的目标函数为: a r g m i n α α T X L X T α s . t d . α T X D X T α = 1 argmin_{\alpha}\alpha^TXLX^T\alpha\\s.td.\alpha^TXDX^T\alpha=1 argminααTXLXTαs.td.αTXDXTα=1
利用拉格朗日乘子法:
X
L
X
T
α
=
λ
X
D
X
T
α
XLX^T\alpha=\lambda XDX^T\alpha
XLXTα=λXDXTα
参考 https://blog.csdn.net/qq_39187538/article/details/90402961