无监督度量学习的降维讲义:LPP

  • Lecture notes in dimensionality reduction for unsupervised metric learning: LPP
    • LECTURE 6: LOCALITY PRESERVING PROJECTIONS AND KERNEL LPP
  • A. Kernel LPP

Lecture notes in dimensionality reduction for unsupervised metric learning: LPP

December 2020
DOI:10.13140/RG.2.2.27051.46885

LECTURE 6: LOCALITY PRESERVING PROJECTIONS AND KERNEL LPP

非线性降维技术(如 I S O M A P 、 L L E ISOMAP、LLE ISOMAP、LLE和 L a p l a c i a n e i g e n m a p s Laplacian eigenmaps Laplacianeigenmaps)的一个问题是这些方法仅在训练数据点上定义,不清楚如何评估新测试点的映射。 L o c a l i t y P r e s e r v i n g P r o j e c t i o n Locality Preserving Projection LocalityPreservingProjection( L P P LPP LPP)算法的主要动机是产生一种方法,可以简单地应用于任何新测试数据点以定位它在降维表示空间中的位置。 L P P LPP LPP的基本思想是提供非线性 L a p l a c i a n E i g e n m a p s Laplacian Eigenmaps LaplacianEigenmaps方法的线性近似。与 L a p l a c i a n E i g e n m a p s Laplacian Eigenmaps LaplacianEigenmaps方法相似,我们寻求一个平滑映射,保持局部性,即图形中的接近必须意味着在线上的接近。我们在之前的章节中已经展示了,如果最小化以下准则,则映射 y ⃗ = [ y 1 , y 2 , . . . , y n ] \vec y = [y_1,y_2,...,y_n] y ​=[y1​,y2​,...,yn​]在这个意义上是最优的。
y ⃗ T L y ⃗ = 1 2 ∑ i = 1 n ∑ j = 1 n w i j ( y i − y j ) 2 (1) {\vec y^T}L\vec y = {1 \over 2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{w_{ij}}{{({y_i} - {y_j})}^2}} } \tag{1} y ​TLy ​=21​i=1∑n​j=1∑n​wij​(yi​−yj​)2(1)

其中 L L L是由 m × n m×n m×n数据矩阵 X = [ x ⃗ 1 , x ⃗ 2 , . . . , x ⃗ n ] X=[\vec x_1,\vec x_2,...,\vec x_n] X=[x 1​,x 2​,...,x n​]引出的 K N N KNN KNN图的拉普拉斯矩阵。

在 L P P LPP LPP中,假设 x ⃗ i ∈ R m \vec x_i∈R^m x i​∈Rm和 y i ∈ R y_i∈R yi​∈R之间的关系是线性的,即 y i = a ⃗ T x ⃗ i y_i=\vec a^T~\vec x_i yi​=a T x i​,其中 a ⃗ ∈ R m \vec a∈R^m a ∈Rm是一个列向量。因此,目标函数可以表示为:

y ⃗ T L y ⃗ = 1 2 ∑ i = 1 n ∑ j = 1 n w i j ( a ⃗ T y i − a ⃗ T y j ) 2 = 1 2 ∑ i = 1 n ∑ j = 1 n w i j [ a ⃗ T x ⃗ i x ⃗ i T a ⃗ − 2 a ⃗ T x ⃗ i x ⃗ j T a ⃗ + a ⃗ T x ⃗ j x ⃗ j T a ⃗ ] = 1 2 ∑ i = 1 n ∑ j = 1 n 2 w i j a ⃗ T x ⃗ i x ⃗ i T a ⃗ − 1 2 ∑ i = 1 n ∑ j = 1 n 2 w i j a ⃗ T x ⃗ i x ⃗ j T a ⃗ = ∑ i = 1 n ∑ j = 1 n w i j a ⃗ T x ⃗ i x ⃗ i T a ⃗ − ∑ i = 1 n ∑ j = 1 n w i j a ⃗ T x ⃗ i x ⃗ j T a ⃗ (2) \begin{align*} {{\vec y}^T}L\vec y &= {1 \over 2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{w_{ij}}{{({{\vec a}^T}{y_i} - {{\vec a}^T}{y_j})}^2}} } \\ &= {1 \over 2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{w_{ij}}\left[ {{{\vec a}^T}{{\vec x}_i}\vec x_i^T\vec a - 2{{\vec a}^T}{{\vec x}_i}\vec x_j^T\vec a + {{\vec a}^T}{{\vec x}_j}\vec x_j^T\vec a} \right]} } \\ & = {1 \over 2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {2{w_{ij}}{{\vec a}^T}{{\vec x}_i}\vec x_i^T\vec a - {1 \over 2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {2{w_{ij}}{{\vec a}^T}{{\vec x}_i}\vec x_j^T\vec a} } } }\\ & = \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{w_{ij}}{{\vec a}^T}{{\vec x}_i}\vec x_i^T\vec a - \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{w_{ij}}{{\vec a}^T}{{\vec x}_i}\vec x_j^T\vec a} } } } \end{align*} \tag{2} y ​TLy ​​=21​i=1∑n​j=1∑n​wij​(a Tyi​−a Tyj​)2=21​i=1∑n​j=1∑n​wij​[a Tx i​x iT​a −2a Tx i​x jT​a +a Tx j​x jT​a ]=21​i=1∑n​j=1∑n​2wij​a Tx i​x iT​a −21​i=1∑n​j=1∑n​2wij​a Tx i​x jT​a =i=1∑n​j=1∑n​wij​a Tx i​x iT​a −i=1∑n​j=1∑n​wij​a Tx i​x jT​a ​(2)
因为 d i = ∑ j = 1 n w i j d_i=\sum ^n_{j= 1}w_{ij} di​=∑j=1n​wij​,我们有:

y ⃗ T L y T = ∑ i = 1 n a ⃗ T x ⃗ i d i x ⃗ i T a ⃗ − ∑ i = 1 n ∑ j = 1 n a ⃗ T x ⃗ i w i j x ⃗ j T a ⃗ (3) {{\vec y}^T}L{y^T} = \sum\limits_{i = 1}^n {{{\vec a}^T}{{\vec x}_i}{d_i}\vec x_i^T\vec a} - \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{{\vec a}^T}{{\vec x}_i}{w_{ij}}\vec x_j^T\vec a} } \tag{3} y ​TLyT=i=1∑n​a Tx i​di​x iT​a −i=1∑n​j=1∑n​a Tx i​wij​x jT​a (3)

注意,我们可以使用矩阵-向量表示法重写这个方程:
y ⃗ T L y T = a ⃗ T X D X T a ⃗ − a ⃗ T X W X T a ⃗ (4) {{\vec y}^T}L{y^T} = {{\vec a}^T}XD{X^T}\vec a - {{\vec a}^T}XW{X^T}\vec a \tag{4} y ​TLyT=a TXDXTa −a TXWXTa (4)

其中, X X X是 m × n m×n m×n的数据矩阵, D D D是 n × n n×n n×n的度数对角矩阵, W W W是 n × n n×n n×n的权重矩阵。已知 L = D − W L=D-W L=D−W,我们最终得到:

y ⃗ T L y T = a ⃗ T X ( D − W ) X T a ⃗ = a ⃗ T X L X T a ⃗ (5) {{\vec y}^T}L{y^T} = {{\vec a}^T}X(D - W){X^T}\vec a = {{\vec a}^T}XL{X^T}\vec a \tag{5} y ​TLyT=a TX(D−W)XTa =a TXLXTa (5)

因此,我们需要解决以下受约束的最小化问题:
arg ⁡ min ⁡ a ⃗ a ⃗ T X D X T a ⃗ s u b j e c t t o a ⃗ T X W X T a ⃗ = 1 (6) \mathop {\arg \min }\limits_{\vec a} {{\vec a}^T}XD{X^T}\vec a\;subject\;to\;{{\vec a}^T}XW{X^T}\vec a = 1 \tag{6} a argmin​a TXDXTa subjecttoa TXWXTa =1(6)

其中,约束条件是一般形式的,用于表示向量 a ⃗ \vec a a 的范数为常数。拉格朗日函数如下所示:
L ( a ⃗ T , λ ) = a ⃗ T X L X T a ⃗ − λ ( a ⃗ T X D X T a ⃗ − 1 ) (7) L({{\vec a}^T},\lambda ) = {{\vec a}^T}XL{X^T}\vec a - \lambda ({{\vec a}^T}XD{X^T}\vec a - 1) \tag{7} L(a T,λ)=a TXLXTa −λ(a TXDXTa −1)(7)

对 a ⃗ \vec a a 求导并令结果为零,得到:
∂ ∂ a ⃗ L ( a ⃗ T , λ ) = X L X T a ⃗ − λ X D X T a ⃗ = 0 (8) {\partial \over {\partial \vec a}}L({{\vec a}^T},\lambda ) = XL{X^T}\vec a - \lambda XD{X^T}\vec a = 0 \tag{8} ∂a ∂​L(a T,λ)=XLXTa −λXDXTa =0(8)
因此,我们有一个广义特征向量问题:
X L X T a ⃗ = λ X D X T a ⃗ (9) XL{X^T}\vec a = \lambda XD{X^T}\vec a \tag{9} XLXTa =λXDXTa (9)
( X D X T ) − 1 ( X L X T ) a ⃗ = λ a ⃗ (10) {(XD{X^T})^{ - 1}}(XL{X^T})\vec a = \lambda \vec a \tag{10} (XDXT)−1(XLXT)a =λa (10)

说明最小化目标函数,我们应该选择向量 a a a作为矩阵 ( X D X T ) − 1 X L X T (XDX ^T)^{ - 1}X LX ^T (XDXT)−1XLXT的最小特征向量。该问题的多元版本考虑一个 m × d m×d m×d矩阵 A A A,其中每列 a ⃗ j \vec a_j a j​表示数据将被投影到的方向:

( X D X T ) − 1 ( X L X T ) A = λ A (11) {(XD{X^T})^{ - 1}}(XL{X^T})A = \lambda A \tag{11} (XDXT)−1(XLXT)A=λA(11)

在这种情况下,我们应该选择组成A的列是与 ( X D X T ) − 1 X L X T (XDX^T)^{−1}XLX^T (XDXT)−1XLXT的 d d d个最小特征值相关的特征向量。算法1总结了 L P P LPP LPP方法用于降维的步骤。请注意,变换矩阵 A A A具有 m m m行和 d d d列,输出矩阵 Y Y Y具有 d d d行和 n n n列,这意味着每个列向量 y ⃗ j \vec y_j y ​j​(其中 j = 1 , 2 , . . . , n j = 1,2, ..., n j=1,2,...,n)存储经过降维后的点的坐标。

A. Kernel LPP

由于 L P P LPP LPP是拉普拉斯特征映射算法的线性逼近,我们可以通过核方法使其非线性化。考虑一个非线性映射 ϕ : R m → R M \phi :R^m→R^M ϕ:Rm→RM,其中 M > m M > m M>m,设 ϕ ( X ) \phi(X) ϕ(X)表示 H i l b e r t Hilbert Hilbert空间 R M R^M RM中的数据矩阵,即 ϕ ( X ) = [ x ⃗ 1 , x ⃗ 2 , … , x ⃗ n ) \phi (X) =[\vec x_1, \vec x_2,…, \vec x_n) ϕ(X)=[x 1​,x 2​,…,x n​)。则 H i l b e r t Hilbert Hilbert空间中的特征向量问题可表示为 1 ^1 1:
ϕ ( X ) L ϕ ( X ) T v ⃗ = λ ϕ ( X ) D ϕ ( X ) T v ⃗ (17) \phi (X)L\phi {(X)^T}\vec v = \lambda \phi (X)D\phi {(X)^T}\vec v \tag{17} ϕ(X)Lϕ(X)Tv =λϕ(X)Dϕ(X)Tv (17)
这就引出了以下广义特征向量问题:
( ϕ ( X ) D ϕ ( X ) T ) − 1 ϕ ( X ) L ϕ ( X ) T v ⃗ = λ v ⃗ (18) {\left( {\phi (X)D\phi {{(X)}^T}} \right)^{ - 1}}\phi (X)L\phi {(X)^T}\vec v = \lambda \vec v \tag{18} (ϕ(X)Dϕ(X)T)−1ϕ(X)Lϕ(X)Tv =λv (18)
为了将 L P P LPP LPP推广到非线性情况,问题必须用内积的形式来表达,因为通过核技巧我们可以得到以下关系:
K ( x i , x j ) = ϕ ( x i ) T ϕ ( x j ) (19) K({x_i},{x_j}) = \phi {({x_i})^T}\phi ({x_j}) \tag{19} K(xi​,xj​)=ϕ(xi​)Tϕ(xj​)(19)
就像我们之前在?? ?,式(18)中的特征向量可以表示为 ϕ ( x ⃗ 1 ) , ϕ ( x ⃗ 2 ) , … , ϕ x ⃗ n ) \phi (\vec x_1), \phi (\vec x_2),…, \phi \vec x_n) ϕ(x 1​),ϕ(x 2​),…,ϕx n​),即:

v ⃗ = ∑ i = 1 n α i ϕ ( x ⃗ i ) = ϕ ( X ) α ⃗ (20) \vec v = \sum\limits_{i = 1}^n {{\alpha _i}} \phi ({{\vec x}_i}) = \phi (X)\vec \alpha \tag{20} v =i=1∑n​αi​ϕ(x i​)=ϕ(X)α (20)

式中 α ⃗ = [ α 1 , α 2 , … α n ] T ∈ R n \vec α = [α_1, α_2,…α_n]^T∈R^n α =[α1​,α2​,…αn​]T∈Rn。因此,式(17)可表示为

ϕ ( X ) L ϕ ( X ) T ϕ ( X ) α ⃗ = λ ϕ ( X ) D ϕ ( X ) T ϕ ( X ) α ⃗ (21) \phi (X)L\phi {(X)^T}\phi (X)\vec \alpha = \lambda \phi (X)D\phi {(X)^T}\phi (X)\vec \alpha \tag{21} ϕ(X)Lϕ(X)Tϕ(X)α =λϕ(X)Dϕ(X)Tϕ(X)α (21)

左乘 ϕ ( X ) T \phi(X)^T ϕ(X)T得到:

ϕ ( X ) T ϕ ( X ) L ϕ ( X ) T ϕ ( X ) α ⃗ = λ ϕ ( X ) T ϕ ( X ) D ϕ ( X ) T ϕ ( X ) α ⃗ (22) \phi {(X)^T}\phi (X)L\phi {(X)^T}\phi (X)\vec \alpha = \lambda \phi {(X)^T}\phi (X)D\phi {(X)^T}\phi (X)\vec \alpha \tag{22} ϕ(X)Tϕ(X)Lϕ(X)Tϕ(X)α =λϕ(X)Tϕ(X)Dϕ(X)Tϕ(X)α (22)

使用内核技巧,我们可以这样写

K L K α ⃗ = λ K D K α ⃗ (23) KLK\vec \alpha = \lambda KDK\vec \alpha \tag{23} KLKα =λKDKα (23)
最后我们得出:

( K D K ) − 1 ( K L K ) α ⃗ = λ α ⃗ (24) {\left( {KDK} \right)^{ - 1}}(KLK)\vec \alpha = \lambda \vec \alpha \tag{24} (KDK)−1(KLK)α =λα (24)

根据上述说明,我们应该选择 ( K D K ) − 1 ( K L K ) (KDK)^{-1}(KLK) (KDK)−1(KLK)的 d d d个最小特征向量作为 α ⃗ 1 , α ⃗ 2 , . . . , α ⃗ d \vecα_1, \vecα_2, ..., \vecα_d α 1​,α 2​,...,α d​。对于测试集中的新向量 x ⃗ \vec x x ,它在 v ⃗ k \vec v_k v k​ ( k = 1 , 2 , . . . , d ) (k= 1,2, ..., d) (k=1,2,...,d) 特征向量上的投影可以通过以下公式计算:

v ⃗ k T ϕ ( x ⃗ ) = ∑ i = 1 n α k ( i ) ϕ ( x ⃗ i ) T ϕ ( x ⃗ ) = ∑ i = 1 n α k ( i ) ϕ ( x ⃗ ) T ϕ ( x ⃗ i ) = ∑ i = 1 n α k ( i ) K ( x ⃗ , x ⃗ i ) (25) \vec v_k^T\phi (\vec x) = \sum\limits_{i = 1}^n {{\alpha _k}(i)} \phi {({{\vec x}_i})^T}\phi (\vec x) = \sum\limits_{i = 1}^n {{\alpha _k}(i)} \phi {(\vec x)^T}\phi ({{\vec x}_i}) = \sum\limits_{i = 1}^n {{\alpha _k}(i)} K(\vec x,{{\vec x}_i})\tag{25} v kT​ϕ(x )=i=1∑n​αk​(i)ϕ(x i​)Tϕ(x )=i=1∑n​αk​(i)ϕ(x )Tϕ(x i​)=i=1∑n​αk​(i)K(x ,x i​)(25)
其中 α k ( i ) α_k(i) αk​(i)是向量 α ⃗ k \vec α_k α k​的第 i i i个元素

1X. He and P. Niyogi, “Locality preserving projections,” in Advances in Neural Information ProcessingSystems 16, edited by S. Thrun, L. K. Saul, and B. Sch¨olkopf (MIT Press, 2004) pp. 153–160.

LPP 和 Kernel LPP相关推荐

  1. 论文解读—Locality Preserving Projections(LPP)

    0. 摘要 1. LPP的基本思想 LPP是一种线性降维算法,其基本思想是: 1)首先构建了一个融合了数据邻域信息的图: 2)然后根据图的拉普拉斯的概念,可以计算一个变换矩阵: 3)最后通过该变换矩阵 ...

  2. Metric learning 度量学习

    介绍 定义 距离测度学习的目的即为了衡量样本之间的相近程度,而这也正是模式识别的核心问题之一.大量的机器学习方法,比如K近邻.支持向量机.径向基函数网络等分类方法以及K-means聚类方法,还有一些基 ...

  3. AIX常用操作-转载

    问题(一)  aix64位编程,一些问题请教 编译器 vac 6.0 编译参数:cc -G -D__AIX__ -q64 -qcpluscmt -qwarn64 -g -O3 -qarch=pwr5 ...

  4. AIX系统管理(一)

    aix有关01 问题(一)  aix64位编程,一些问题请教 编译器 vac 6.0 编译参数:cc -G -D__AIX__ -q64 -qcpluscmt -qwarn64 -g -O3 -qar ...

  5. method_LPP(Locality preserving projections)

    本文是对何晓飞老师的论文Locality Preserving Projections及其代码的一些简单j介绍,论文及代码均可以在何老师主页上下载. 一.LPP简介 线性投影映射 最优化地保存了数据集 ...

  6. AIX 操作系统日常维护须知

    AIX 操作系统日常维护须知目 录1. AIX 常用命令简介2. 文档编辑命令3. 如何查看系统出错信息4. 文件系统的操作5. 如何为系统做备份一.AIX 常用命令简介 1. 关机shutdown ...

  7. Android Native Hook工具

    前言 在目前的安卓APP测试中对于Native Hook的需求越来越大,越来越多的APP开始逐渐使用NDK来开发核心或者敏感代码逻辑.个人认为原因如下: 安全的考虑.各大APP越来越注重安全性,NDK ...

  8. 网络 | 1.OSI七层模型各层常见协议

    OSI七层协议 第七层:应用层 第六层:表示层 第五层:会话层 第四层:传输层 第三层:网络层 第二层:数据链路层 第一层:物理层 第七层:应用层 功能:提供各种各样的应用层协议,为用户与网络之间提供 ...

  9. Matlab关于画数据网格图

    1.surf(Z): Z为一个矩阵,如果Z是向量,那么就需要先将其转换为矩阵 reshape(Z,[length(X),length(Y)]);  X和Y为你的横坐标取值个数. 具体代码调用格式如下 ...

最新文章

  1. C语言网络编程:socket函数
  2. Qt中文手册 之 QTableWidget
  3. Alternative PHP Cache ( APC )
  4. 6条适用于PHP初学者的学习线路和建议
  5. java 对象 php对象_java对象是什么?
  6. Alpha冲刺总结随笔
  7. 物品回收平台java代码_java垃圾回收
  8. Win7无线网络共享设置方法
  9. (step4.3.1) hdu 1010(Tempter of the Bone——DFS)
  10. 但见高通笑,哪闻英特尔哭?
  11. jQuery-1.9.1源码分析系列(十) 事件系统——事件包装
  12. python和java哪个好找工作-Python和java哪个就业前景好些?
  13. 光山二高2021高考成绩查询,光山县第二高级中学2019高考成绩和历年成绩汇总
  14. 关于大小端转换整理总结(包含原始方式、Qt方式)
  15. 斗战神服务器正在维护6,斗战神3月6日更新维护内容介绍
  16. 我如何选PHP开发工具(PHP IDE)
  17. 通讯:白先勇的“八千里路云和月”
  18. 对“主数据”的一点吐槽
  19. 2019年Robomaster江苏省赛总结
  20. EduCoder-Web程序设计基础-html5—结构元素-第3关:figure元素和figcaption元素的应用

热门文章

  1. java concurrent 探秘
  2. bmp文件数字水印c语言代码,图像数字水印+matlab程序文件.doc
  3. 不要盲目跟风:中小企业运营自媒体需三思而后行
  4. Mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数
  5. 常见UNIXLINUX系统
  6. 缓存、缓存算法和缓存框架简介
  7. 如何破解超级用户密码?
  8. 计算机程序设计基础(C语言版)pdf
  9. Boosting方法入门
  10. tomcat出现“localhost拒绝了我们的请求”问题