LPP 和 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.

PCA (Principal Component Analysis) 主成分分析、KPCA (Kernel Principal Component Analysis) 核主成分分析、LDA (Linear Discriminant Analysis) 线性判别分析、LE (Laplacian Eigenmaps) 拉普拉斯特征映射、LLE (Locally Linear Embedding) 局部线性嵌入LPP (Locality Preserving Projection) 保持局部性投影是常用的降维算法,它们可以用于故障检测问题。 1. PCA 主要通过寻找数据的主成分来降低维度。在故障检测中,可以将原始特征向量投影到主成分上,并利用主成分上的异常程度来进行故障检测。 2. KPCA 是 PCA 的非线性扩展,它通过使用核技巧在高维空间中进行数据映射,然后在映射空间中执行 PCA。KPCA 可以处理非线性数据集,在故障检测中可以更好地捕捉到异常模式。 3. LDA 是一种监督学习方法,它将数据投影到线性空间中,以最大化不同类别之间的距离最小化同一类别内的差异。在故障检测中,LDA 可以找到最佳投影方向,使得正常样本异常样本能够更好地区分开。 4. LE 是一种非线性降维方法,它通过计算数据之间的局部关系来进行降维。LE 首先计算每个样本与其邻居之间的权重,并根据权重调整样本的位置。故障检测中,LE 可以保留数据的局部结构,有助于发现异常模式。 5. LLE 是一种基于局部线性关系的非线性降维方法。它通过将每个样本与其最近邻进行线性重建来找到低维表示。在故障检测中,LLE 可以保持数据的局部线性结构,有助于检测异常。 6. LPP 是一种考虑局部信息的投影方法,它通过最小化投影后的样本与其邻居之间的距离来进行降维。在故障检测中,LPP 可以保持数据的局部信息,有助于发现异常模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值