优化目标
接上篇PCA继续写降维。LE也是一种经典的降维方法和流形学习方法。给定样本集
X
∈
R
D
×
n
X\in \mathbb{R}^{D\times n}
X∈RD×n,
D
D
D是样本原始维度,
n
n
n是样本数量,每一列表示一个样本;求解目标是
Y
∈
R
d
×
n
Y\in \mathbb{R}^{d\times n}
Y∈Rd×n,
d
d
d为目标维度,每一列表示一个样本。
与PCA不同的是,LE是一种非线性的方法,它是直接将
Y
Y
Y求出来,不需要计算投影矩阵。LE首先度量
X
X
X中每两个样本之间的距离权重,组成一个权重矩阵
W
W
W,其第
i
,
j
(
i
≠
j
)
i,j(i\neq j)
i,j(i=j)个元素
W
i
j
W_{ij}
Wij定义为:
W
i
j
=
{
e
x
p
(
−
∥
x
i
−
x
j
∥
2
2
t
)
i
f
∥
x
i
−
x
j
∥
2
2
<
ε
0
e
l
s
e
W_{ij}=\left\{ \begin{array}{ccl} exp(-\frac{\|x_i-x_j\|_2^2}{t}) & & {if\ \|x_i-x_j\|_2^2 < \varepsilon }\\ 0 & & {else} \end{array} \right.
Wij={exp(−t∥xi−xj∥22)0if ∥xi−xj∥22<εelse
若
i
=
j
i=j
i=j,
W
i
j
W_{ij}
Wij直接置
0
0
0。其中
x
i
,
x
j
x_i,x_j
xi,xj分别表示
X
X
X的第
i
,
j
i,j
i,j个样本,
t
,
ε
t,\varepsilon
t,ε是可调节的参数。可以看出在这种定义中,如果两样本的距离(二范数度量)小于阈值
ε
\varepsilon
ε则赋予一连接权重,并且距离越远权重越小,距离越近权重越大。通过权重矩阵
W
W
W,LE记录了
X
X
X中任意两样本之间的连接关系。
LE希望降完维后各样本仍保持这种邻近关系,原本距离远的点仍然距离较远,原本距离近的点仍然距离较近,因此用已经计算出的
W
i
j
W_{ij}
Wij仍作为
Y
Y
Y中样本之间的连接权重,并最小化连接的加权和:
min
Y
1
2
∑
i
,
j
=
1
n
W
i
j
∥
y
i
−
y
j
∥
2
2
\min_Y \frac{1}{2} \sum_{i,j=1}^n W_{ij}\|y_i-y_j\|_2^2
Ymin21i,j=1∑nWij∥yi−yj∥22
约束条件后面再谈。
显然
y
i
,
y
j
y_i,y_j
yi,yj分别是样本
x
i
,
x
j
x_i,x_j
xi,xj降完维后的结果,是
Y
Y
Y的第
i
,
j
i,j
i,j列。这就是LE的优化目标。
Lagrangian乘子法求解
下面做推导:
1
2
∑
i
,
j
=
1
n
W
i
j
∥
y
i
−
y
j
∥
2
2
=
1
2
∑
i
,
j
=
1
n
W
i
j
(
y
i
−
y
j
)
T
(
y
i
−
y
j
)
=
1
2
∑
i
,
j
=
1
n
W
i
j
(
y
i
T
y
i
+
y
j
T
y
j
−
2
y
i
T
y
j
)
=
1
2
∑
i
,
j
=
1
n
W
i
j
(
y
i
T
y
i
+
y
j
T
y
j
)
−
∑
i
=
1
n
∑
j
=
1
n
W
i
j
y
i
T
y
j
=
∑
i
=
1
n
D
i
i
y
i
T
y
i
−
∑
i
=
1
n
y
i
T
∑
j
=
1
n
W
i
j
y
j
=
∑
i
=
1
n
D
i
i
y
i
T
y
i
−
∑
i
=
1
n
y
i
T
(
Y
W
)
i
=
t
r
(
Y
D
Y
T
)
−
t
r
(
Y
W
Y
T
)
=
t
r
[
Y
(
D
−
W
)
Y
T
]
=
t
r
(
Y
L
Y
T
)
s
.
t
.
Y
D
Y
T
=
I
\frac{1}{2} \sum_{i,j=1}^n W_{ij}\|y_i-y_j\|_2^2 \\ =\frac{1}{2} \sum_{i,j=1}^n W_{ij}(y_i-y_j)^T(y_i-y_j) \\ =\frac{1}{2} \sum_{i,j=1}^n W_{ij}(y_i^Ty_i+y_j^Ty_j-2y_i^Ty_j) \\ =\frac{1}{2} \sum_{i,j=1}^n W_{ij}(y_i^Ty_i+y_j^Ty_j)-\sum_{i=1}^n \sum_{j=1}^n W_{ij}y_i^Ty_j \\ =\sum_{i=1}^nD_{ii}y_i^Ty_i-\sum_{i=1}^n y_i^T \sum_{j=1}^n W_{ij}y_j \\ =\sum_{i=1}^n D_{ii}y_i^Ty_i -\sum_{i=1}^n y_i^T(YW)_i \\ =tr(YDY^T)-tr(YWY^T) \\ =tr[Y(D-W)Y^T]=tr(YLY^T) \\ s.t.\ YDY^T=I
21i,j=1∑nWij∥yi−yj∥22=21i,j=1∑nWij(yi−yj)T(yi−yj)=21i,j=1∑nWij(yiTyi+yjTyj−2yiTyj)=21i,j=1∑nWij(yiTyi+yjTyj)−i=1∑nj=1∑nWijyiTyj=i=1∑nDiiyiTyi−i=1∑nyiTj=1∑nWijyj=i=1∑nDiiyiTyi−i=1∑nyiT(YW)i=tr(YDYT)−tr(YWYT)=tr[Y(D−W)YT]=tr(YLYT)s.t. YDYT=I
其中
D
D
D是度矩阵,是一个对角矩阵,
L
=
D
−
W
L=D-W
L=D−W是拉普拉斯矩阵,
D
i
i
D_{ii}
Dii的值为:
D
i
i
=
∑
j
=
1
n
W
i
j
D_{ii}=\sum_{j=1}^nW_{ij}
Dii=j=1∑nWij
使用Lagrangian乘子法:
L
(
Y
,
λ
)
=
t
r
(
Y
L
Y
T
)
+
t
r
[
λ
(
I
−
Y
D
Y
T
)
]
L(Y,\lambda)=tr(YLY^T)+ tr[\lambda(I-YDY^T)]
L(Y,λ)=tr(YLYT)+tr[λ(I−YDYT)]
λ
\lambda
λ是个对角矩阵。令偏导为0:
∂
∂
Y
L
(
Y
,
λ
)
=
2
Y
L
−
2
λ
Y
D
=
0
(
L
T
=
L
,
D
T
=
D
)
L
Y
T
=
D
Y
T
λ
∂
∂
λ
L
(
Y
,
λ
)
=
I
−
Y
D
Y
T
=
0
Y
D
Y
T
=
I
\frac{\partial}{\partial Y}L(Y,\lambda)=2YL-2\lambda YD=0\ (L^T=L,D^T=D)\\ LY^T=DY^T\lambda \\ \frac{\partial}{\partial \lambda}L(Y, \lambda)= I-YDY^T=0 \\ YDY^T=I \\
∂Y∂L(Y,λ)=2YL−2λYD=0 (LT=L,DT=D)LYT=DYTλ∂λ∂L(Y,λ)=I−YDYT=0YDYT=I
从 L Y T = D Y T λ LY^T=DY^T\lambda LYT=DYTλ可知, Y T Y^T YT的每一列,即 Y Y Y的每一行,都是 L L L相对于 D D D的广义特征向量(或称为 D − 1 L D^{-1}L D−1L的特征向量),对应的 λ \lambda λ的对角元是对应的特征值。
将
L
Y
T
=
D
Y
T
λ
LY^T=DY^T\lambda
LYT=DYTλ代回原式:
t
r
(
Y
L
Y
T
)
=
t
r
(
Y
D
Y
T
λ
=
t
r
(
λ
)
)
tr(YLY^T)=tr(YDY^T\lambda=tr(\lambda))
tr(YLYT)=tr(YDYTλ=tr(λ))
因此就能知道为了让 t r ( Y L Y T ) tr(YLY^T) tr(YLYT)最小,等价于让 t r ( λ ) tr(\lambda) tr(λ)最小,即要选择最小的 d d d个特征值对应的特征向量组成 Y Y Y。
这里还有一个问题,由于
L
=
D
−
W
L=D-W
L=D−W,而
W
,
L
W,L
W,L都是对称矩阵,
L
i
i
L_{ii}
Lii恰好就是
W
W
W的第
i
i
i行元素(或第
i
i
i列元素)之和,因此
L
i
i
L_{ii}
Lii就等于
L
L
L第
i
i
i行其他元素之和。若有向量
e
=
[
1
,
⋯
,
1
]
T
∈
R
D
e=[1,\cdots,1]^T\in \mathbb{R}^{D}
e=[1,⋯,1]T∈RD,则一定有:
L
e
=
0
⋅
e
Le=0\cdot e
Le=0⋅e
这告诉我们 0 0 0一定是 D − 1 L D^{-1}L D−1L的一个特征值,对应的特征向量是 e e e,无论 X , W X,W X,W是怎样的。这显然不是我们想要的,因此作为最终解,会选取 D − 1 L D^{-1}L D−1L最小的 d d d个非0特征值对应的特征向量组成 Y Y Y。
解法2
如果你和我曾经一样认为Lagrangian乘子法中直接设 λ \lambda λ为对角矩阵不符合Lagrangian乘子法的思想,这里再给另一种解法,这种解法类似于我在PCA这篇文章中给出的 d > 1 d>1 d>1时的解1.
从这里开始:
t
r
(
Y
L
Y
T
)
s
.
t
.
Y
D
Y
T
=
I
tr(YLY^T) \\ s.t.\ YDY^T=I
tr(YLYT)s.t. YDYT=I
假设
Y
∈
R
d
×
n
Y\in \mathbb{R}^{d\times n}
Y∈Rd×n的第
i
i
i行为
Y
i
Y^i
Yi,则上式可以另写为如下形式:
∑
i
=
1
d
Y
i
L
(
Y
i
)
T
s
.
t
.
Y
i
D
(
Y
i
)
T
=
1
,
Y
i
D
(
Y
j
)
T
=
0
\sum_{i=1}^d Y^iL(Y^i)^T \\ s.t.\ Y^iD(Y^i)^T=1,Y^iD(Y^j)^T=0
i=1∑dYiL(Yi)Ts.t. YiD(Yi)T=1,YiD(Yj)T=0
列Lagrangian乘子法:
L
(
Y
,
λ
,
ρ
)
=
∑
i
=
1
d
Y
i
L
(
Y
i
)
T
+
∑
i
=
1
d
λ
i
[
1
−
Y
i
D
(
Y
i
)
T
]
−
∑
j
≠
i
d
ρ
j
Y
i
D
(
Y
j
)
T
L(Y,\lambda,\rho)=\sum_{i=1}^d Y^iL(Y^i)^T+\sum_{i=1}^d \lambda_i[1-Y^iD(Y^i)^T]-\sum_{j\neq i}^d \rho_j Y^iD(Y^j)^T
L(Y,λ,ρ)=i=1∑dYiL(Yi)T+i=1∑dλi[1−YiD(Yi)T]−j=i∑dρjYiD(Yj)T
对
Y
i
Y^i
Yi求导并令结果为
0
0
0:
∂
∂
Y
i
L
(
Y
,
λ
,
ρ
)
=
2
L
(
Y
i
)
T
−
2
λ
i
D
(
Y
i
)
T
−
ρ
j
D
(
Y
j
)
T
=
0
\frac{\partial}{\partial Y^i}L(Y,\lambda,\rho)=2L(Y^i)^T-2\lambda_i D(Y^i)^T-\rho_jD(Y^j)^T=0
∂Yi∂L(Y,λ,ρ)=2L(Yi)T−2λiD(Yi)T−ρjD(Yj)T=0
因为对
λ
i
,
ρ
i
\lambda_i,\rho_i
λi,ρi求导的结果根本就是等式约束,所以这里不赘述。对上式左右同乘
Y
i
Y^i
Yi:
2
Y
i
L
(
Y
i
)
T
=
2
Y
i
λ
i
D
(
Y
i
)
T
+
ρ
j
Y
i
D
(
Y
j
)
T
Y
i
L
(
Y
i
)
T
=
Y
i
λ
i
D
(
Y
i
)
T
L
(
Y
i
)
T
=
λ
i
D
(
Y
i
)
T
2Y^iL(Y^i)^T=2Y^i\lambda_iD(Y^i)^T+\rho_jY^iD(Y^j)^T \\ Y^iL(Y^i)^T=Y^i\lambda_iD(Y^i)^T \\ L(Y^i)^T=\lambda_iD(Y^i)^T
2YiL(Yi)T=2YiλiD(Yi)T+ρjYiD(Yj)TYiL(Yi)T=YiλiD(Yi)TL(Yi)T=λiD(Yi)T
跟前面得到的结果完全一样。我这也算是证明了这两种解法等价呢,嘿嘿。这里面一个关键点在于,我们确信 Y i Y^i Yi不可能是全0向量,因为那样毫无意义。
总结
推导上比较难想到的一点还是 ∑ i = 1 n ∑ j = 1 n W i j y i T y j = t r ( Y W Y T ) \sum_{i=1}^n \sum_{j=1}^n W_{ij}y_i^Ty_j=tr(YWY^T) ∑i=1n∑j=1nWijyiTyj=tr(YWYT)。这个推导告诉我们这样的式子是可以写成简洁形式的。