LPP 和 Kernel LPP

news2024/10/7 10:15:06

无监督度量学习的降维讲义: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 ISOMAPLLE 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 =[y1y2...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 =21i=1nj=1nwij(yiyj)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 1x 2...x n]引出的 K N N KNN KNN图的拉普拉斯矩阵。

L P P LPP LPP中,假设 x ⃗ i ∈ R m \vec x_i∈R^m x iRm y i ∈ R y_i∈R yiR之间的关系是线性的,即 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 =21i=1nj=1nwij(a Tyia Tyj)2=21i=1nj=1nwij[a Tx ix iTa 2a Tx ix jTa +a Tx jx jTa ]=21i=1nj=1n2wija Tx ix iTa 21i=1nj=1n2wija Tx ix jTa =i=1nj=1nwija Tx ix iTa i=1nj=1nwija Tx ix jTa (2)
因为 d i = ∑ j = 1 n w i j d_i=\sum ^n_{j= 1}w_{ij} di=j=1nwij,我们有:

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=1na Tx idix iTa i=1nj=1na Tx iwijx jTa (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=DW,我们最终得到:

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(DW)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 argmina 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 ϕ:RmRM,其中 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 1x 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=1nαiϕ(x i)=ϕ(X)α (20)

式中 α ⃗ = [ α 1 , α 2 , … α n ] T ∈ R n \vec α = [α_1, α_2,…α_n]^T∈R^n α =[α1α2αn]TRn。因此,式(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=1nαk(i)ϕ(x i)Tϕ(x )=i=1nαk(i)ϕ(x )Tϕ(x i)=i=1nα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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/539433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DHCP数据包分析

目录 1、DHCP 2、DHCP报文种类 3、DHCP工作原理 4、DHCP报文格式 1、DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),前身是BOOTP协议,是一个局域网的网络协议,使用UDP协议工作&am…

国产手机无奈放弃芯片研发,关键还是芯片制造,前路在何方?

OPPO放弃芯片研发,影响仍然在继续,这引发了各方对国产芯片发展方向的思考,那么如果不是OPPO,其他国产芯片企业又能突破困境么?其实关键还是在芯片制造。 国内最强大的芯片企业,由于众所周知的原因&#xff…

ChatGPT联网后几大功能

这周ChatGPT plus 已经可以联网了,联网后对我们的用处更大了,这里总结了几点ChatGPT联网 后的几个功能: 1.对给定的网页进行读取,并根据解读后来回答问题 给ChatGPT一个网址,让他总结一下这个网址,不到一…

Java 中 CAS 是什么,有哪些实际应用场景

CAS 是什么 CAS(Compare And Swap)是一种并发编程中的原子操作,用于实现多线程之间的同步。在 Java 中,CAS 操作通过 sun.misc.Unsafe 类实现。 CAS 操作是一种乐观锁机制,它假设对于共享变量的修改操作不会引起冲突…

一个高级测试工程师从23岁到33岁,经历过时间才会懂的这个行业

本文将概述测试工程师的现状及发展方向,并着重介绍测试开发工程师的发展及所需具备的技能,以及本部门搭建的测试平台的概况和意义。 一、测试工程师的现状 很多测试小伙伴在工作中有时会比较迷茫,不知该怎样突破瓶颈,更好的发展。…

加密解密软件VMProtect教程(六):主窗口之控制面板“项目”部分(2)

VMProtect 是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

代码随想录算法训练营day44 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ

代码随想录算法训练营day44 | 完全背包,518. 零钱兑换 II,377. 组合总和 Ⅳ 完全背包完全背包问题概述例题遍历顺序分析 518. 零钱兑换 II解法一:动态规划 377. 组合总和 Ⅳ解法一:动态规划 总结 完全背包 教程视频:h…

听说你们都在问?(摇人儿啦)

嗨嗨嗨,🤗 宝子们,今天咱们来一则招聘公告!这是 Hugging Face 的 Post-Sales Machine Learning Solutions Engineer - Asia Remote 职位,感兴趣的宝宝请继续往后看: Description Here at Hugging Face, we’…

算法---被围绕的区域

题目 给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例 1: 输入:board [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”…

Jetson 套件使用VS-Code远程操作经验分享

远程操作Jetson Nano时,笔者一开始使用FinalShell这个便利的SSH工具,并搭配Nomachine图形界面软件。在前期的单纯学习与简易开发时还能游刃有余,但随着复杂度的提升,不仅需要在几个关联文件中进行交叉修改,可能还需要查看图像/视频这类的输出结果,必须在几个视窗之间不断…

有限合伙企业与有限公司的区别

1、设立要求不同: 有限合伙企业:根据《合伙企业法》设立,第61条规定必须由2个(包含2个)以上的合伙人出资设立,有限合伙企业合伙人中至少有一名是普通合伙人。有限责任公司:根据《公司法》设立&…

七大语言模型PK,ChatGPT内容基线测评稳居第一

随着ChatGPT的爆火与流行,大型语言模型(LLM)与生成式人工智能(AIGC)不断跃入大众视野,随之也带来了许多内容风险隐患。 近日,知道创宇内容安全专家对互联网上流行的7款大型语言模型进行了全面和…

Android Service 使用

在Android应用开发中,Service是一种非常重要的组件。Service可以在后台执行长时间运行的任务,例如播放音乐、下载文件等。在本文中,我将会介绍如何使用Service组件,并通过代码实现来说明它的作用。 Android Service概述 在Androi…

微信小程序xr-frame实现交互(地月案例)

基础知识: 1.轮廓 如果想要与场景中的物体进行互动,比如说点击、拖拽物体,那么这个物体得先拥有一个轮廓才行。轮廓是一个组件。与某个物体互动,实际上是在与这个物体的轮廓进行互动,轮廓让这个物体在物理世界中拥有…

C++职工管理系统(类继承、文件、指针操作、中文乱码解决)

文件目录及界面 CMakeLists.txt避免中文乱码配置。 # C的解决办法 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fexec-charsetGBK") # C 的解决办法 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charsetGBK") 一、退出管理程序 退出当前管理…

不需要#魔#法就能直接访问chatgpt

你还在付费使用chatgpt吗?你还在使用魔法访问chatgpt吗?你还在忍受每分钟刷新一下页面才能继续与gpt聊天吗? 今天给大家分享2种方法,可以使用国内网络在本地就能直接访问chatgpt。 这两种方法都是基于GitHub上的开源项目chatbot-u…

基于SSM的网上宠物店

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

低代码赋能生物药企数字化

一、关于复宏汉霖 汉霖是复星在2010年投资孵化的一家生物医药公司,经过这十几年的发展,2019年在港股上市,是生物药企18A企业之一。 经过这些年的发展,我们在管线方面布局了肿瘤、肢体、免疫、眼科类,从早研阶段到临床…

Midjourney|文心一格prompt教程[Text Prompt(下篇)]:游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学

Midjourney|文心一格prompt教程[Text Prompt(下篇)]:游戏、实物、人物、风景、动漫、邮票、海报等生成,终极模板教学 场景6:游戏 Prompt 真的越长越好吗? 按照 Midjourney 的官方文档里的说法&#xff0…

基于html+css的图展示76

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…