基变换
若使用常用的二维直角坐标系(基为
(
1
;
0
)
(1; 0)
(1;0)和
(
0
;
1
)
(0; 1)
(0;1))来表示向量
(
3
;
2
)
(3; 2)
(3;2),可得到下图,
当以
(
1
2
;
1
2
)
(\frac{1}{\sqrt{2}}; \frac{1}{\sqrt{2}})
(21;21) 和
(
−
1
2
;
1
2
)
(-\frac{1}{\sqrt{2}}; \frac{1}{\sqrt{2}})
(−21;21)为基(一般基的模为1)时,上图转换如下,
那么原先的向量
(
3
;
2
)
(3; 2)
(3;2)在新坐标下表示为
(
5
2
;
−
1
2
)
(\frac{5}{\sqrt{2}};-\frac{1}{\sqrt{2}})
(25;−21),简单来说,就是把这个向量投影到新坐标系对应基的方向上,投影得到的长度就是那一维的坐标值的绝对值。把向量
a
\bm{a}
a投影到基
b
\bm{b}
b上,有
a
T
b
=
∣
a
∣
⋅
∣
b
∣
⋅
cos
θ
\bm{a}^{\text{T}}\bm{b} = |\bm{a}| \cdot |\bm{b}| \cdot \cos \theta
aTb=∣a∣⋅∣b∣⋅cosθ,而基
b
\bm{b}
b的模为
1
1
1,可知
a
T
b
=
∣
a
∣
⋅
cos
θ
\bm{a}^{\text{T}}\bm{b} = |\bm{a}| \cdot \cos \theta
aTb=∣a∣⋅cosθ,这个值恰巧就是向量
a
\bm{a}
a在基
b
\bm{b}
b上的坐标值。
主成分分析性质
参考西瓜书,主成分分析的超平面应具有如下性质:
- 最近重构性:样本点到这个超平面的距离都足够近;
- 最大可分性:样本点在这个超平面上的投影能尽可能分开。
实质上,基于最近重构性得到的主成分分析和基于最大可分性得到的主成分分析是等价的。以上图为例,左图中×点距离超平面足够近,并且投影得到的点也足够分开;右图中×点距离超平面就比较远(虚线都比较长),并且投影后距离彼此都很近,不满足最大可分性。
信号处理理论认为信号具有较大的方差,噪声有较小的方差,信噪比就是信号与噪声的方差比,越大越好。根据方差最大化理论,我们会选择左图,投影后的样本点方差最大(这也是说PCA可以降噪的原因)。
上图中,椭圆长轴就是主成分方向,因为数据在该方向上的投影代表了原始数据的绝大部分信息,
u
1
u_1
u1方向的方差也最大,把
u
2
u_2
u2方向去掉后影响也不大(两者相关性很小,想象在原坐标系数据两个维度呈正相关,去掉纵轴或横轴会丢失大部分信息)。
协方差矩阵
观察上图,图c两个变量具有很高的相关性,
r
1
r_1
r1和
r
2
r_2
r2上的方差没有明显区别,若进行如下转换(也就是PCA要干的事情),则两个变量间相关性几乎为零,
r
1
r_1
r1上的方差很大,而
r
2
r_2
r2上的方差很小,并且两个维度相关性较小。
协方差可以用来考量变量间的相关性,变量相关性越小,协方差接近
0
0
0。记中心化后的数据为
X
=
(
x
1
,
x
2
,
⋯
 
,
x
n
)
,
(
假
设
有
n
个
样
例
)
\bm{X} = (\bm{x}_1, \bm{x}_2, \cdots, \bm{x}_n),(假设有n个样例)
X=(x1,x2,⋯,xn),(假设有n个样例)
其中
x
=
[
x
1
x
2
⋮
x
m
]
,
(
假
设
数
据
有
m
个
维
度
,
且
已
经
中
心
化
处
理
)
\bm{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_m \end{bmatrix},(假设数据有m个维度,且已经中心化处理)
x=⎣⎢⎢⎢⎡x1x2⋮xm⎦⎥⎥⎥⎤,(假设数据有m个维度,且已经中心化处理)
协方差矩阵计算如下
C
X
=
1
n
−
1
X
X
T
。
C_\bm{X} = \frac{1}{n-1} \bm{X}\bm{X}^{\text{T}}。
CX=n−11XXT。
举个例子,假设数据就两个维度,当数据分布如下时,
观察图像,水平方向具有比较大的方差(数据偏离平均较大),可以想象
C
11
C_{11}
C11(代表
x
1
x_1
x1方差)应该比较大,垂直方向上,方差较小,
C
22
C_{22}
C22应该较小,再看
x
1
x_1
x1和
x
2
x_2
x2的相关性,应该是比较小的,那么
C
12
C_{12}
C12和
C
21
C_{21}
C21也应该比较小,可能我们算出的协方差矩阵类似于这样:
C
=
[
95
1
1
5
]
,
C = \begin{bmatrix} 95 & 1 \\ 1 & 5 \end{bmatrix},
C=[95115],
而当数据分布如下时,
类似的分析,在水平方向和初值方向的方差都挺大的,并且容易看出
x
1
x_1
x1和
x
2
x_2
x2呈现正相关性,那么得到的协方差矩阵应该类似于这样:
C = [ 50 40 40 50 ] 。 C= \begin{bmatrix} 50 & 40 \\ 40 & 50 \end{bmatrix}。 C=[50404050]。
主成分分析原理
主成分分析就是希望找到一个新的坐标系,将数据投影到该坐标系上后,能够找到一个超平面,使得 C X C_\bm{X} CX对角化(参考上一章节的两个例子)。
记新坐标系基向量为
w
\bm{w}
w,由基变换可知,样例
x
\bm{x}
x在新坐标系该基向量上的坐标值为
x
T
w
=
w
T
x
\bm{x}^{\text{T}}\bm{w} = \bm{w}^{\text{T}}\bm{x}
xTw=wTx,新坐标系下的协方差矩阵为
C
Y
=
1
n
−
1
W
T
X
X
T
W
,
C_{\bm{Y}} = \frac{1}{n-1} \bm{W}^{\text{T}}\bm{X} \bm{X}^{\text{T}} \bm{W},
CY=n−11WTXXTW,
优化目标为使得
C
W
C_\bm{W}
CW对角线上的元素从大到小排列,且其余元素接近
0
0
0。
通俗点讲,样例 x i \bm{x}_i xi在基 w \bm{w} w上的坐标值为 x i T w \bm{x}_i^{\text{T}} \bm{w} xiTw,该方向上的方差为
v
a
r
=
1
n
−
1
∑
i
=
1
n
(
x
i
T
w
)
2
(
注
意
数
据
已
中
心
化
处
理
过
)
=
1
n
−
1
∑
i
=
1
n
(
x
i
T
w
)
T
(
x
i
T
w
)
=
1
n
−
1
∑
i
=
1
n
(
w
T
x
i
x
i
T
w
)
=
w
T
(
1
n
−
1
∑
i
=
1
n
(
x
i
x
i
T
)
)
w
(
原
坐
标
系
数
据
协
方
差
矩
阵
)
=
w
T
(
1
n
−
1
X
X
T
)
w
,
\begin{aligned} var &= \frac{1}{n-1} \sum^n_{i=1}(\bm{x}_i^{\text{T}} \bm{w})^2 &(注意数据已中心化处理过)\\ &= \frac{1}{n-1} \sum^n_{i=1}(\bm{x}_i^{\text{T}} \bm{w})^{\text{T}} (\bm{x}_i^{\text{T}} \bm{w}) \\ &= \frac{1}{n-1} \sum^n_{i=1} (\bm{w}^{\text{T}}\bm{x}_i \bm{x}_i^{\text{T}} \bm{w}) \\ & = \bm{w}^{\text{T}} \big(\frac{1}{n-1} \sum^n_{i=1} (\bm{x}_i \bm{x}_i^{\text{T}}) \big) \bm{w} & (原坐标系数据协方差矩阵) \\ &= \bm{w}^{\text{T}} \big( \frac{1}{n-1} \bm{X}\bm{X}^{\text{T}} \big) \bm{w}, \end{aligned}
var=n−11i=1∑n(xiTw)2=n−11i=1∑n(xiTw)T(xiTw)=n−11i=1∑n(wTxixiTw)=wT(n−11i=1∑n(xixiT))w=wT(n−11XXT)w,(注意数据已中心化处理过)(原坐标系数据协方差矩阵)
我们期望
v
a
r
var
var尽可能的大(所以西瓜书的优化目标为最大化矩阵的迹),有
{
max
w
w
T
Λ
w
(
记
C
X
为
Λ
)
s.t.
∥
w
∥
=
1
,
\begin{cases} \max \limits_{\bm{w}} ~ \bm{w}^{\text{T}} \Lambda \bm{w} & (记C_\bm{X}为\Lambda) \\ \text{s.t.} ~ \| \bm{w} \| = 1 \end{cases},
{wmax wTΛws.t. ∥w∥=1(记CX为Λ),
构造拉格朗日函数,有
L
(
w
)
=
w
T
Λ
w
+
λ
(
1
−
w
T
w
)
,
L(\bm{w}) = \bm{w}^{\text{T}} \Lambda \bm{w} + \lambda ( 1 - \bm{w}^\text{T} \bm{w} ),
L(w)=wTΛw+λ(1−wTw),
对
w
\bm{w}
w求导,有
Λ
w
=
λ
w
\Lambda \bm{w} = \lambda \bm{w}
Λw=λw,这刚好是特征向量、特征值的形式,且刚好
v
a
r
=
w
T
Λ
w
=
w
T
(
λ
w
)
=
λ
,
var = \bm{w}^{\text{T}} \Lambda \bm{w}=\bm{w}^{\text{T}} (\lambda \bm{w})=\lambda,
var=wTΛw=wT(λw)=λ,
取最大特征值时,该方向方差最大,并且基向量为该特征值对应的特征向量;取第二大特征值时同理,以此类推。
此外, C X C_\bm{X} CX是实对称矩阵,它具有很多良好性质,例如:
- 实对称矩阵不同特征值对应的特征向量必然正交;
- 设特征向量 λ \lambda λ重数为 r r r,则必然存在 r r r个线性无关的特征向量对应于 λ \lambda λ,因此可以将这r个特征向量单位正交化。
因此,通过筛选的特征向量必能组成新的坐标系。
主成分分析k值的选取
降维后低维空间的维数
k
k
k通常由用户事先选取,可通过下式利用阈值
t
t
t来确定最小
k
k
k值,例如设置
t
=
0.95
t=0.95
t=0.95,挑选使下式成立的最小
k
k
k值:
∑
i
=
1
k
λ
i
∑
i
=
1
m
λ
i
≥
t
,
\frac{\sum^k_{i=1} \lambda_i}{\sum^m_{i=1} \lambda_i} \geq t,
∑i=1mλi∑i=1kλi≥t,
其中
λ
i
\lambda_i
λi是
Λ
\Lambda
Λ从大到小排列的特征值。
Acknowledge
周志华 著作 《机器学习》
主成分分析(PCA)原理详解
PCA的数学原理
主成分分析PCA(principal component analysis)原理
主成分分析(PCA)原理详解
【机器学习】降维——PCA(非常详细)