LPP

方法概述

核心思想

  • 有映射Ym∗n=f(Xd∗n)\underset{m*n}{Y}=f(\underset {d*n}X)m∗nY​=f(d∗nX​),能够实现将d维的样本变换到m维空间之中
  • 假设:对于一个好的降维方法,在高维空间下距离近(相似度高)的两个点,在低维空间下依旧保持相近的关系
  • 考虑映射Y=WTXY=W^TXY=WTX,即原样本空间中有xix_ixi​与xjx_jxj​距离近,yiy_iyi​与yjy_jyj​ (yi=WTxiy_i=W^Tx_iyi​=WTxi​)仍保持相近关系

相关定义

  • 权重矩阵S:

    • 定义样本xix_ixi​与xjx_jxj​之间的权重wijw_{ij}wij​,原则是样本点之间距离越小,权重越大

    • 权重矩阵S常用定义方式:
      sij={sij=exp(−∣∣xi−xj∣∣2t)xi∈Nk(xj)即xi是xj的k近邻sij=0elses_{ij}= \begin{cases} \begin{aligned} &s_{ij} = exp(-\frac{||x_i-x_j||^2}{t}) &x_i\in N_k(x_j)即 x_i是x_j的k近邻\\ &s_{ij} = 0 &else \end{aligned} \end{cases} sij​=⎩⎨⎧​​sij​=exp(−t∣∣xi​−xj​∣∣2​)sij​=0​xi​∈Nk​(xj​)即xi​是xj​的k近邻else​​

      S=[s11s12...s1n............sn1sn2...snn]S=\left[ \begin{matrix} s_{11} & s_{12} & ... & s_{1n}\\ ... & ... & ... & ...\\ s_{n1} & s_{n2} & ... & s_{nn} \end{matrix} \right] S=⎣⎡​s11​...sn1​​s12​...sn2​​.........​s1n​...snn​​⎦⎤​

  • 度矩阵D:

    • 度矩阵D是一个对角阵,其对角元素Dii=∑j=1nsijD_{ii}=\sum_{j=1}^ns_{ij}Dii​=∑j=1n​sij​

    • D=[∑j=1ns1j0...00∑j=1ns2j...0............00...∑j=1nsnj]D=\left[ \begin{matrix} \sum_{j=1}^ns_{1j} & 0 & ... & 0\\ 0 & \sum_{j=1}^ns_{2j} & ... & 0\\ ... & ... & ... & ...\\ 0 & 0 & ... & \sum_{j=1}^ns_{nj} \end{matrix} \right] D=⎣⎢⎢⎡​∑j=1n​s1j​0...0​0∑j=1n​s2j​...0​............​00...∑j=1n​snj​​⎦⎥⎥⎤​

  • 拉普拉斯矩阵L:L=D−SL=D-SL=D−S

  • 有运算:
    YDYT=[y1,y2,...,yn][d110...00d22...0............00...dnn][y1Ty2T...ynT]\begin{aligned} YDY^T&=[y_1,y_2,...,y_n] \left[ \begin{matrix} d_{11} & 0 & ... & 0\\ 0 & d_{22} & ... & 0\\ ... & ... & ... & ...\\ 0 & 0 & ... & d_{nn} \end{matrix} \right] \left[ \begin{matrix} y_1^T\\ y_2^T\\ ...\\ y_n^T \end{matrix} \right]\\ \end{aligned}\\ YDYT​=[y1​,y2​,...,yn​]⎣⎢⎢⎡​d11​0...0​0d22​...0​............​00...dnn​​⎦⎥⎥⎤​⎣⎢⎢⎡​y1T​y2T​...ynT​​⎦⎥⎥⎤​​
    =[d11yy1,...,dnnyn][y1Ty2T...ynT]= [d_{11y}y_1,...,d_{nn}y_n] \left[ \begin{matrix} y_1^T\\ y_2^T\\ ...\\ y_n^T \end{matrix} \right] \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ =[d11y​y1​,...,dnn​yn​]⎣⎢⎢⎡​y1T​y2T​...ynT​​⎦⎥⎥⎤​                  
    =d11y1y1T+d22y2y2T+...+dnnynynT=d_{11}y_1y_1^T+d_{22}y_2y_2^T+...+d_{nn}y_ny_n^T\\ =d11​y1​y1T​+d22​y2​y2T​+...+dnn​yn​ynT​
    因此有:
    tr(YDYT)=∑iNdiiyiTyitr(YDY^T)=\sum_i^Nd_{ii}y_i^Ty_i tr(YDYT)=i∑N​dii​yiT​yi​
    类似可得:
    tr(YSYT)=∑iN∑jNsijyiTyjtr(YSY^T)=\sum_i^N\sum_j^Ns_{ij}y_i^Ty_j tr(YSYT)=i∑N​j∑N​sij​yiT​yj​

优化目标

  • 定义优化目标:
    min∑i∑j∣∣yi−yj∣∣2sijmin\sum_{i}\sum_{j}||y_i-y_j||^2s_{ij} mini∑​j∑​∣∣yi​−yj​∣∣2sij​
    即在原始空间中近的点(sijs_{ij}sij​大),其在降维后应该尽可能接近(yiy_iyi​与yjy_jyj​距离更小)

方法推导

  • 对于LPP方法,有目标:
    argminW∑i∑j∣∣yi−yj∣∣2sij\underset{W}{arg\ min}\sum_i\sum_j||y_i-y_j||^2s_{ij} Warg min​i∑​j∑​∣∣yi​−yj​∣∣2sij​

  • 对于目标:
    ∑iN∑jN∣∣yi−yj∣∣2sij=∑iN∑jN(yiTyi−yiTyj−yjTyi+yjTyj)sij=2∑iNyiTyidii−2∑iN∑jNyiTyjsij=2tr(YDYT)−2tr(YSYT)=2tr(YLYT)\begin{aligned} &\ \ \ \ \ \sum_i^N\sum_j^N||y_i-y_j||^2s_{ij} \\ &= \sum_i^N\sum_j^N(y_i^Ty_i-y_i^Ty_j-y_j^Ty_i+y_j^Ty_j)s_{ij} \\ &= 2\sum_i^N y_i^Ty_id_{ii}-2\sum_i^N\sum_j^N y_i^Ty_js_{ij} \\ &= 2tr(YDY^T)-2tr(YSY^T)\\ &= 2tr(YLY^T) \end{aligned} ​     i∑N​j∑N​∣∣yi​−yj​∣∣2sij​=i∑N​j∑N​(yiT​yi​−yiT​yj​−yjT​yi​+yjT​yj​)sij​=2i∑N​yiT​yi​dii​−2i∑N​j∑N​yiT​yj​sij​=2tr(YDYT)−2tr(YSYT)=2tr(YLYT)​
    去除乘数,最小化目标为:
    tr(YLYT)tr(YLY^T) tr(YLYT)
    带入Y=WTXY=W^TXY=WTX,得最小化目标:
    tr(WTXLXTW)tr(W^TXLX^TW) tr(WTXLXTW)

  • 该目标存在平凡零解:W=Om∗dW=O_{m*d}W=Om∗d​

    此时L取最小值0,出现维度坍缩,所有样本映射到同一个点上,此解无意义

  • 当W不取零矩阵时,由于没有添加尺度约束,在降维子空间一定(组成基向量方向一致)情况下,当尺度不断变小时,目标L会同时变小,无限趋于0,不存在最小值

  • 因此,考虑对最小化目标变形为:
    tr(YLYT)tr(YDYT)=tr(WTXLXTW)tr(WTXDXTW)\frac{tr(YLY^T)}{tr(YDY^T)}=\frac{tr(W^TXLX^TW)}{tr(W^TXDX^TW)} tr(YDYT)tr(YLYT)​=tr(WTXDXTW)tr(WTXLXTW)​
    考虑到尺度因素,加以约束YDYT=IYDY^T=IYDYT=I也即WTXDXTW=IW^TXDX^TW=IWTXDXTW=I

  • 参考LDA中提到的广义瑞利商,可知:
    λmin((XDXT)−1(XLXT))≤tr(WTXLXTW)tr(WTXDXTW)≤λmax((XDXT)−1(XLXT))\lambda_{min}((XDX^T)^{-1}(XLX^T))\leq\frac{tr(W^TXLX^TW)}{tr(W^TXDX^TW)}\leq\lambda_{max}((XDX^T)^{-1}(XLX^T)) λmin​((XDXT)−1(XLXT))≤tr(WTXDXTW)tr(WTXLXTW)​≤λmax​((XDXT)−1(XLXT))
    变换矩阵:W=[w1,w2,...,wm]W=[w_1,w_2,...,w_m]W=[w1​,w2​,...,wm​]由(XDXT)−1(XLXT)(XDX^T)^{-1}(XLX^T)(XDXT)−1(XLXT)最小m个特征向量构成

  • 矩阵形式推导

    由拉格朗日乘子法,构建L:
    L=tr(WTXLXTW)−tr(Λ(WTXDXTW−I))L = tr(W^TXLX^TW)-tr(\Lambda(W^TXDX^TW-I)) L=tr(WTXLXTW)−tr(Λ(WTXDXTW−I))
    对W求偏导并令为0:
    2XLXTW−2XDXTWΛ=0XLXTW=XDXTWΛ有:(XDXT)−1XLXTW=WΛ2XLX^TW-2XDX^TW\Lambda=0\\ XLX^TW= XDX^TW \Lambda\\ 有:(XDX^T)^{-1}XLX^TW=W\Lambda 2XLXTW−2XDXTWΛ=0XLXTW=XDXTWΛ有:(XDXT)−1XLXTW=WΛ
    W由(XDXT)−1XLXT(XDX^T)^{-1}XLX^T(XDXT)−1XLXT的特征向量作为列向量构成,且为了最小化目标函数,选取的特征向量应该是最小m个特征值对应的特征向量

LPP与PCA

  • 对PCA方法,其优化目标为argmaxW=tr(WTXXTW)\underset {W}{argmax} = tr(W^TXX^TW)Wargmax​=tr(WTXXTW),有约束WTW=IW^TW=IWTW=I

    构建的拉格朗日乘式解:XXTW=WΛXX^T W=W\LambdaXXTW=WΛ,可变为XXTXXTW=XXTWΛXX^TXX^T W=XX^TW\LambdaXXTXXTW=XXTWΛ

    与LPP对比,是L=XTXL=X^TXL=XTX且D=ID=ID=I的特例

  • 即PCA可以看成是一种特殊的LPP,区别在于LPP更关注局部关系,而PCA关注的是全局方差信息

方法流程

1)由样本矩阵X构建权重矩阵S,度矩阵D,拉普拉斯矩阵L

2)求(XDXT)−1XLXT(XDX^T)^{-1}XLX^T(XDXT)−1XLXT的特征向量,取最小m个作列向量构成变换矩阵W

3)由Y=WTXY=W^TXY=WTX完成降维

参考资料

【1】LPP局部保持投影

【2】局部保留投影(LPP)推导

【3】算法小课堂:Locality Preserving Projections (LPP)

机器学习基础---降维方法---局部保持投影(LPP)推导相关推荐

  1. 局部保留投影(LPP)推导

    流形算法的主要思想是能够学习高维空间中样本的局部邻域结构,并寻找一种子空间能够保留这种流行结构, 使得样本在投影到低维空间后,得到比较好的局部近邻关系. 所谓流形,是指高维样本空间中呈现的一种低维的局 ...

  2. 机器学习基础---降维方法---T分布随机近邻嵌入(TSNE)推导

    T-SNE(T-Stochastic Neighbor Embedding) 核心思想: 对无监督聚类问题: PCA目的是在样本空间内找到子空间,以变换矩阵W对样本矩阵XXX实现原空间到子空间的映射, ...

  3. 经典线性降维算法—局部保持投影(LPP)

    本文经过转载,原文地址: 地址通道 该LPP算法,上文写地十分详细,可以参见.

  4. 【机器学习】【降维】局部保持投影(LPP Locality Preserving Projections)

    文章目录 局部保持投影(LPP) 一.摘要: 二.主要思想 三.算法步骤 四.算法详解 局部保持投影(LPP) 论文:<Locality Preserving Projections>作者 ...

  5. MachineLearning 13. 机器学习之降维方法UMAP及可视化 (umap)

    点击关注,桓峰基因 桓峰基因公众号推出机器学习应用于临床预测的方法,跟着教程轻松学习,每个文本教程配有视频教程大家都可以自由免费学习,目前已有的机器学习教程整理出来如下: MachineLearnin ...

  6. MachineLearning 12. 机器学习之降维方法t-SNE及可视化 (Rtsne)

    点击关注,桓峰基因 桓峰基因公众号推出机器学习应用于临床预测的方法,跟着教程轻松学习,每个文本教程配有视频教程大家都可以自由免费学习,目前已有的机器学习教程整理出来如下: MachineLearnin ...

  7. pca 累积方差贡献率公式_机器学习数据降维方法:PCA主成分分析

    PCA在机器学习中很常用,是一种无参数的数据降维方法.PCA步骤: 将原始数据按列组成n行m列矩阵X 将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 求出协方差矩阵 求出协方差矩阵的 ...

  8. 机器学习四大降维方法

    引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达 ...

  9. 机器学习之降维方法(LDA、PCA)小结

    1 线性判别分析(LDA) 1.1 LDA简介 LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的.一句话来概括LDA的核心思想,[投影后类内方差最小,类间方差最大].我们将数 ...

最新文章

  1. python编程有用吗-分享8点超级有用的Python编程建议
  2. (第一次)NODEJS学习笔记
  3. MySQL高级 - 锁 - MySQL对锁的支持
  4. fedora yum mysql_Fedora14使用yum安装mysql
  5. d3.js中的选择元素
  6. python 迭代多个对象
  7. 阿里云 MSE 微服务治理发布企业版
  8. 19寸宽屏液晶显示器的设置 有效保护视力
  9. 航芯技术分享 | 了解汽车上的OBD
  10. dot格式绘图工具 html,使用dot来绘图
  11. Android USB 输入设备
  12. Nat. Rev. Genet. | 通过可解释人工智能从深度学习中获得遗传学见解
  13. farey(法莱)数列 (USACO Ordered Fractions)
  14. 微信公众号自定义分享IOS失效
  15. 有位程序员写了部「修仙小说版」编程教程!网友:蚌埠住了 ....
  16. python计算机体系三层结构_python学习笔记-计算机结构、操作系统
  17. AES 和 SM4 S盒复合域实现方法
  18. 云计算机房建设方案,服务器机房建设方案
  19. 个人和初创企业想要搭建网站,如何挑选一台便宜合适的云主机?
  20. rabbitmq知识汇总

热门文章

  1. 如何养成记日记的习惯
  2. 老潘的 PaaS 讲座
  3. 解决 macOS HomeBrew 下载缓慢的问题
  4. 洛谷 P2615 [NOIP2015 D1T1] 神奇的幻方
  5. y神动态规划第二课、第三课代码
  6. PPMM【JZOJ】
  7. ASP.NET 学习方法推荐(图)(引自传播智客)
  8. 基于胶囊网络的轴承故障诊断(代码实现)
  9. vue 中展示PDF内容
  10. Java编程常见低级错误(整理)