降维系列之 LLE 局部线性嵌入

基本思路

LLE(Local Linear Embedding)局部线性嵌入的思路也是局部保持与线性降维,是一种经典的降维与流形学习算法。给定 X ∈ R D × n X\in \mathbb{R}^{D\times n} XRD×n表示原始的 n n n个样本,每列一个样本,欲求 X X X中这些样本降维后的结果 Y ∈ R d × n , d < D Y\in \mathbb{R}^{d\times n},d<D YRd×n,d<D.
为了记录原始样本分布的局部信息,LLE将 X X X中每个样本用其 k k k个近邻来表示(或称为“重建”),使其 k k k个近邻的加权和尽可能接近该样本,最小化重建误差,设第 i i i个样本 x i x_i xi的第 j j j个近邻 x i j x_{ij} xij的重建权重为 W i j W_{ij} Wij,先计算这个 W ∈ R n × k W\in \mathbb{R}^{n\times k} WRn×k矩阵。
在降维的过程中,既然已经得到了 W W W,LLE希望降完维后的 Y Y Y中的各样本仍保持 W W W所描述的这种重建关系。
这就是LLE的思路,先记录样本及其近邻之间的关系,然后在降维时保持这种关系。

W W W矩阵求解

先来计算 W W W矩阵:
min ⁡ W ∑ i = 1 n ∥ x i − ∑ j = 1 k W i j x i j ∥ 2 2 s . t .   ∑ j = 1 k W i j = 1 \min_W \sum_{i=1}^n\|x_i-\sum_{j=1}^kW_{ij}x_{ij} \|_2^2 \\ s.t.\ \sum_{j=1}^kW_{ij}=1 Wmini=1nxij=1kWijxij22s.t. j=1kWij=1

k k k为近邻数量,是个可以调节的参数, x i j x_{ij} xij x i x_i xi的第 j j j个近邻, x i , x i j x_i,x_{ij} xi,xij都是列向量。这就是所谓的用来求 W W W的要最小化的“重建误差”。我们来求解。
∑ i = 1 n ∥ x i − ∑ j = 1 k W i j x i j ∥ 2 2 = ∑ i = 1 n ∥ ∑ j = 1 k W i j ( x i − x i j ) ∥ 2 2 = ∑ i = 1 n ( W i x ~ i T ) ( x ~ i W i T ) = ∑ i = 1 n W i x ~ i T x ~ i W i T s . t .   W i e = 1 W i = [ W i 1 , W i 2 , ⋯   , W i k ] ∈ R 1 × k x ~ i = [ x i − x i 1 , x i − x i 2 , ⋯   , x i − x i k ] ∈ R D × k e = [ 1 , 1 , ⋯   , 1 ] T ∈ R k × 1 \sum_{i=1}^n\|x_i-\sum_{j=1}^kW_{ij}x_{ij} \|_2^2 \\ = \sum_{i=1}^n \|\sum_{j=1}^kW_{ij}(x_i-x_{ij}) \|_2^2 \\ = \sum_{i=1}^n (W_i \tilde{x}_i^T)(\tilde{x}_iW_i^T) \\ = \sum_{i=1}^n W_i \tilde{x}_i^T\tilde{x}_iW_i^T \\ s.t.\ W_ie=1 \\ W_i=[W_{i1},W_{i2},\cdots,W_{ik}]\in \mathbb{R}^{1\times k} \\ \tilde{x}_i=[x_i-x_{i1},x_i-x_{i2},\cdots,x_i-x_{ik}]\in \mathbb{R}^{D\times k} \\ e=[1,1,\cdots,1]^T\in \mathbb{R}^{k\times 1} i=1nxij=1kWijxij22=i=1nj=1kWij(xixij)22=i=1n(Wix~iT)(x~iWiT)=i=1nWix~iTx~iWiTs.t. Wie=1Wi=[Wi1,Wi2,,Wik]R1×kx~i=[xixi1,xixi2,,xixik]RD×ke=[1,1,,1]TRk×1

变成这种形式后用Lagrangian乘子法求解:
L ( W , λ ) = ∑ i = 1 n W i x ~ i T x ~ i W i T + λ i ( 1 − W i e ) L(W, \lambda)=\sum_{i=1}^n W_i \tilde{x}_i^T\tilde{x}_iW_i^T + \lambda_i(1-W_ie) L(W,λ)=i=1nWix~iTx~iWiT+λi(1Wie)

令偏导为 0 0 0
∂ ∂ W i L ( W , λ ) = 2 W i x ~ i T x ~ i − λ i e T = 0 W i x ~ i T x ~ i = 1 2 λ i e T W i = 1 2 λ i e T ( x ~ i T x ~ i ) − 1 (1) \frac{\partial}{\partial W_i}L(W,\lambda)=2W_i\tilde{x}_i^T\tilde{x}_i-\lambda_ie^T=0 \\ W_i\tilde{x}_i^T\tilde{x}_i= \frac{1}{2} \lambda_ie^T\\ W_i= \frac{1}{2} \lambda_i e^T(\tilde{x}_i^T\tilde{x}_i)^{-1} \tag{1} WiL(W,λ)=2Wix~iTx~iλieT=0Wix~iTx~i=21λieTWi=21λieT(x~iTx~i)1(1)
∂ ∂ λ i L ( W , λ i ) = 1 − W i e = 0 W i e = 1 1 2 λ i e T ( x ~ i T x ~ i ) − 1 e = 1 (2) \frac{\partial}{\partial \lambda_i}L(W,\lambda_i)=1-W_ie=0 \\ W_ie=1 \\ \frac{1}{2} \lambda_i e^T(\tilde{x}_i^T\tilde{x}_i)^{-1}e=1 \tag{2} λiL(W,λi)=1Wie=0Wie=121λieT(x~iTx~i)1e=1(2)

从公式 ( 2 ) (2) (2)可以解出 λ i \lambda_i λi,代入公式 ( 1 ) (1) (1)可以解出 W i W_i Wi。因为只能解出来一组结果,尽管是必要条件,但是也就这样了。
这样就得到了 W W W矩阵。

投影优化与求解

求出 W W W之后,如前所述,要在降维后的 Y Y Y中尽量保持 W W W所描述的重建关系,因此LLE列出了下优化目标:
min ⁡ Y ∑ i = 1 n ∥ y i − ∑ j = 1 k W i j y i j ∥ 2 2 = ∑ i = 1 n ∥ Y I i − Y ∑ j = 1 k W i j I ( i ) j ∥ 2 2 = ∑ i = 1 n ∥ Y ( I i − W ~ i T ) ∥ 2 2 = ∑ i = 1 n ( I i T − W ~ i ) Y T Y ( I i − W ~ i T ) = t r ( G T Y T Y G ) s . t .   Y Y T = I \min_Y \sum_{i=1}^n\| y_i-\sum_{j=1}^kW_{ij}y_{ij} \|_2^2 \\ =\sum_{i=1}^n\| YI_i- Y \sum_{j=1}^k W_{ij}I_{(i)j} \|_2^2 \\ = \sum_{i=1}^n \| Y(I_i- \tilde{W}_i^T) \|_2^2 \\ = \sum_{i=1}^n (I_i^T-\tilde{W}_i)Y^T Y(I_i-\tilde{W}_i^T) \\ =tr(G^TY^TYG) \\ s.t.\ YY^T=I Ymini=1nyij=1kWijyij22=i=1nYIiYj=1kWijI(i)j22=i=1nY(IiW~iT)22=i=1n(IiTW~i)YTY(IiW~iT)=tr(GTYTYG)s.t. YYT=I

I i ∈ R n × 1 I_i\in \mathbb{R}^{n\times 1} IiRn×1是一个列向量,其第 i i i个元素为1,其他均为0,起到一个筛选作用,从 Y Y Y中将 y i y_i yi筛选出来。 W ~ i T ∈ R n × 1 \tilde{W}_i^T\in \mathbb{R}^{n\times 1} W~iTRn×1是一个列向量,其定义其实可以从公式里面看出来,第 j j j个样本如果是 x i x_i xi k k k近邻之一,则 W ~ i \tilde{W}_i W~i j j j个元素为 W i j W_{ij} Wij,否则为0. 而 G ∈ R n × n G\in \mathbb{R}^{n\times n} GRn×n是一个矩阵,第 i i i列为 ( I i − W ~ i T ) (I_i-\tilde{W}_i^T) (IiW~iT)。且有 G = I − W ~ T G=I-\tilde W^T G=IW~T

然后列Lagrangian乘子法:
L ( Y , λ ) = t r ( G T Y T Y G ) + t r [ λ ( I − Y Y T ) ] L(Y,\lambda)=tr(G^TY^TYG) +tr[\lambda(I-YY^T)] L(Y,λ)=tr(GTYTYG)+tr[λ(IYYT)]

λ \lambda λ为对角矩阵。求偏导并令偏导为0:
∂ ∂ Y L ( Y , λ ) = 2 Y G G T − 2 λ Y = 0 G G T Y T = Y T λ ( I − W ~ T ) ( I − W ~ T ) T Y T = Y T λ \frac{\partial }{\partial Y}L(Y,\lambda)=2YGG^T-2\lambda Y=0 \\ GG^TY^T=Y^T\lambda \\ (I-\tilde W^T)(I-\tilde W^T)^TY^T=Y^T\lambda \\ YL(Y,λ)=2YGGT2λY=0GGTYT=YTλ(IW~T)(IW~T)TYT=YTλ
∂ ∂ λ L ( Y , λ ) = I − Y Y T = 0 Y Y T = I \frac{\partial }{\partial \lambda}L(Y,\lambda)=I-YY^T=0 \\ YY^T=I λL(Y,λ)=IYYT=0YYT=I

意思是说 Y T Y^T YT的每一列(Y的每一行)都应该是 G G T GG^T GGT的特征向量,对应的特征值在 λ \lambda λ的对角元上。这是必要条件。把 G G T Y T = Y T λ GG^TY^T=Y^T\lambda GGTYT=YTλ代回去:
t r ( G T Y T Y G ) = t r ( Y G G T Y T ) = t r ( Y Y T λ ) = t r ( λ ) tr(G^TY^TYG) =tr(YGG^TY^T)=tr(YY^T\lambda)=tr(\lambda) tr(GTYTYG)=tr(YGGTYT)=tr(YYTλ)=tr(λ)

这告诉我们 t r ( G T Y T Y G ) tr(G^TY^TYG) tr(GTYTYG)的最小值等价于 t r ( λ ) tr(\lambda) tr(λ)的最小值,因此要选取最小的 d d d个特征值对应的特征向量组成 Y Y Y

然而这里有一个问题,那就是 G G T GG^T GGT最小的特征值是0,对应的特征向量是个 e = [ 1 , 1 ⋯   , 1 ] T ∈ R n × 1 e=[1,1\cdots,1]^T\in \mathbb{R}^{n\times 1} e=[1,1,1]TRn×1。证明一下:
( I − W ~ T ) ( I − W ~ T ) T e = ( I − W ~ T ) ( I − W ~ e ) = ( I − W ~ T ) ⋅ 0 = 0 ⋅ e (I-\tilde W^T)(I-\tilde W^T)^Te=(I-\tilde{W}^T)(I-\tilde{W}e)=(I-\tilde W^T)\cdot 0=0\cdot e (IW~T)(IW~T)Te=(IW~T)(IW~e)=(IW~T)0=0e

主要原因是 W ~ ∈ n × n \tilde W\in \mathbb{n\times n} W~n×n的每一行之和都为0。本来就是从重建矩阵 W ∈ R n × k W\in \mathbb{R}^{n\times k} WRn×k来的嘛,只不过扩展了一下,扩展的还都填了0.
这个证明告诉我们无论 X X X怎样变化, G G T GG^T GGT都有一个特征向量全为1,对应的特征值为0. 这显然不是我们想要的,因此一般取非0的前 d d d小的特征值对应的特征向量组成 Y Y Y

总结

这个推导告诉我们,经典形式 t r ( W T A A T W ) tr(W^TAA^TW) tr(WTAATW)有多么重要以及千变万化。
还告诉我们,构造向量和矩阵以形成熟悉容易解的形式非常重要。
另有一点, G G T GG^T GGT的结果是 n × n n\times n n×n的矩阵,最多有 n n n个特征值,其中还有一个是0,也就是说 d > n − 1 d>n-1 d>n1的时候LLE就不能用了。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值