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