前面写的PCA,LE,LDA,LLE都是以前就比较熟悉的东西,从这篇开始写的都是之前不熟悉的甚至都不知道名字的算法,然而都还很经典。疫情期间在家里看看原文,学习学习,既是算法总结又是读论文笔记。这篇来写LTSA局部切空间排列。本篇符号尽量与原文保持一致,与前面几篇有所不同。

主要思路

LTSA(Local Tangent Space Alignment)的基本思路是用样本点的近邻区域的切空间来表示局部几何结构,然后对局部切空间进行重新排列得到非线性流形的用自然参数刻画的低维表示,是经典的流形学习与降维算法。

假设一个ddd维流形嵌于mmm维空间中(d<md<md<m),mmm维空间是一个包含噪声的高维空间。给定样本集合X=[x1,⋯,xN],xi∈Rm×1X=[x_1,\cdots,x_N],x_i\in \mathbb{R}^{m\times 1}X=[x1​,⋯,xN​],xi​∈Rm×1分布于这个含噪声的mmm维空间中,文章认为:
xi=f(τi)+ϵi,i=1,⋯,Nx_i=f(\tau_i)+\epsilon_i,i=1,\cdots,N xi​=f(τi​)+ϵi​,i=1,⋯,N

τi∈Rd×1\tau_i\in \mathbb{R}^{d\times 1}τi​∈Rd×1是xix_ixi​的本征表示,fff是一个映射函数,ϵi\epsilon_iϵi​表示噪声。

线性情况

先来看线性情况。线性时fff是一个投影矩阵:
f(τi)=xi=c+Uτi+ϵiX=ceT+UT+ET=[τ1,⋯,τN],E=[ϵ1,⋯,ϵN]f(\tau_i)=x_i=c+U\tau_i+\epsilon_i \\ X=ce^T+UT+E \\ T=[\tau_1,\cdots,\tau_N], E=[\epsilon_1,\cdots,\epsilon_N] f(τi​)=xi​=c+Uτi​+ϵi​X=ceT+UT+ET=[τ1​,⋯,τN​],E=[ϵ1​,⋯,ϵN​]

c∈Rm×1c\in \mathbb{R}^{m\times 1}c∈Rm×1表示常量参数,是个偏置项,eee是全为1的列向量。线性降维与线性流形学习的目标就是最小化重建误差:
min⁡∥E∥=min⁡c,U,T∥X−(ceT+UT)∥F\min\|E\|= \min_{c,U,T} \|X-(ce^T+UT) \|_F min∥E∥=c,U,Tmin​∥X−(ceT+UT)∥F​

这是个FFF范数的形式,希望噪声能够最小。文章说,基于观察认为:

  • 如果能从EEE中移除EEE的行均值,就可以使其范数更小,这要求c=Xe/N=x‾c=Xe/N=\overline{x}c=Xe/N=x。其实就是对XXX做中心化的意思。
  • 然后希望上式最小化就等价于希望UTUTUT是最接近于X−x‾eTX-\overline{x}e^TX−xeT的秩为ddd的矩阵,这可以用X−x‾eTX-\overline{x}e^TX−xeT的SVD分解来求解。这个确实如此,这是SVD分解的低秩近似性质。

SVD分解有的低秩近似性质:即给定秩为rrr的矩阵AAA并求出其SVD分解A=UΣVTA=UΣV^TA=UΣVT,欲求一个秩为k(k≤r)k(k\leq r)k(k≤r)的矩阵A~\tilde{A}A~,并使得A~与\tilde{A}与A~与A$最接近(差的F范数最小):
min⁡A~∥A−A~∥F\min_{\tilde{A}}\|A-\tilde{A}\|_F A~min​∥A−A~∥F​ 则A~\tilde{A}A~可以通过仅保留AAA的前kkk大奇异值得到。即A~=UkΣkVkT\tilde{A}=U_kΣ_kV_k^TA~=Uk​Σk​VkT​。

所以的话如果:
X−x‾eT=QΣVTX-\overline{x}e^T=QΣV^T X−xeT=QΣVT


UT=QdΣdVdTUT=Q_dΣ_dV^T_d UT=Qd​Σd​VdT​

UUU的最优解U∗=QdU^*=Q_dU∗=Qd​。因此:
f(τ)=x‾+U∗τ=xU∗T=X−x‾eTT=(U∗)T(X−x‾eT)=ΣdVdTf(\tau)=\overline{x}+U^*\tau =x\\ U^*T=X-\overline{x}e^T \\ T=(U^*)^T(X-\overline{x}e^T)=Σ_dV_d^T f(τ)=x+U∗τ=xU∗T=X−xeTT=(U∗)T(X−xeT)=Σd​VdT​

因为U∗U^*U∗是正交矩阵,其逆矩阵就是其对称矩阵。这其实就是PCA,只是用SVD分解和F范数来解,思路也不一样,而且这告诉我们PCA降完维后的结果就是ΣdVdTΣ_dV_d^TΣd​VdT​.

继续读文章。fff函数并不是唯一的,因为还可以被重新参数化。如果有τ~\tilde{\tau}τ~满足τ=Pτ~\tau=P\tilde{\tau}τ=Pτ~,则UUU^*应该变成U∗PU^*PU∗P。什么意思呢,意思就是:
f(τ)=x‾+U∗τ=f(τ)=x‾+U∗PP−1τf(\tau)=\overline{x}+U^*\tau=f(\tau)=\overline{x}+U^*PP^{-1} \tau f(τ)=x+U∗τ=f(τ)=x+U∗PP−1τ

另外如果我们限制TTT是标准正交的,即TTT=ITT^T=ITTT=I,则应取T=VdTT=V_d^TT=VdT​,而且fff应变为:
f(τ)=x‾+U∗Σdτf(\tau)=\overline{x}+U^*Σ_d \tau f(τ)=x+U∗Σd​τ

这两条说的都是PCA的一些变化了。大致如此。妙的地方就在于,如果这样处理PCA的话,不需要fff函数的参与就能完成降维了,与我们之前写的那篇PCA不同。

非线性情况

非线性的情况更复杂。一般而言,全局的非线性结构来自于局部的线性分析和排列。然后引出LTSA。对于一个给定的样本点,LTSA使用其近邻区域来构建局部切空间来表征局部几何结构,局部切空间提供了非线性流形的局部几何结构的低维线性估计,通过局部切空间来保护近邻区域中的样本点的局部坐标。然后局部切坐标通过不同的局部仿射转换在低维空间重新排列,以获得更好的全局坐标系统。

仍然是假设ddd维流形通过未知函数fff嵌于mmm维空间中,d<md<md<m。给定NNN个从无噪声模型中得来的mmm维样本X=[x1,⋯,xN],xi∈Rm×1X=[x_1,\cdots,x_N],x_i\in \mathbb{R}^{m\times 1}X=[x1​,⋯,xN​],xi​∈Rm×1,有
xi=f(τi),i=1,⋯,Nx_i=f(\tau_i),i=1,\cdots,N xi​=f(τi​),i=1,⋯,N

τi∈Rd×1\tau_i \in \mathbb{R}^{d\times 1}τi​∈Rd×1是xix_ixi​降完维后的结果。非线性降维的目标就是从τi\tau_iτi​对应的xix_ixi​来重构τi\tau_iτi​而不显式地构建fff函数。假设fff足够光滑,在一个给定的τ\tauτ处做Taylor展开:
f(τ‾)=f(τ)+Jf(τ)⋅(τ‾−τ)+O(∥τ‾−τ∥2)f(\overline{\tau})=f(\tau)+J_f(\tau)\cdot (\overline{\tau}-\tau)+O(\|\overline{\tau} -\tau\|^2) f(τ)=f(τ)+Jf​(τ)⋅(τ−τ)+O(∥τ−τ∥2)

这里Jf(τ)∈Rm×dJ_f(\tau)\in \mathbb{R}^{m\times d}Jf​(τ)∈Rm×d是fff在τ\tauτ处的Jacobi矩阵:
f(τ)=[f1(τ)⋮fm(τ)],thenJf(τ)=[∂f1/∂τ1⋯∂f1/∂τd⋮⋮⋮∂fm/∂τ1⋯∂fm/∂τd]f(\tau)= \left[ \begin{array}{c} f_1(\tau) \\ \vdots \\ f_m(\tau) \\ \end{array} \right] ,then\ J_f(\tau)= \left[ \begin{array}{ccc} \partial f_1/\partial \tau_1 & \cdots & \partial f_1/\partial \tau_d\\ \vdots & \vdots &\vdots \\ \partial f_m/\partial \tau_1 & \cdots & \partial f_m/\partial \tau_d \\ \end{array} \right] f(τ)=⎣⎢⎡​f1​(τ)⋮fm​(τ)​⎦⎥⎤​,then Jf​(τ)=⎣⎢⎡​∂f1​/∂τ1​⋮∂fm​/∂τ1​​⋯⋮⋯​∂f1​/∂τd​⋮∂fm​/∂τd​​⎦⎥⎤​

fff在τ\tauτ处的切空间ττ\tau_\tauττ​是由Jf(τ)J_f(\tau)Jf​(τ)的ddd个列向量做基底的生成空间,维度最高为ddd,ττ=span(Jf(τ))\tau_\tau=span(J_f(\tau))ττ​=span(Jf​(τ))。向量τ−τ‾\tau-\overline{\tau}τ−τ是f(τ)f(\tau)f(τ)在仿射空间f(τ)+ττf(\tau)+\tau_\tauf(τ)+ττ​的坐标(这一句我属实没懂)。因为不知道fff,所以Jf(τ)J_f(\tau)Jf​(τ)也没法求。如果QτQ_\tauQτ​是ττ\tau_\tauττ​的一个标准正交基矩阵,如果基于QτQ_\tauQτ​可以知道Jf(τ)J_f(\tau)Jf​(τ),可以写作:
Jf(τ)(τ‾−τ)=Qτθ∗J_f(\tau)(\overline{\tau}-\tau)=Q_\tau \theta^* Jf​(τ)(τ−τ)=Qτ​θ∗

然后
θτ∗=QτTJf(τ)(τ‾−τ)≡Pτ(τ‾−τ)\theta_\tau^*=Q_\tau^TJ_f(\tau)(\overline{\tau}-\tau)\equiv P_\tau(\overline{\tau}-\tau) θτ∗​=QτT​Jf​(τ)(τ−τ)≡Pτ​(τ−τ)

从τ\tauτ到θτ∗\theta_\tau^*θτ∗​的映射表示局部仿射变换,这个仿射变换同样是未知的,因为fff未知。然而向量θτ∗\theta_\tau^*θτ∗​有一个近似值θτ\theta_\tauθτ​,其可以正交地将f(τ‾)−f(τ)f(\overline{\tau})-f(\tau)f(τ)−f(τ)投影到ττ\tau_\tauττ​:
θτ≡QτT(f(τ‾)−f(τ))=θτ∗+O(∥τ‾−τ∥2)\theta_\tau \equiv Q_\tau^T(f(\overline{\tau})-f(\tau))=\theta_\tau^*+O(\| \overline{\tau}-\tau \|^2) θτ​≡QτT​(f(τ)−f(τ))=θτ∗​+O(∥τ−τ∥2)

假设QτTQ_\tau^TQτT​在每一个τ\tauτ处都是已知的,忽略二阶项,则全局坐标τ\tauτ应满足:
∫dτ∫Ω(τ)∥Pτ(τ‾−τ)−θτ∥dτ‾≈0\int d\tau \int_{\Omega(\tau)} \| P_\tau(\overline{\tau}-\tau) -\theta_\tau\|d\overline{\tau} \approx0 ∫dτ∫Ω(τ)​∥Pτ​(τ−τ)−θτ​∥dτ≈0

Ω(τ)\Omega(\tau)Ω(τ)是τ\tauτ的近邻区域的定义。因此,一种自然的优化目标就是寻找合适的τ\tauτ和PτP_\tauPτ​以最小化以下误差函数:
∫dτ∫Ω(τ)∥Pτ(τ‾−τ)−θτ∥dτ‾\int d\tau \int_{\Omega(\tau)} \| P_\tau(\overline{\tau}-\tau) -\theta_\tau\|d\overline{\tau} ∫dτ∫Ω(τ)​∥Pτ​(τ−τ)−θτ​∥dτ

这表示的是降维问题的非线性排列方法。

线性排列方法可以有如下思路。如果Jf(τ)J_f(\tau)Jf​(τ)是列满秩的,矩阵PτP_\tauPτ​就应该是非奇异的并且:
τ‾−τ≈Pτ−1θτ≡Lτθτ\overline{\tau}-\tau \approx P_\tau^{-1} \theta_\tau \equiv L_\tau \theta_\tau τ−τ≈Pτ−1​θτ​≡Lτ​θτ​

这时候应该寻找全局坐标τ\tauτ和局部仿射变换LτL_\tauLτ​来最小化下式:
∫dτ∫Ω(τ)∥(τ‾−τ)−θτ∥dτ‾\int d\tau \int_{\Omega(\tau)} \| (\overline{\tau}-\tau) -\theta_\tau\|d\overline{\tau} ∫dτ∫Ω(τ)​∥(τ−τ)−θτ​∥dτ

如果不是列满秩,那就太复杂了,不讨论。

局部切空间排列LTSA

给定具有潜在非线性流形结构的包含噪声的样本集X=[x1,⋯,xN]X=[x_1,\cdots,x_N]X=[x1​,⋯,xN​]:
xi=f(τi)+ϵi,i=1,⋯,Nx_i=f(\tau_i)+\epsilon_i,i=1,\cdots,N xi​=f(τi​)+ϵi​,i=1,⋯,N

令Xi=[xi1,⋯,xik]X_i=[x_{i1},\cdots,x_{ik}]Xi​=[xi1​,⋯,xik​]是xix_ixi​用欧氏距离度量下的kkk近邻(包含xix_ixi​自身)。为XiX_iXi​中的样本计算最佳的ddd维近似仿射空间:
min⁡x,Θ,Q=∑j=1k∥xij−(x+Qθj)∥22=min⁡x,Θ,Q∥Xi−(xeT+QΘ)∥F2\min_{x,\Theta,Q}=\sum_{j=1}^k \| x_{ij}-(x+Q\theta_j) \|_2^2=\min_{x,\Theta,Q}\| X_i-(xe^T+Q\Theta) \|_F^2 x,Θ,Qmin​=j=1∑k​∥xij​−(x+Qθj​)∥22​=x,Θ,Qmin​∥Xi​−(xeT+QΘ)∥F2​

这里QQQ是ddd列的标准正交矩阵,Θ=[θ1,⋯,θk]\Theta=[\theta_1,\cdots,\theta_k]Θ=[θ1​,⋯,θk​]。注意,这里我写FFF范数平方的地方原文写的是二范数的平方,我觉得不太对劲,所以写成了FFF范数。
这个问题在限行情况那部分已经解过了,最优的xxx值应取x‾i\overline{x}_ixi​,最优的QQQ值QiQ_iQi​应该取Xi(I−eeT/k)X_i(I-ee^T/k)Xi​(I−eeT/k)(其实就是对XiX_iXi​做了中心化的结果)前ddd大的奇异值对应的左奇异向量。然后Θ\ThetaΘ应该由Θi\Theta_iΘi​组成,且:
Θi=QiTXi(I−1keeT)=[θ1(i),⋯,θk(i)],θj(i)=QiT(xij−x‾i)\Theta_i= Q_i^TX_i(I-\frac{1}{k}ee^T)=[\theta_1^{(i)},\cdots,\theta_k^{(i)}],\theta_j^{(i)}=Q_i^T(x_{ij}-\overline x_i) Θi​=QiT​Xi​(I−k1​eeT)=[θ1(i)​,⋯,θk(i)​],θj(i)​=QiT​(xij​−xi​)

意思就是在xix_ixi​的包含自身的kkk个近邻组成的XiX_iXi​范围内做了个PCA,只是不降维,维度仍为mmm,做完PCA后的XiX_iXi​为Θi\Theta_iΘi​,单个样本为θj(i)\theta_j^{(i)}θj(i)​.

然后有:
xij=x‾i+Qiθj(i)+ξj(i)ξj(i)=xij−x‾i−QiQiT(xij−x‾i)=(I−QiQiT)(xij−x‾)x_{ij}=\overline{x}_i+Q_i\theta_j^{(i)}+\xi_j^{(i)} \\ \xi_j^{(i)} =x_{ij}-\overline{x}_i-Q_i Q_i^T(x_{ij}-\overline x_i)=(I-Q_iQ_i^T)(x_{ij}-\overline{x}) xij​=xi​+Qi​θj(i)​+ξj(i)​ξj(i)​=xij​−xi​−Qi​QiT​(xij​−xi​)=(I−Qi​QiT​)(xij​−x)

这里的ξj(i)\xi_j^{(i)}ξj(i)​就是重构误差。θj(i)\theta_j^{(i)}θj(i)​可以表征局部结构,现在基于θj(i)\theta_j^{(i)}θj(i)​来得到τi,i=1,⋯,N\tau_i,i=1,\cdots,Nτi​,i=1,⋯,N. LTSA希望τij\tau_{ij}τij​满足如下形式:
τij=τ‾i+Liθj(i)+ϵj(i),i=1,⋯,N\tau_{ij}=\overline{\tau}_i+L_i \theta_j^{(i)} +\epsilon_j^{(i)},i=1,\cdots,N τij​=τi​+Li​θj(i)​+ϵj(i)​,i=1,⋯,N

其中τ‾i\overline\tau_iτi​是kkk个τij\tau_{ij}τij​的均值,LiL_iLi​是未知的仿射变换,起到一个排列的作用。上式的矩阵形式表示为:
Ti=1kTieeT+LiΘi+EiT_i=\frac{1}{k}T_iee^T+L_i\Theta_i+E_i Ti​=k1​Ti​eeT+Li​Θi​+Ei​

Ti=[τi1,⋯,τik],Ei=[ϵ1(i),⋯,ϵk(i)]T_i=[\tau_{i1},\cdots,\tau_{ik}],E_i=[\epsilon_1^{(i)},\cdots,\epsilon_k^{(i)}]Ti​=[τi1​,⋯,τik​],Ei​=[ϵ1(i)​,⋯,ϵk(i)​]。重构残差EiE_iEi​为:
Ei=Ti(I−1keeT)−LiΘiE_i=T_i(I-\frac{1}{k}ee^T)-L_i\Theta_i Ei​=Ti​(I−k1​eeT)−Li​Θi​

为了在低维空间中保护尽可能多的局部几何结构,LTSA希望降维后得到的样本表示τi\tau_iτi​以及局部仿射变换LiL_iLi​,可以最小化重构残差ϵj(i)\epsilon_j^{(i)}ϵj(i)​:
∑i∥Ei∥2≡∑i∥Ti(I−1keeT)−LiΘi∥2=min⁡(1)\sum_i \|E_i \|^2 \equiv \sum_i \|T_i (I-\frac{1}{k}ee^T)-L_i\Theta_i \|^2=\min \tag{1} i∑​∥Ei​∥2≡i∑​∥Ti​(I−k1​eeT)−Li​Θi​∥2=min(1)

显然,能够最小化误差∥Ei∥F\|E_i\|_F∥Ei​∥F​的排列矩阵LiL_iLi​的最优解应为:
Li=Ti(I−1keeT)=TiΘi+,andEi=Ti(I−1keeT)(I−Θi+Θi)L_i=T_i (I-\frac{1}{k}ee^T)=T_i\Theta_i^+,and \ E_i=T_i(I-\frac{1}{k}ee^T)(I-\Theta_i^+\Theta_i) Li​=Ti​(I−k1​eeT)=Ti​Θi+​,and Ei​=Ti​(I−k1​eeT)(I−Θi+​Θi​)

这里的Θi+\Theta_i^+Θi+​是Θi\Theta_iΘi​的Moor-Penrose广义逆矩阵。T=[τ1,⋯,τN]T=[\tau_1,\cdots,\tau_N]T=[τ1​,⋯,τN​],令SiS_iSi​为满足TSi=TiTS_i=T_iTSi​=Ti​的0-1选择矩阵(比方说要筛选第1,3个样本,SiS_iSi​的第1行的第1个数就为1,第2列的第3个数就为1,其余位置全为0),注意前面定义了Ti=[τi1,⋯,τik],Ei=[ϵ1(i),⋯,ϵk(i)]T_i=[\tau_{i1},\cdots,\tau_{ik}], E_i=[\epsilon_1^{(i)},\cdots,\epsilon_k^{(i)}]Ti​=[τi1​,⋯,τik​],Ei​=[ϵ1(i)​,⋯,ϵk(i)​]. 现在需要寻找TTT使得总体所有样本的重构误差最小化:
min⁡T∥Ei∥F2=min⁡T∥TSW∥F2\min_T \|E_i \|_F^2=\min_T \|TSW \|_F^2 Tmin​∥Ei​∥F2​=Tmin​∥TSW∥F2​

其中S=[S1,⋯,SN]S=[S_1,\cdots,S_N]S=[S1​,⋯,SN​],W=diag(W1,⋯,WN)W=diag(W_1,\cdots,W_N)W=diag(W1​,⋯,WN​)且:
Wi=(I−1keeT)(I−Θi+Θi)W_i=(I-\frac{1}{k}ee^T)(I-\Theta_i^+\Theta_i) Wi​=(I−k1​eeT)(I−Θi+​Θi​)

为了使得TTT有唯一解,LTSA限制TTT=IdTT^T=I_dTTT=Id​,IdI_dId​是ddd维的单位矩阵。

求解

现在基本搞明白了,给定XXX,LTSA先给每个样本找欧氏距离度量下的kkk个近邻(包含自身),为每个样本xix_ixi​构成一个包含自身的近邻区域XiX_iXi​,然后在XiX_iXi​这个区域内做PCA但却不降维,然后XiX_iXi​通过PCA变成了Θi\Theta_iΘi​,其中的xijx_{ij}xij​变成了θj(i)\theta_j^{(i)}θj(i)​。然后又认为降维的结果TiT_iTi​与XiX_iXi​之间有线性关系,希望二者之间的误差最小,仿射关系LiL_iLi​被TiT_iTi​表示了,残差EiE_iEi​也用TiT_iTi​表示了,所以变成了一个非线性的方法。局部PCA就是所谓的局部切空间,后面这个非线性降维就是所谓的排列,最终变成如下形式的问题:

min⁡T∥TSW∥F2s.t.TTT=I\min_T \|TSW \|_F^2 \\ s.t. TT^T=I Tmin​∥TSW∥F2​s.t.TTT=I

求解思路也很清晰,F范数的平方化为向量二范数的平方之和即可。这里重新定义TiT_iTi​为TTT的第iii行,与上一部分有所不同,则:
∥TSW∥F2=∑i=1d∥TiSW∥22=∑i=1d(TiSW)(TiSW)T=∑i=1dTi(SWWTS)TiT=tr(TSWWTSTTT)s.t.TTT=I\|TSW\|_F^2 \\ = \sum_{i=1}^d \|T_iSW \|_2^2 \\ = \sum_{i=1}^d (T_iSW)(T_iSW)^T \\ = \sum_{i=1}^d T_i(SWW^TS)T_i^T \\ = tr(TSWW^TS^TT^T) \\ s.t. \ TT^T=I ∥TSW∥F2​=i=1∑d​∥Ti​SW∥22​=i=1∑d​(Ti​SW)(Ti​SW)T=i=1∑d​Ti​(SWWTS)TiT​=tr(TSWWTSTTT)s.t. TTT=I

然后用经典的Lagrangian乘子法:
L(T,λ)=tr(TSWWTSTTT)+tr(λ(I−TTT))L(T,\lambda)=tr(TSWW^TS^TT^T)+tr(\lambda(I-TT^T)) L(T,λ)=tr(TSWWTSTTT)+tr(λ(I−TTT))

如同之前几篇博客,这里的λ\lambdaλ为对角矩阵。然后求导并令导数为0:
∂∂XL(T,λ)=2T(SWWTST)−2λT=0T(SWWTST)=λT(SWWTST)TT=TTλ∂∂λL(T,λ)=I−TTT=0TTT=I\frac{\partial}{\partial X}L(T,\lambda)=2T(SWW^TS^T)-2\lambda T=0 \\ T(SWW^TS^T)=\lambda T \\ (SWW^TS^T)T^T=T^T\lambda \\ \frac{\partial }{\partial \lambda}L(T,\lambda)=I-TT^T=0 \\ TT^T=I ∂X∂​L(T,λ)=2T(SWWTST)−2λT=0T(SWWTST)=λT(SWWTST)TT=TTλ∂λ∂​L(T,λ)=I−TTT=0TTT=I

然后(SWWTST)TT=TTλ(SWW^TS^T)T^T=T^T\lambda(SWWTST)TT=TTλ就是告诉我们,TTT^TTT的每一列,即TTT的每一行TiT_iTi​都是SWWTSTSWW^TS^TSWWTST的特征向量,对应的特征值分布在λ\lambdaλ的对角线的对应位置上。因为是个必要条件,再代回去:
tr(TSWWTSTTT)=tr(TTTλ)=tr(λ)tr(TSWW^TS^TT^T)=tr(TT^T\lambda)=tr(\lambda) tr(TSWWTSTTT)=tr(TTTλ)=tr(λ)

这告诉我们,原始最小化就等价于tr(λ)tr(\lambda)tr(λ)最小化,因此要选SWWTSTSWW^TS^TSWWTST最小的前ddd个特征值对应的特征向量来构成TTT.

这里还有一个问题,就是全1列向量eee也是SWWTSTSWW^TS^TSWWTST的特征向量。首先SSS的每一列只有一个数字是1,其余都为0,因此STe=eS^Te=eSTe=e.
SWWTSTe=SWWTeSWW^TS^Te = SWW^Te SWWTSTe=SWWTe

然后根据前面定义的:W=diag(W1,⋯,WN),Wi=(I−1keeT)(I−Θi+Θi)W=diag(W_1,\cdots,W_N),W_i=(I-\frac{1}{k}ee^T)(I-\Theta_i^+\Theta_i)W=diag(W1​,⋯,WN​),Wi​=(I−k1​eeT)(I−Θi+​Θi​):
WiTe=(I−Θi+Θ)T(I−1keeT)e=(I−Θi+Θ)T(e−1kek)=0W^T_ie=(I-\Theta_i^+\Theta)^T(I-\frac{1}{k}ee^T)e \\ =(I-\Theta_i^+\Theta)^T(e-\frac{1}{k}ek) \\ =0 WiT​e=(I−Θi+​Θ)T(I−k1​eeT)e=(I−Θi+​Θ)T(e−k1​ek)=0

因此
SWWTSTe=SWWTe=0⋅eSWW^TS^Te=SWW^Te =0\cdot e SWWTSTe=SWWTe=0⋅e

即无论对什么样的XXX,SWWTSTSWW^TS^TSWWTST都有一个特征值为0,对应的特征向量为eee,这显然不是我们想要的,因此要选SWWTSTSWW^TS^TSWWTST前ddd小的非0特征值对应的特征向量构成TTT。

到这里其实LTSA的定义和求解就结束了,但是论文还没有结束,还讨论了很多误差分析之类的东西,我目前并不感兴趣,也就不看了写了。

关于其他

根据前面讨论非线性情况时候得到的结论:
f(τ‾)=f(τ)+Jf(τ)⋅(τ‾−τ)+O(∥τ‾−τ∥2)f(τ‾)−f(τ)=Jf(τ)⋅(τ‾−τ)+O(∥τ‾−τ∥2)f(\overline{\tau})=f(\tau)+J_f(\tau)\cdot (\overline{\tau}-\tau)+O(\|\overline{\tau} -\tau\|^2) \\ f(\overline{\tau})-f(\tau)=J_f(\tau)\cdot (\overline{\tau}-\tau)+O(\|\overline{\tau} -\tau\|^2) f(τ)=f(τ)+Jf​(τ)⋅(τ−τ)+O(∥τ−τ∥2)f(τ)−f(τ)=Jf​(τ)⋅(τ−τ)+O(∥τ−τ∥2)

可知,如果去掉二阶项,则有:
Xi(I−eeT/k)≈JfiTi(I−eeT/k)X_i(I-ee^T/k) \approx J_f^iT_i(I-ee^T/k) Xi​(I−eeT/k)≈Jfi​Ti​(I−eeT/k)

0-1选择矩阵Si,SS_i,SSi​,S的定义和前面一样,我们希望寻找合适的JfiJ_f^iJfi​使得二者更接近:
min⁡J,T∑i=1N∥(X−Jf(i))Si(I−eeT/k)∥F2=min⁡J,TE(J,T)\min_{J,T} \sum_{i=1}^N \|(X-J_f^{(i)})S_i(I-ee^T/k) \|_F^2=\min_{J,T}E(J,T) J,Tmin​i=1∑N​∥(X−Jf(i)​)Si​(I−eeT/k)∥F2​=J,Tmin​E(J,T)

其中J=[Jf(1),⋯,Jf(N)]J=[J_f^{(1)},\cdots,J_f^{(N)}]J=[Jf(1)​,⋯,Jf(N)​]. 这个问题可以用交替最小二乘法来解:固定JJJ,通过调节TTT使得EEE最小;然后固定TTT,通过调节JJJ使EEE最小。TTT的初值可以取LTSA解出来的TTT。这是另一篇文章的内容。

另一方面,公式(1)(1)(1)约束YYTYY^TYYT是为了让该问题“well-posed”,“适定”。因为如果取Ti,LiT_i,L_iTi​,Li​都为0也有更小的解,但是这不是我们想要的。而且YYTYY^TYYT这个约束是众多可以避免这个问题的约束之一。

降维系列之 LTSA 局部切空间排列相关推荐

  1. LSH系列1:局部敏感哈希(LSH)——基本原理介绍

    文章目录 参考 局部敏感哈希(LSH)基本原理介绍 背景 LSH 的基本思想 LSH 的哈希函数族(Hash Family) LSH 的查找过程 LSH 常见的 Hash Function 参考 LS ...

  2. 【坑爹系列】常见的图片排列错位问题-根源分析及解决方案

    前言 诶,ie6,ie7这些顽固的浏览器我就不管了,反正现在主要开发移动网页,可以用到html5,css3的很多很多特性. 背景介绍 近日做了一个小小项目,是一个很流行的通过微信投票然后选出最最美,最 ...

  3. MATLAB降维工具箱

    降维工具箱drtool 工具箱下载:http://leelab.googlecode.com/svn/trunk/apps/drtoolbox/ --------------------------- ...

  4. matlab 降维工具

    降维工具箱drtool 这个工具箱的 主页如下,现在的最新版本是2013.3.21更新,版本v0.8.1b http://homepage.tudelft.nl/19j49/Matlab_Toolbo ...

  5. MATLAB数据降维工具箱drtoolbox

    The Matlab Toolbox for Dimensionality Reduction contains Matlab implementations of 38 techniques for ...

  6. 【数据降维】数据降维方法分类

    数据降维基本原理是将样本点从输入空间通过线性或非线性变换映射到一个低维空间,从而获得一个关于原数据集紧致的低维表示. 数据降维工具箱drtoolbox中众多算法,这里简单做个分类. 因为很多并没有仔细 ...

  7. 机器学习知识点全面总结

    ✨写在前面:强烈推荐给大家一个优秀的人工智能学习网站,内容包括人工智能基础.机器学习.深度学习神经网络等,详细介绍各部分概念及实战教程,通俗易懂,非常适合人工智能领域初学者及研究者学习.➡️点击跳转到 ...

  8. sklearn中一些参数

    转载:http://www.cnblogs.com/chenyaling/p/7826229.html 1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法  class sklearn.l ...

  9. sklearn学习笔记

    1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.linear_model.LinearRegression(fit_intercept=True, norm ...

  10. 数据挖掘基本模型一览

    数据准备 缺失值处理 直接删除 不处理 填充 平均值填充 Mean/Model Completer 热卡填充 Hot Deck Imputation K邻近 KNN 使用所有可能的值填充 Assign ...

最新文章

  1. 训练数据集如何划分验证测试集?train/test(val/dev) set和交叉验证(cross validation)
  2. 列表渲染 wx:key 的作用、条件渲染 wx:if 与 hidden 的区别
  3. Java 蓝桥杯 判断闰年
  4. 所有赚不到钱的人都是干了自己不愿意或者自己很讨厌的事
  5. Windows 进程管理
  6. UNIX编程艺术-艾瑞克.S.理曼德
  7. 运维笔记-lnmp一键安装问题
  8. 计算机主机房的消防配置,机房的消防设计规范.docx
  9. html5快手视频播放特效,抖音快手热门上人在天上飞的特效视频教程
  10. 我和大表哥可是有约在先的如果我输的话
  11. HTML5实现手机QQ表情功能
  12. Vmware中桥接无法获取IP
  13. ADAS-----智能驾驶辅助系统
  14. linux mysql 超级用户_Linux下MySQL忘记超级用户口令的解决办法linux操作系统 -电脑资料...
  15. javascript案例30——continue、break
  16. 中断向量表 异常相量表 中断向量(中断函数入口地址)ARM和X86异常向量表不同
  17. java怎么修改支付宝步数_支付宝怎么修改运动步数 刷步数方法
  18. c语言变量声明放在开头,C语言变量声明问题——变量定义一定要放在所有执行语句/语句块的最前面吗?...
  19. 微信QQ域名防封防红防屏蔽系统源码
  20. 魔兽会封python_Python爬取大量数据时,如何防止IP被封?

热门文章

  1. 『Delphi』File not found的解决办法
  2. C语言中错误c213是什么意思,DS1302的错误:error c213
  3. 高德地图定位误差_导航定位错误致拥堵,四川景区建议别用高德地图 高德回应...
  4. Java数据结构:数组模拟的队列(Queue)和环形队列(Circle Queue)
  5. 能运行c语言的最便宜电脑配置,低配置电脑流畅运行Win7的技巧
  6. $.ajax data怎么处理_不用jsp怎么实现前后端交互?给萌新后端的ajax教程(2)
  7. go语言环境搭建及vim高亮设置
  8. 文本文件与二进制的区别
  9. nyoj 643intersection set
  10. STM32——整形变量转换为字符变量并通过串口发送出去