前面写的PCA,LE,LDA,LLE都是以前就比较熟悉的东西,从这篇开始写的都是之前不熟悉的甚至都不知道名字的算法,然而都还很经典。疫情期间在家里看看原文,学习学习,既是算法总结又是读论文笔记。这篇来写LTSA局部切空间排列。本篇符号尽量与原文保持一致,与前面几篇有所不同。
主要思路
LTSA(Local Tangent Space Alignment)的基本思路是用样本点的近邻区域的切空间来表示局部几何结构,然后对局部切空间进行重新排列得到非线性流形的用自然参数刻画的低维表示,是经典的流形学习与降维算法。
假设一个
d
d
d维流形嵌于
m
m
m维空间中(
d
<
m
d<m
d<m),
m
m
m维空间是一个包含噪声的高维空间。给定样本集合
X
=
[
x
1
,
⋯
,
x
N
]
,
x
i
∈
R
m
×
1
X=[x_1,\cdots,x_N],x_i\in \mathbb{R}^{m\times 1}
X=[x1,⋯,xN],xi∈Rm×1分布于这个含噪声的
m
m
m维空间中,文章认为:
x
i
=
f
(
τ
i
)
+
ϵ
i
,
i
=
1
,
⋯
,
N
x_i=f(\tau_i)+\epsilon_i,i=1,\cdots,N
xi=f(τi)+ϵi,i=1,⋯,N
τ i ∈ R d × 1 \tau_i\in \mathbb{R}^{d\times 1} τi∈Rd×1是 x i x_i xi的本征表示, f f f是一个映射函数, ϵ i \epsilon_i ϵi表示噪声。
线性情况
先来看线性情况。线性时
f
f
f是一个投影矩阵:
f
(
τ
i
)
=
x
i
=
c
+
U
τ
i
+
ϵ
i
X
=
c
e
T
+
U
T
+
E
T
=
[
τ
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+ϵiX=ceT+UT+ET=[τ1,⋯,τN],E=[ϵ1,⋯,ϵN]
c
∈
R
m
×
1
c\in \mathbb{R}^{m\times 1}
c∈Rm×1表示常量参数,是个偏置项,
e
e
e是全为1的列向量。线性降维与线性流形学习的目标就是最小化重建误差:
min
∥
E
∥
=
min
c
,
U
,
T
∥
X
−
(
c
e
T
+
U
T
)
∥
F
\min\|E\|= \min_{c,U,T} \|X-(ce^T+UT) \|_F
min∥E∥=c,U,Tmin∥X−(ceT+UT)∥F
这是个 F F F范数的形式,希望噪声能够最小。文章说,基于观察认为:
- 如果能从 E E E中移除 E E E的行均值,就可以使其范数更小,这要求 c = X e / N = x ‾ c=Xe/N=\overline{x} c=Xe/N=x。其实就是对 X X X做中心化的意思。
- 然后希望上式最小化就等价于希望 U T UT UT是最接近于 X − x ‾ e T X-\overline{x}e^T X−xeT的秩为 d d d的矩阵,这可以用 X − x ‾ e T X-\overline{x}e^T X−xeT的SVD分解来求解。这个确实如此,这是SVD分解的低秩近似性质。
SVD分解有的低秩近似性质:即给定秩为 r r r的矩阵 A A A并求出其SVD分解 A = U Σ V T A=UΣV^T A=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~可以通过仅保留 A A A的前 k k k大奇异值得到。即 A ~ = U k Σ k V k T \tilde{A}=U_kΣ_kV_k^T A~=UkΣkVkT。
所以的话如果:
X
−
x
‾
e
T
=
Q
Σ
V
T
X-\overline{x}e^T=QΣV^T
X−xeT=QΣVT
则
U
T
=
Q
d
Σ
d
V
d
T
UT=Q_dΣ_dV^T_d
UT=QdΣdVdT
U
U
U的最优解
U
∗
=
Q
d
U^*=Q_d
U∗=Qd。因此:
f
(
τ
)
=
x
‾
+
U
∗
τ
=
x
U
∗
T
=
X
−
x
‾
e
T
T
=
(
U
∗
)
T
(
X
−
x
‾
e
T
)
=
Σ
d
V
d
T
f(\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)=ΣdVdT
因为 U ∗ U^* U∗是正交矩阵,其逆矩阵就是其对称矩阵。这其实就是PCA,只是用SVD分解和F范数来解,思路也不一样,而且这告诉我们PCA降完维后的结果就是 Σ d V d T Σ_dV_d^T ΣdVdT.
继续读文章。
f
f
f函数并不是唯一的,因为还可以被重新参数化。如果有
τ
~
\tilde{\tau}
τ~满足
τ
=
P
τ
~
\tau=P\tilde{\tau}
τ=Pτ~,则
U
U
U^*应该变成
U
∗
P
U^*P
U∗P。什么意思呢,意思就是:
f
(
τ
)
=
x
‾
+
U
∗
τ
=
f
(
τ
)
=
x
‾
+
U
∗
P
P
−
1
τ
f(\tau)=\overline{x}+U^*\tau=f(\tau)=\overline{x}+U^*PP^{-1} \tau
f(τ)=x+U∗τ=f(τ)=x+U∗PP−1τ
另外如果我们限制
T
T
T是标准正交的,即
T
T
T
=
I
TT^T=I
TTT=I,则应取
T
=
V
d
T
T=V_d^T
T=VdT,而且
f
f
f应变为:
f
(
τ
)
=
x
‾
+
U
∗
Σ
d
τ
f(\tau)=\overline{x}+U^*Σ_d \tau
f(τ)=x+U∗Σdτ
这两条说的都是PCA的一些变化了。大致如此。妙的地方就在于,如果这样处理PCA的话,不需要 f f f函数的参与就能完成降维了,与我们之前写的那篇PCA不同。
非线性情况
非线性的情况更复杂。一般而言,全局的非线性结构来自于局部的线性分析和排列。然后引出LTSA。对于一个给定的样本点,LTSA使用其近邻区域来构建局部切空间来表征局部几何结构,局部切空间提供了非线性流形的局部几何结构的低维线性估计,通过局部切空间来保护近邻区域中的样本点的局部坐标。然后局部切坐标通过不同的局部仿射转换在低维空间重新排列,以获得更好的全局坐标系统。
仍然是假设
d
d
d维流形通过未知函数
f
f
f嵌于
m
m
m维空间中,
d
<
m
d<m
d<m。给定
N
N
N个从无噪声模型中得来的
m
m
m维样本
X
=
[
x
1
,
⋯
,
x
N
]
,
x
i
∈
R
m
×
1
X=[x_1,\cdots,x_N],x_i\in \mathbb{R}^{m\times 1}
X=[x1,⋯,xN],xi∈Rm×1,有
x
i
=
f
(
τ
i
)
,
i
=
1
,
⋯
,
N
x_i=f(\tau_i),i=1,\cdots,N
xi=f(τi),i=1,⋯,N
τ
i
∈
R
d
×
1
\tau_i \in \mathbb{R}^{d\times 1}
τi∈Rd×1是
x
i
x_i
xi降完维后的结果。非线性降维的目标就是从
τ
i
\tau_i
τi对应的
x
i
x_i
xi来重构
τ
i
\tau_i
τi而不显式地构建
f
f
f函数。假设
f
f
f足够光滑,在一个给定的
τ
\tau
τ处做Taylor展开:
f
(
τ
‾
)
=
f
(
τ
)
+
J
f
(
τ
)
⋅
(
τ
‾
−
τ
)
+
O
(
∥
τ
‾
−
τ
∥
2
)
f(\overline{\tau})=f(\tau)+J_f(\tau)\cdot (\overline{\tau}-\tau)+O(\|\overline{\tau} -\tau\|^2)
f(τ)=f(τ)+Jf(τ)⋅(τ−τ)+O(∥τ−τ∥2)
这里
J
f
(
τ
)
∈
R
m
×
d
J_f(\tau)\in \mathbb{R}^{m\times d}
Jf(τ)∈Rm×d是
f
f
f在
τ
\tau
τ处的Jacobi矩阵:
f
(
τ
)
=
[
f
1
(
τ
)
⋮
f
m
(
τ
)
]
,
t
h
e
n
J
f
(
τ
)
=
[
∂
f
1
/
∂
τ
1
⋯
∂
f
1
/
∂
τ
d
⋮
⋮
⋮
∂
f
m
/
∂
τ
1
⋯
∂
f
m
/
∂
τ
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⎦⎥⎤
f
f
f在
τ
\tau
τ处的切空间
τ
τ
\tau_\tau
ττ是由
J
f
(
τ
)
J_f(\tau)
Jf(τ)的
d
d
d个列向量做基底的生成空间,维度最高为
d
d
d,
τ
τ
=
s
p
a
n
(
J
f
(
τ
)
)
\tau_\tau=span(J_f(\tau))
ττ=span(Jf(τ))。向量
τ
−
τ
‾
\tau-\overline{\tau}
τ−τ是
f
(
τ
)
f(\tau)
f(τ)在仿射空间
f
(
τ
)
+
τ
τ
f(\tau)+\tau_\tau
f(τ)+ττ的坐标(这一句我属实没懂)。因为不知道
f
f
f,所以
J
f
(
τ
)
J_f(\tau)
Jf(τ)也没法求。如果
Q
τ
Q_\tau
Qτ是
τ
τ
\tau_\tau
ττ的一个标准正交基矩阵,如果基于
Q
τ
Q_\tau
Qτ可以知道
J
f
(
τ
)
J_f(\tau)
Jf(τ),可以写作:
J
f
(
τ
)
(
τ
‾
−
τ
)
=
Q
τ
θ
∗
J_f(\tau)(\overline{\tau}-\tau)=Q_\tau \theta^*
Jf(τ)(τ−τ)=Qτθ∗
然后
θ
τ
∗
=
Q
τ
T
J
f
(
τ
)
(
τ
‾
−
τ
)
≡
P
τ
(
τ
‾
−
τ
)
\theta_\tau^*=Q_\tau^TJ_f(\tau)(\overline{\tau}-\tau)\equiv P_\tau(\overline{\tau}-\tau)
θτ∗=QτTJf(τ)(τ−τ)≡Pτ(τ−τ)
从
τ
\tau
τ到
θ
τ
∗
\theta_\tau^*
θτ∗的映射表示局部仿射变换,这个仿射变换同样是未知的,因为
f
f
f未知。然而向量
θ
τ
∗
\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
τ
T
Q_\tau^T
Qτ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_\tau
Pτ以最小化以下误差函数:
∫
d
τ
∫
Ω
(
τ
)
∥
P
τ
(
τ
‾
−
τ
)
−
θ
τ
∥
d
τ
‾
\int d\tau \int_{\Omega(\tau)} \| P_\tau(\overline{\tau}-\tau) -\theta_\tau\|d\overline{\tau}
∫dτ∫Ω(τ)∥Pτ(τ−τ)−θτ∥dτ
这表示的是降维问题的非线性排列方法。
线性排列方法可以有如下思路。如果
J
f
(
τ
)
J_f(\tau)
Jf(τ)是列满秩的,矩阵
P
τ
P_\tau
Pτ就应该是非奇异的并且:
τ
‾
−
τ
≈
P
τ
−
1
θ
τ
≡
L
τ
θ
τ
\overline{\tau}-\tau \approx P_\tau^{-1} \theta_\tau \equiv L_\tau \theta_\tau
τ−τ≈Pτ−1θτ≡Lτθτ
这时候应该寻找全局坐标
τ
\tau
τ和局部仿射变换
L
τ
L_\tau
Lτ来最小化下式:
∫
d
τ
∫
Ω
(
τ
)
∥
(
τ
‾
−
τ
)
−
θ
τ
∥
d
τ
‾
\int d\tau \int_{\Omega(\tau)} \| (\overline{\tau}-\tau) -\theta_\tau\|d\overline{\tau}
∫dτ∫Ω(τ)∥(τ−τ)−θτ∥dτ
如果不是列满秩,那就太复杂了,不讨论。
局部切空间排列LTSA
给定具有潜在非线性流形结构的包含噪声的样本集
X
=
[
x
1
,
⋯
,
x
N
]
X=[x_1,\cdots,x_N]
X=[x1,⋯,xN]:
x
i
=
f
(
τ
i
)
+
ϵ
i
,
i
=
1
,
⋯
,
N
x_i=f(\tau_i)+\epsilon_i,i=1,\cdots,N
xi=f(τi)+ϵi,i=1,⋯,N
令
X
i
=
[
x
i
1
,
⋯
,
x
i
k
]
X_i=[x_{i1},\cdots,x_{ik}]
Xi=[xi1,⋯,xik]是
x
i
x_i
xi用欧氏距离度量下的
k
k
k近邻(包含
x
i
x_i
xi自身)。为
X
i
X_i
Xi中的样本计算最佳的
d
d
d维近似仿射空间:
min
x
,
Θ
,
Q
=
∑
j
=
1
k
∥
x
i
j
−
(
x
+
Q
θ
j
)
∥
2
2
=
min
x
,
Θ
,
Q
∥
X
i
−
(
x
e
T
+
Q
Θ
)
∥
F
2
\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
这里
Q
Q
Q是
d
d
d列的标准正交矩阵,
Θ
=
[
θ
1
,
⋯
,
θ
k
]
\Theta=[\theta_1,\cdots,\theta_k]
Θ=[θ1,⋯,θk]。注意,这里我写
F
F
F范数平方的地方原文写的是二范数的平方,我觉得不太对劲,所以写成了
F
F
F范数。
这个问题在限行情况那部分已经解过了,最优的
x
x
x值应取
x
‾
i
\overline{x}_i
xi,最优的
Q
Q
Q值
Q
i
Q_i
Qi应该取
X
i
(
I
−
e
e
T
/
k
)
X_i(I-ee^T/k)
Xi(I−eeT/k)(其实就是对
X
i
X_i
Xi做了中心化的结果)前
d
d
d大的奇异值对应的左奇异向量。然后
Θ
\Theta
Θ应该由
Θ
i
\Theta_i
Θi组成,且:
Θ
i
=
Q
i
T
X
i
(
I
−
1
k
e
e
T
)
=
[
θ
1
(
i
)
,
⋯
,
θ
k
(
i
)
]
,
θ
j
(
i
)
=
Q
i
T
(
x
i
j
−
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=QiTXi(I−k1eeT)=[θ1(i),⋯,θk(i)],θj(i)=QiT(xij−xi)
意思就是在 x i x_i xi的包含自身的 k k k个近邻组成的 X i X_i Xi范围内做了个PCA,只是不降维,维度仍为 m m m,做完PCA后的 X i X_i Xi为 Θ i \Theta_i Θi,单个样本为 θ j ( i ) \theta_j^{(i)} θj(i).
然后有:
x
i
j
=
x
‾
i
+
Q
i
θ
j
(
i
)
+
ξ
j
(
i
)
ξ
j
(
i
)
=
x
i
j
−
x
‾
i
−
Q
i
Q
i
T
(
x
i
j
−
x
‾
i
)
=
(
I
−
Q
i
Q
i
T
)
(
x
i
j
−
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−QiQiT(xij−xi)=(I−QiQiT)(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希望
τ
i
j
\tau_{ij}
τij满足如下形式:
τ
i
j
=
τ
‾
i
+
L
i
θ
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是
k
k
k个
τ
i
j
\tau_{ij}
τij的均值,
L
i
L_i
Li是未知的仿射变换,起到一个排列的作用。上式的矩阵形式表示为:
T
i
=
1
k
T
i
e
e
T
+
L
i
Θ
i
+
E
i
T_i=\frac{1}{k}T_iee^T+L_i\Theta_i+E_i
Ti=k1TieeT+LiΘi+Ei
T
i
=
[
τ
i
1
,
⋯
,
τ
i
k
]
,
E
i
=
[
ϵ
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)]。重构残差
E
i
E_i
Ei为:
E
i
=
T
i
(
I
−
1
k
e
e
T
)
−
L
i
Θ
i
E_i=T_i(I-\frac{1}{k}ee^T)-L_i\Theta_i
Ei=Ti(I−k1eeT)−LiΘi
为了在低维空间中保护尽可能多的局部几何结构,LTSA希望降维后得到的样本表示
τ
i
\tau_i
τi以及局部仿射变换
L
i
L_i
Li,可以最小化重构残差
ϵ
j
(
i
)
\epsilon_j^{(i)}
ϵj(i):
∑
i
∥
E
i
∥
2
≡
∑
i
∥
T
i
(
I
−
1
k
e
e
T
)
−
L
i
Θ
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−k1eeT)−LiΘi∥2=min(1)
显然,能够最小化误差
∥
E
i
∥
F
\|E_i\|_F
∥Ei∥F的排列矩阵
L
i
L_i
Li的最优解应为:
L
i
=
T
i
(
I
−
1
k
e
e
T
)
=
T
i
Θ
i
+
,
a
n
d
E
i
=
T
i
(
I
−
1
k
e
e
T
)
(
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−k1eeT)=TiΘi+,and Ei=Ti(I−k1eeT)(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],令
S
i
S_i
Si为满足
T
S
i
=
T
i
TS_i=T_i
TSi=Ti的0-1选择矩阵(比方说要筛选第1,3个样本,
S
i
S_i
Si的第1行的第1个数就为1,第2列的第3个数就为1,其余位置全为0),注意前面定义了
T
i
=
[
τ
i
1
,
⋯
,
τ
i
k
]
,
E
i
=
[
ϵ
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)]. 现在需要寻找
T
T
T使得总体所有样本的重构误差最小化:
min
T
∥
E
i
∥
F
2
=
min
T
∥
T
S
W
∥
F
2
\min_T \|E_i \|_F^2=\min_T \|TSW \|_F^2
Tmin∥Ei∥F2=Tmin∥TSW∥F2
其中
S
=
[
S
1
,
⋯
,
S
N
]
S=[S_1,\cdots,S_N]
S=[S1,⋯,SN],
W
=
d
i
a
g
(
W
1
,
⋯
,
W
N
)
W=diag(W_1,\cdots,W_N)
W=diag(W1,⋯,WN)且:
W
i
=
(
I
−
1
k
e
e
T
)
(
I
−
Θ
i
+
Θ
i
)
W_i=(I-\frac{1}{k}ee^T)(I-\Theta_i^+\Theta_i)
Wi=(I−k1eeT)(I−Θi+Θi)
为了使得 T T T有唯一解,LTSA限制 T T T = I d TT^T=I_d TTT=Id, I d I_d Id是 d d d维的单位矩阵。
求解
现在基本搞明白了,给定 X X X,LTSA先给每个样本找欧氏距离度量下的 k k k个近邻(包含自身),为每个样本 x i x_i xi构成一个包含自身的近邻区域 X i X_i Xi,然后在 X i X_i Xi这个区域内做PCA但却不降维,然后 X i X_i Xi通过PCA变成了 Θ i \Theta_i Θi,其中的 x i j x_{ij} xij变成了 θ j ( i ) \theta_j^{(i)} θj(i)。然后又认为降维的结果 T i T_i Ti与 X i X_i Xi之间有线性关系,希望二者之间的误差最小,仿射关系 L i L_i Li被 T i T_i Ti表示了,残差 E i E_i Ei也用 T i T_i Ti表示了,所以变成了一个非线性的方法。局部PCA就是所谓的局部切空间,后面这个非线性降维就是所谓的排列,最终变成如下形式的问题:
min T ∥ T S W ∥ F 2 s . t . T T T = I \min_T \|TSW \|_F^2 \\ s.t. TT^T=I Tmin∥TSW∥F2s.t.TTT=I
求解思路也很清晰,F范数的平方化为向量二范数的平方之和即可。这里重新定义
T
i
T_i
Ti为
T
T
T的第
i
i
i行,与上一部分有所不同,则:
∥
T
S
W
∥
F
2
=
∑
i
=
1
d
∥
T
i
S
W
∥
2
2
=
∑
i
=
1
d
(
T
i
S
W
)
(
T
i
S
W
)
T
=
∑
i
=
1
d
T
i
(
S
W
W
T
S
)
T
i
T
=
t
r
(
T
S
W
W
T
S
T
T
T
)
s
.
t
.
T
T
T
=
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∥TiSW∥22=i=1∑d(TiSW)(TiSW)T=i=1∑dTi(SWWTS)TiT=tr(TSWWTSTTT)s.t. TTT=I
然后用经典的Lagrangian乘子法:
L
(
T
,
λ
)
=
t
r
(
T
S
W
W
T
S
T
T
T
)
+
t
r
(
λ
(
I
−
T
T
T
)
)
L(T,\lambda)=tr(TSWW^TS^TT^T)+tr(\lambda(I-TT^T))
L(T,λ)=tr(TSWWTSTTT)+tr(λ(I−TTT))
如同之前几篇博客,这里的
λ
\lambda
λ为对角矩阵。然后求导并令导数为0:
∂
∂
X
L
(
T
,
λ
)
=
2
T
(
S
W
W
T
S
T
)
−
2
λ
T
=
0
T
(
S
W
W
T
S
T
)
=
λ
T
(
S
W
W
T
S
T
)
T
T
=
T
T
λ
∂
∂
λ
L
(
T
,
λ
)
=
I
−
T
T
T
=
0
T
T
T
=
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
然后
(
S
W
W
T
S
T
)
T
T
=
T
T
λ
(SWW^TS^T)T^T=T^T\lambda
(SWWTST)TT=TTλ就是告诉我们,
T
T
T^T
TT的每一列,即
T
T
T的每一行
T
i
T_i
Ti都是
S
W
W
T
S
T
SWW^TS^T
SWWTST的特征向量,对应的特征值分布在
λ
\lambda
λ的对角线的对应位置上。因为是个必要条件,再代回去:
t
r
(
T
S
W
W
T
S
T
T
T
)
=
t
r
(
T
T
T
λ
)
=
t
r
(
λ
)
tr(TSWW^TS^TT^T)=tr(TT^T\lambda)=tr(\lambda)
tr(TSWWTSTTT)=tr(TTTλ)=tr(λ)
这告诉我们,原始最小化就等价于 t r ( λ ) tr(\lambda) tr(λ)最小化,因此要选 S W W T S T SWW^TS^T SWWTST最小的前 d d d个特征值对应的特征向量来构成 T T T.
这里还有一个问题,就是全1列向量
e
e
e也是
S
W
W
T
S
T
SWW^TS^T
SWWTST的特征向量。首先
S
S
S的每一列只有一个数字是1,其余都为0,因此
S
T
e
=
e
S^Te=e
STe=e.
S
W
W
T
S
T
e
=
S
W
W
T
e
SWW^TS^Te = SWW^Te
SWWTSTe=SWWTe
然后根据前面定义的:
W
=
d
i
a
g
(
W
1
,
⋯
,
W
N
)
,
W
i
=
(
I
−
1
k
e
e
T
)
(
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−k1eeT)(I−Θi+Θi):
W
i
T
e
=
(
I
−
Θ
i
+
Θ
)
T
(
I
−
1
k
e
e
T
)
e
=
(
I
−
Θ
i
+
Θ
)
T
(
e
−
1
k
e
k
)
=
0
W^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
WiTe=(I−Θi+Θ)T(I−k1eeT)e=(I−Θi+Θ)T(e−k1ek)=0
因此
S
W
W
T
S
T
e
=
S
W
W
T
e
=
0
⋅
e
SWW^TS^Te=SWW^Te =0\cdot e
SWWTSTe=SWWTe=0⋅e
即无论对什么样的 X X X, S W W T S T SWW^TS^T SWWTST都有一个特征值为0,对应的特征向量为 e e e,这显然不是我们想要的,因此要选 S W W T S T SWW^TS^T SWWTST前 d d d小的非0特征值对应的特征向量构成 T T T。
到这里其实LTSA的定义和求解就结束了,但是论文还没有结束,还讨论了很多误差分析之类的东西,我目前并不感兴趣,也就不看了写了。
关于其他
根据前面讨论非线性情况时候得到的结论:
f
(
τ
‾
)
=
f
(
τ
)
+
J
f
(
τ
)
⋅
(
τ
‾
−
τ
)
+
O
(
∥
τ
‾
−
τ
∥
2
)
f
(
τ
‾
)
−
f
(
τ
)
=
J
f
(
τ
)
⋅
(
τ
‾
−
τ
)
+
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)
可知,如果去掉二阶项,则有:
X
i
(
I
−
e
e
T
/
k
)
≈
J
f
i
T
i
(
I
−
e
e
T
/
k
)
X_i(I-ee^T/k) \approx J_f^iT_i(I-ee^T/k)
Xi(I−eeT/k)≈JfiTi(I−eeT/k)
0-1选择矩阵
S
i
,
S
S_i,S
Si,S的定义和前面一样,我们希望寻找合适的
J
f
i
J_f^i
Jfi使得二者更接近:
min
J
,
T
∑
i
=
1
N
∥
(
X
−
J
f
(
i
)
)
S
i
(
I
−
e
e
T
/
k
)
∥
F
2
=
min
J
,
T
E
(
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,Tmini=1∑N∥(X−Jf(i))Si(I−eeT/k)∥F2=J,TminE(J,T)
其中 J = [ J f ( 1 ) , ⋯ , J f ( N ) ] J=[J_f^{(1)},\cdots,J_f^{(N)}] J=[Jf(1),⋯,Jf(N)]. 这个问题可以用交替最小二乘法来解:固定 J J J,通过调节 T T T使得 E E E最小;然后固定 T T T,通过调节 J J J使 E E E最小。 T T T的初值可以取LTSA解出来的 T T T。这是另一篇文章的内容。
另一方面,公式 ( 1 ) (1) (1)约束 Y Y T YY^T YYT是为了让该问题“well-posed”,“适定”。因为如果取 T i , L i T_i,L_i Ti,Li都为0也有更小的解,但是这不是我们想要的。而且 Y Y T YY^T YYT这个约束是众多可以避免这个问题的约束之一。