已知:
- 有 m m 个点组成的集合
- n>l n > l
目标:
寻找一个编码函数
和一个解码函数
使得目标函数:
最小。
PCA 约束:
其中 D=(d1,⋯,dl) D = ( d 1 , ⋯ , d l ) 是 n×l n × l 维矩阵,且
分析
本质上是要求解两个问题:
1.
∀D
∀
D
,求函数
f
f
使得目标函数最小。即 若存在一个
c*∈ℝl,
c
*
∈
R
l
,
使得
‖x−g(c*)‖
‖
x
−
g
(
c
*
)
‖
最小,则
f(x)=c*
f
(
x
)
=
c
*
。因此
2. 矩阵 D* D * 使得目标函数最小 。
命题 1
∀x∈S,∀D,f(x)=D⊺x ∀ x ∈ S , ∀ D , f ( x ) = D ⊺ x
证明
∀x∈S,∀c∈ℝl,
∀
x
∈
S
,
∀
c
∈
R
l
,
‖x−g(c)‖2
‖
x
−
g
(
c
)
‖
2
=[x−g(c)]⊺[x−g(c)]
=
[
x
−
g
(
c
)
]
⊺
[
x
−
g
(
c
)
]
=[x⊺−g(c)⊺][x−g(c)]
=
[
x
⊺
−
g
(
c
)
⊺
]
[
x
−
g
(
c
)
]
=x⊺x−g(c)⊺x−x⊺g(c)+g(c)⊺g(c)
=
x
⊺
x
−
g
(
c
)
⊺
x
−
x
⊺
g
(
c
)
+
g
(
c
)
⊺
g
(
c
)
由于
x⊺g(c)∈ℝ,
x
⊺
g
(
c
)
∈
R
,
因此
g(c)⊺x=x⊺g(c),
g
(
c
)
⊺
x
=
x
⊺
g
(
c
)
,
因此
上式
=x⊺x−2x⊺g(c)+g(c)⊺g(c)
=
x
⊺
x
−
2
x
⊺
g
(
c
)
+
g
(
c
)
⊺
g
(
c
)
由于第一项
x⊺x
x
⊺
x
不依赖于
c
c
,且由 (4),
f(x)=argminc−2x⊺g(c)+g(c)⊺g(c)
f
(
x
)
=
argmin
c
−
2
x
⊺
g
(
c
)
+
g
(
c
)
⊺
g
(
c
)
将 (2) 代入,得
f(x)=argminc−2x⊺Dc+(Dc)⊺(Dc)
f
(
x
)
=
argmin
c
−
2
x
⊺
D
c
+
(
D
c
)
⊺
(
D
c
)
=argminc−2x⊺Dc+c⊺D⊺Dc
=
argmin
c
−
2
x
⊺
D
c
+
c
⊺
D
⊺
D
c
将 (3)代入,得
f(x)=argminc−2x⊺Dc+c⊺Ilc
f
(
x
)
=
argmin
c
−
2
x
⊺
D
c
+
c
⊺
I
l
c
=argminc−2x⊺Dc+c⊺c
=
argmin
c
−
2
x
⊺
D
c
+
c
⊺
c
令梯度为
0⃗
0
→
,则
∇c(−2x⊺Dc+c⊺c)=−2D⊺x+2c=0⃗
∇
c
(
−
2
x
⊺
D
c
+
c
⊺
c
)
=
−
2
D
⊺
x
+
2
c
=
0
→
则
c=D⊺x
c
=
D
⊺
x
于是
f(x)=D⊺x
f
(
x
)
=
D
⊺
x
命题 2
∀x∈S,∀D,g(f(x))=DD⊺x ∀ x ∈ S , ∀ D , g ( f ( x ) ) = D D ⊺ x
命题 3
令
X=(x(1),⋯,x(m))⊺,
X
=
(
x
(
1
)
,
⋯
,
x
(
m
)
)
⊺
,
则
D*=argmaxDTr(D⊺X⊺XD)
D
*
=
argmax
D
Tr
(
D
⊺
X
⊺
X
D
)
证明
∀x∈S,∀D,
∀
x
∈
S
,
∀
D
,
‖x−g(f(x))‖2
‖
x
−
g
(
f
(
x
)
)
‖
2
=‖x−DD⊺x‖2
=
‖
x
−
D
D
⊺
x
‖
2
=‖(In−DD⊺)x‖2
=
‖
(
I
n
−
D
D
⊺
)
x
‖
2
=[(In−DD⊺)x]⊺[(In−DD⊺)x]
=
[
(
I
n
−
D
D
⊺
)
x
]
⊺
[
(
I
n
−
D
D
⊺
)
x
]
=x⊺(In−DD⊺)⊺(In−DD⊺)x
=
x
⊺
(
I
n
−
D
D
⊺
)
⊺
(
I
n
−
D
D
⊺
)
x
=x⊺(In−DD⊺)(In−DD⊺)x
=
x
⊺
(
I
n
−
D
D
⊺
)
(
I
n
−
D
D
⊺
)
x
=x⊺(In−2DD⊺+DD⊺DD⊺)x
=
x
⊺
(
I
n
−
2
D
D
⊺
+
D
D
⊺
D
D
⊺
)
x
=x⊺(In−2DD⊺+DD⊺)x
=
x
⊺
(
I
n
−
2
D
D
⊺
+
D
D
⊺
)
x
=x⊺(In−DD⊺)x
=
x
⊺
(
I
n
−
D
D
⊺
)
x
=x⊺x−x⊺DD⊺x
=
x
⊺
x
−
x
⊺
D
D
⊺
x
因此目标函数
∑mi=1‖‖x(i)−g(f(x(i)))‖‖2
∑
i
=
1
m
‖
x
(
i
)
−
g
(
f
(
x
(
i
)
)
)
‖
2
=∑mi=1[(x(i))⊺x(i)−(x(i))⊺DD⊺x(i)]
=
∑
i
=
1
m
[
(
x
(
i
)
)
⊺
x
(
i
)
−
(
x
(
i
)
)
⊺
D
D
⊺
x
(
i
)
]
=∑mi=1(x(i))⊺x(i)−∑mi=1(x(i))⊺DD⊺x(i)
=
∑
i
=
1
m
(
x
(
i
)
)
⊺
x
(
i
)
−
∑
i
=
1
m
(
x
(
i
)
)
⊺
D
D
⊺
x
(
i
)
由于第一项
∑mi=1(x(i))⊺x(i)
∑
i
=
1
m
(
x
(
i
)
)
⊺
x
(
i
)
不依赖于
D
D
,因此
D*=argmaxD∑mi=1(x(i))⊺DD⊺x(i)
D
*
=
argmax
D
∑
i
=
1
m
(
x
(
i
)
)
⊺
D
D
⊺
x
(
i
)
由于
∑mi=1(x(i))⊺DD⊺x(i)
∑
i
=
1
m
(
x
(
i
)
)
⊺
D
D
⊺
x
(
i
)
=Tr(XDD⊺X⊺)
=
Tr
(
X
D
D
⊺
X
⊺
)
=Tr(X⊺XDD⊺)
=
Tr
(
X
⊺
X
D
D
⊺
)
=Tr(D⊺X⊺XD)
=
Tr
(
D
⊺
X
⊺
X
D
)
因此
D*=argmaxDTr(D⊺X⊺XD)
D
*
=
argmax
D
Tr
(
D
⊺
X
⊺
X
D
)
命题 4
设半正定矩阵
X⊺X
X
⊺
X
的前
l
l
个最大的特征向量(从大到小排列)为 ,则
1.
Tr(D⊺X⊺XD)≤∑li=1λi
Tr
(
D
⊺
X
⊺
X
D
)
≤
∑
i
=
1
l
λ
i
2.
di
d
i
为属于
λi
λ
i
的特征向量时等号成立。
证明
由于
X⊺X
X
⊺
X
是半正定的实对称矩阵,因此存在对角线矩阵
Λ=⎛⎝⎜⎜⎜λ1,⋱λn⎞⎠⎟⎟⎟,
Λ
=
(
λ
1
,
⋱
λ
n
)
,
其中
{λi}
{
λ
i
}
单调不增,即
λi≥λj,1≤i≤j≤n
λ
i
≥
λ
j
,
1
≤
i
≤
j
≤
n
。
存在正交矩阵
Pn×n
P
n
×
n
, 使得
X⊺X=PΛP⊺
X
⊺
X
=
P
Λ
P
⊺
于是
D⊺X⊺XD=D⊺PΛP⊺D=Q⊺ΛQ
D
⊺
X
⊺
X
D
=
D
⊺
P
Λ
P
⊺
D
=
Q
⊺
Λ
Q
其中
Q=(qij)n×l=P⊺D
Q
=
(
q
i
j
)
n
×
l
=
P
⊺
D
于是
Q⊺Q=(P⊺D)⊺P⊺D=D⊺PP⊺D=Il
Q
⊺
Q
=
(
P
⊺
D
)
⊺
P
⊺
D
=
D
⊺
P
P
⊺
D
=
I
l
且
Tr(D⊺X⊺XD)=Tr(Q⊺ΛQ)
Tr
(
D
⊺
X
⊺
X
D
)
=
Tr
(
Q
⊺
Λ
Q
)
=∑ni=1∑lj=1λiqij2
=
∑
i
=
1
n
∑
j
=
1
l
λ
i
q
i
j
2
=∑ni=1λi(∑lj=1qij2)
=
∑
i
=
1
n
λ
i
(
∑
j
=
1
l
q
i
j
2
)
由于
Q⊺Q=Il
Q
⊺
Q
=
I
l
,因此
∑ni=1qij2=1,1≤j≤n
∑
i
=
1
n
q
i
j
2
=
1
,
1
≤
j
≤
n
因此
∑ni=1(∑lj=1qij2)=∑lj=1∑ni=1λiqij2=l
∑
i
=
1
n
(
∑
j
=
1
l
q
i
j
2
)
=
∑
j
=
1
l
∑
i
=
1
n
λ
i
q
i
j
2
=
l
由于
Q
Q
的
l
l
个列向量可以扩展成 组
n
n
维的标准正交基,因此 的行向量长度小于等于
1
1
,即
又由于
{λi}
{
λ
i
}
单调不增,
因此
∑ni=1λi(∑lj=1qij2)≤∑li=1λi
∑
i
=
1
n
λ
i
(
∑
j
=
1
l
q
i
j
2
)
≤
∑
i
=
1
l
λ
i
因此
Tr(D⊺X⊺XD)≤∑li=1λi
Tr
(
D
⊺
X
⊺
X
D
)
≤
∑
i
=
1
l
λ
i
特别的,当
qij=δij
q
i
j
=
δ
i
j
,即
Q=(Il0)
Q
=
(
I
l
0
)
时,
∑ni=1λi(∑lj=1qij2)=∑li=1λi
∑
i
=
1
n
λ
i
(
∑
j
=
1
l
q
i
j
2
)
=
∑
i
=
1
l
λ
i
此时
D=PQ=(p1,⋯,pl)
D
=
P
Q
=
(
p
1
,
⋯
,
p
l
)
即为
P
P
的前
l
l
列组成的矩阵,即 为属于
λi
λ
i
的特征向量。
定义
添加约束:
令 Y=(y1,⋯,yl)=XD=⎛⎝⎜⎜⎜f(x(1))⊺⋮f(x(m))⊺⎞⎠⎟⎟⎟, Y = ( y 1 , ⋯ , y l ) = X D = ( f ( x ( 1 ) ) ⊺ ⋮ f ( x ( m ) ) ⊺ ) ,
称 yi y i 为 Y Y 的第 i i 个主成分。
称:
Percentage of total variation retained =
命题 5
D*=argmaxDVarY D * = argmax D Var Y
证明
VarY=Tr(Y⊺Y)=Tr(D⊺X⊺XD)
Var
Y
=
Tr
(
Y
⊺
Y
)
=
Tr
(
D
⊺
X
⊺
X
D
)
因此
argmaxDVarY=argmaxDTr(D⊺X⊺XD)
argmax
D
Var
Y
=
argmax
D
Tr
(
D
⊺
X
⊺
X
D
)
由命题3,
D*=argmaxDVarY
D
*
=
argmax
D
Var
Y
命题 6
VarYVarX≤∑i=1lλi∑i=1nλi Var Y Var X ≤ ∑ i = 1 l λ i ∑ i = 1 n λ i
命题 7
当 di d i 为属于 λi λ i 的特征向量时, yi⊺yj=λjδij y i ⊺ y j = λ j δ i j
证明
yi=Xdi,1≤i≤l
y
i
=
X
d
i
,
1
≤
i
≤
l
于是
yi⊺yj=(Xdi)⊺Xdj=di⊺X⊺Xdj
y
i
⊺
y
j
=
(
X
d
i
)
⊺
X
d
j
=
d
i
⊺
X
⊺
X
d
j
当
di
d
i
为属于
λi
λ
i
的特征向量时,
di⊺X⊺Xdj=λjdi⊺dj=λjδij
d
i
⊺
X
⊺
X
d
j
=
λ
j
d
i
⊺
d
j
=
λ
j
δ
i
j
因此
yi⊺yj=λjδij
y
i
⊺
y
j
=
λ
j
δ
i
j