无监督度量学习的降维讲义: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} yTLy=21i=1∑nj=1∑nwij(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=[x1,x2,...,xn]引出的 K N N KNN KNN图的拉普拉斯矩阵。
在 L P P LPP LPP中,假设 x ⃗ i ∈ R m \vec x_i∈R^m xi∈Rm和 y i ∈ R y_i∈R yi∈R之间的关系是线性的,即 y i = a ⃗ T x ⃗ i y_i=\vec a^T~\vec x_i yi=aT xi,其中 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} yTLy=21i=1∑nj=1∑nwij(aTyi−aTyj)2=21i=1∑nj=1∑nwij[aTxixiTa−2aTxixjTa+aTxjxjTa]=21i=1∑nj=1∑n2wijaTxixiTa−21i=1∑nj=1∑n2wijaTxixjTa=i=1∑nj=1∑nwijaTxixiTa−i=1∑nj=1∑nwijaTxixjTa(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} yTLyT=i=1∑naTxidixiTa−i=1∑nj=1∑naTxiwijxjTa(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} yTLyT=aTXDXTa−aTXWXTa(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} yTLyT=aTX(D−W)XTa=aTXLXTa(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} aargminaTXDXTasubjecttoaTXWXTa=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(aT,λ)=aTXLXTa−λ(aTXDXTa−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(aT,λ)=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 aj表示数据将被投影到的方向:
( 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 yj(其中 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)=[x1,x2,…,xn)。则 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) ϕ(x1),ϕ(x2),…,ϕxn),即:
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ϕ(xi)=ϕ(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 vk ( 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} vkTϕ(x)=i=1∑nαk(i)ϕ(xi)Tϕ(x)=i=1∑nαk(i)ϕ(x)Tϕ(xi)=i=1∑nαk(i)K(x,xi)(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.