降维算法——LE算法的推导

LE算法简介及其推导

1.简单介绍

Laplacian Eigenmaps是一种降维算法,它看问题的角度和常见的降维算法不太相同,是从局部的角度去构建数据之间的关系。具体来讲,拉普拉斯特征映射是一种基于图的降维算法,它希望相互间有关系的点(在图中相连的点)在降维后的空间中尽可能的靠近,从而在降维后仍能保持原有的数据结构。

2.推导

拉普拉斯特征映射通过构建邻接矩阵为W(邻接矩阵定义见这里)的图来重构数据流形的局部结构特征。其主要思想是,如果两个数据实例i和j很相似,那么i和j在降维后目标子空间中应该尽量接近。设数据实例的数目为n,目标子空间即最终的降维目标的维度为m。定义n×m大小的矩阵Y,其中每一个行向量 y i T y_i^T yiT 是数据实例i在目标m维子空间中的向量表示(即降维后的数据实例i)。我们的目的是让相似的数据样例i和j在降维后的目标子空间里仍旧尽量接近,故拉普拉斯特征映射优化的目标函数如下:
m i n ∑ i , j ∣ ∣ y i − y j ∣ ∣ 2 A i j min\sum_{i,j}||y_i-y_j||^2A_{ij} mini,jyiyj2Aij
= ∑ i = 1 n ∑ j = 1 n ∣ ∣ y i − y j ∣ ∣ 2 A i j =\sum_{i=1}^n\sum_{j=1}^n||y_i-y_j||^2A_{ij} =i=1nj=1nyiyj2Aij
= ∑ i = 1 n ∑ j = 1 n ( y i T y i − 2 y i T y j + y j T y j ) A i j =\sum_{i=1}^n\sum_{j=1}^n(y_i^Ty_i-2y_i^Ty_j+y_j^Ty_j)A_{ij} =i=1nj=1n(yiTyi2yiTyj+yjTyj)Aij
= ∑ i = 1 n ( ∑ j = 1 n A i j ) y i T y i + ∑ j = 1 n ( ∑ i = 1 n A i j ) y j T y j − 2 ∑ i = 1 n ∑ j = 1 n y i T y i A i j =\sum_{i=1}^n(\sum_{j=1}^nA_{ij})y_i^Ty_i+\sum_{j=1}^n(\sum_{i=1}^nA_{ij})y_j^Ty_j-2\sum_{i=1}^n\sum_{j=1}^ny_i^Ty_iA_{ij} =i=1n(j=1nAij)yiTyi+j=1n(i=1nAij)yjTyj2i=1nj=1nyiTyiAij
其中 A i j A_{ij} Aij为度矩阵,且 ∑ j = 1 n A i j \sum_{j=1}^nA_{ij} j=1nAij ∑ i = 1 n A i j \sum_{i=1}^nA_{ij} i=1nAij分别表示节点 i i i j j j的度数,故
= 2 ∑ i = 1 n D i i y i T y i − 2 ∑ i = 1 n ∑ j = 1 n y i T y i A i j =2\sum_{i=1}^nD_{ii}y_i^Ty_i-2\sum_{i=1}^n\sum_{j=1}^ny_i^Ty_iA_{ij} =2i=1nDiiyiTyi2i=1nj=1nyiTyiAij
= 2 ∑ i = 1 n ( D i j y i ) T ( D i j y i ) − 2 ∑ i = 1 n y i T ( ∑ j = 1 n y j A i j ) =2\sum_{i=1}^n(\sqrt{{D_{ij}}}y_i)^T(\sqrt{{D_{ij}}}y_i)-2\sum_{i=1}^ny_i^T(\sum_{j=1}^ny_jA_{ij}) =2i=1n(Dij yi)T(Dij yi)2i=1nyiT(j=1nyjAij)
= s t r a c e ( Y T D Y ) − 2 ∑ i = 1 n y i T ( Y A ) =strace(Y^TDY)-2\sum_{i=1}^ny_i^T(YA) =strace(YTDY)2i=1nyiT(YA)
= 2 t r a c e ( Y T D Y ) − 2 t r a c e ( Y T A Y ) =2trace(Y^TDY)-2trace(Y^TAY) =2trace(YTDY)2trace(YTAY)
= 2 t r a c e [ Y T ( D − A ) Y ] =2trace[Y^T(D-A)Y] =2trace[YT(DA)Y]
= 2 t r a c e ( Y T L Y ) =2trace(Y^TLY) =2trace(YTLY)
其中, D − A = L D-A=L DA=L L L L 为拉普拉斯矩阵。
变换后的拉普拉斯特征映射优化的目标函数如下:
m i n t r a c e ( Y T L Y ) , s . t . Y T A Y = I min trace(Y^TLY), s.t.Y^TAY = I mintrace(YTLY),s.t.YTAY=I
其中限制条件 s . t . Y T L Y = I s.t.Y^TLY = I s.t.YTLY=I保证优化问题有解,下面用拉格朗日乘数法对目标函数求解:
f ( Y ) = t r ( Y T L Y ) + t r [ Λ ( Y T D Y − I ) ] f(Y) = tr(Y^TLY) + tr[\Lambda(Y^TDY-I)] f(Y)=tr(YTLY)+tr[Λ(YTDYI)]
∂ f ( Y ) ∂ Y = L Y + L T Y + D T Y Λ T + D Y Λ \frac{\partial f(Y)}{\partial Y}=LY + L^TY + D^TY\Lambda^T + DY\Lambda Yf(Y)=LY+LTY+DTYΛT+DYΛ
= 2 L Y + 2 D Y Λ =2LY + 2DY\Lambda =2LY+2DYΛ
令偏导数等于0,即 L Y = − D Y Λ LY = -DY\Lambda LY=DYΛ
L y = λ D y Ly = \lambda Dy Ly=λDy是一个广义特征值问题。通过求得m个最小非零特征值所对应的特征向量,即可达到降维的目的。

3.步骤

1:构建图
使用某一种方法来将所有的点构建成一个图,例如使用KNN算法,将每个点最近的K个点连上边。K是一个预先设定的值。
2:确定权重
确定点与点之间的权重大小,例如选用热核函数来确定。
3:特征映射
计算拉普拉斯矩阵L的特征向量与特征值: L y = λ D y Ly = \lambda Dy Ly=λDy
使用最小的m个非零特征值对应的特征向量作为降维后的结果输出。

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值