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