主成分分析(Principal Components Analysis)的数学原理

已知:

  1. m 个点组成的集合 S = { x ( 1 ) , , x ( m ) } R n
  2. n > l

目标:

寻找一个编码函数

f : R n R l

和一个解码函数
g : R l R n

使得目标函数:

(1) i = 1 m x ( i ) g ( f ( x ( i ) ) ) 2

最小。

PCA 约束:

(2) c R l , g ( c ) = D c

其中 D = ( d 1 , , d l ) n × l 维矩阵,且
(3) D D = I l

分析

本质上是要求解两个问题:
1. D ,求函数 f 使得目标函数最小。即 x S , D , 若存在一个 c * R l , 使得 x g ( c * ) 最小,则 f ( x ) = c * 。因此

(4) f ( x ) = argmin c x g ( c )

2. 矩阵 D * 使得目标函数最小 。

命题 1

x S , D , f ( x ) = D x

证明

x S , c R 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 ) R , 因此 g ( c ) x = x g ( c ) , 因此
上式 = x x 2 x g ( c ) + g ( c ) g ( c )
由于第一项 x x 不依赖于 c ,且由 (4),
f ( x ) = argmin c 2 x g ( c ) + g ( c ) g ( c )
将 (2) 代入,得
f ( x ) = argmin c 2 x D c + ( D c ) ( D c )
= argmin c 2 x D c + c D D c
将 (3)代入,得
f ( x ) = argmin c 2 x D c + c I l c
= argmin c 2 x D c + c c
令梯度为 0 ,则
c ( 2 x D c + c c ) = 2 D x + 2 c = 0
c = D x
于是 f ( x ) = D x

命题 2

x S , D , g ( f ( x ) ) = D D x

扫描二维码关注公众号,回复: 3741277 查看本文章

命题 3

X = ( x ( 1 ) , , x ( m ) ) ,
D * = argmax D Tr ( D X X D )

证明

x S , D ,
x g ( f ( x ) ) 2
= x D D x 2
= ( I n D D ) x 2
= [ ( I n D D ) x ] [ ( I n D D ) x ]
= x ( I n D D ) ( I n D D ) x
= x ( I n D D ) ( I n D D ) x
= x ( I n 2 D D + D D D D ) x
= x ( I n 2 D D + D D ) x
= x ( I n D D ) x
= x x x D D x
因此目标函数
i = 1 m x ( i ) g ( f ( x ( i ) ) ) 2
= i = 1 m [ ( x ( i ) ) x ( i ) ( x ( i ) ) D D x ( i ) ]
= i = 1 m ( x ( i ) ) x ( i ) i = 1 m ( x ( i ) ) D D x ( i )
由于第一项 i = 1 m ( x ( i ) ) x ( i ) 不依赖于 D ,因此
D * = argmax D i = 1 m ( x ( i ) ) D D x ( i )
由于
i = 1 m ( x ( i ) ) D D x ( i )
= Tr ( X D D X )
= Tr ( X X D D )
= Tr ( D X X D )
因此
D * = argmax D Tr ( D X X D )

命题 4

设半正定矩阵 X X 的前 l 个最大的特征向量(从大到小排列)为 λ 1 , , λ l ,则
1. Tr ( D X X D ) i = 1 l λ i
2. d i 为属于 λ i 的特征向量时等号成立。

证明

由于 X X 是半正定的实对称矩阵,因此存在对角线矩阵
Λ = ( λ 1 , λ n ) , 其中 { λ i } 单调不增,即 λ i λ j , 1 i j n
存在正交矩阵 P n × n , 使得
X X = P Λ P
于是
D X X D = D P Λ P D = Q Λ Q
其中 Q = ( q i j ) n × l = P D
于是 Q Q = ( P D ) P D = D P P D = I l
Tr ( D X X D ) = Tr ( Q Λ Q )
= i = 1 n j = 1 l λ i q i j 2
= i = 1 n λ i ( j = 1 l q i j 2 )
由于 Q Q = I l ,因此
i = 1 n q i j 2 = 1 , 1 j n
因此 i = 1 n ( j = 1 l q i j 2 ) = j = 1 l i = 1 n λ i q i j 2 = l
由于 Q l 个列向量可以扩展成 n n 维的标准正交基,因此 Q 的行向量长度小于等于 1 ,即 j = 1 l q i j 2 1 , 1 i n
又由于 { λ i } 单调不增,
因此 i = 1 n λ i ( j = 1 l q i j 2 ) i = 1 l λ i
因此 Tr ( D X X D ) i = 1 l λ i
特别的,当 q i j = δ i j ,即 Q = ( I l 0 ) 时,
i = 1 n λ i ( j = 1 l q i j 2 ) = i = 1 l λ i
此时 D = P Q = ( p 1 , , p l ) 即为 P 的前 l 列组成的矩阵,即 d i 为属于 λ i 的特征向量。

定义

添加约束:

(5) x R n , g ( x ) = D x

Y = ( y 1 , , y l ) = X D = ( f ( x ( 1 ) ) f ( x ( m ) ) ) ,
y i Y 的第 i 主成分
称:
Percentage of total variation retained = Var Y Var X

命题 5

D * = argmax D Var Y

证明

Var Y = Tr ( Y Y ) = Tr ( D X X D )
因此 argmax D Var Y = argmax D Tr ( D X X D )
由命题3, D * = argmax D Var Y

命题 6

Var Y Var X i = 1 l λ i i = 1 n λ i

命题 7

d i 为属于 λ i 的特征向量时, y i y j = λ j δ i j

证明

y i = X d i , 1 i l
于是 y i y j = ( X d i ) X d j = d i X X d j
d i 为属于 λ i 的特征向量时,
d i X X d j = λ j d i d j = λ j δ i j
因此 y i y j = λ j δ i j

猜你喜欢

转载自blog.csdn.net/jiongjiongai/article/details/82253005