概述
PCA是一种经典的降维方法,基础的PCA是一种线性的降维,本质是线性坐标变换,经典的PCA目标优化解释思路有两种:一种是单个维度上方差最大化,另一种是采用最小二乘线性回归的思想最小化样本点到超平面的距离。
从单个维度上方差最大化(最大可分性)解释
这里普及下协方差,方差的定义。协方差刻画的是数据(两个变量)的相关性。数据的方差指的是:数据样本偏离平均值的程度,也就是样本的离散程度,方差越大,偏离平均值越大,数据越离散,数据的熵即不确定性越大,方差就是协方差的一种特殊情况(当两个变量为同一个变量时)。方差最大化,即单个特征或属性维度上熵最大化(思考:如果某个维度上熵很小,即数据在该维度上所有属性值都保持一致,则意味着该维度特征包含数据的信息很少,无利用价值,因此需要需要属性特征熵的最大化,尽可能地挖掘数据信息,这样PCA才能通过降维去除那些冗余特征列)。
根据数据最大可分性,要使条件满足,则只需数据在新的空间投影的方差最大化,即只需
uTΣu
u
T
Σ
u
最大化即可,其中
Σ=xxT
Σ
=
x
x
T
,为协方差矩阵。令
λ=uTΣu
λ
=
u
T
Σ
u
,则两边同时乘以
u
u
则有,若对
u
u
进行正交化,则得,即
u
u
取协方差矩阵的特征向量,取协方差矩阵的特征值。因此PCA降维的结果即保留那些协方差矩阵中特征值比较大的特征向量组成的矩阵。
样本点到超平面的距离最小化
已知
|V|
|
V
|
个样本点的数据,假使我们用
k≪|V|
k
≪
|
V
|
的维度空间拟合数据样本点,寻找数据在
k
k
维空间拟合的超平面。设为超平面空间所在的基,则
z=uTx
z
=
u
T
x
,其中
z
z
为样本在
k
k
维空间的映射。假设样本点为m,原属性维度为t,根据最小二乘法拟合曲线的原则,超平面满足:
其中 ∑mi=1xTixi ∑ i = 1 m x i T x i 即为数据的协方差,类似与上述问题的解题步骤。
PCA的一般步骤
给出以下数据集
D{(x1,y1),...,(xm,ym)}
D
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
m
,
y
m
)
}
,其中
x∈Rmxn
x
∈
R
m
x
n
,即原始输出
DataAdjust(mxn)
D
a
t
a
A
d
j
u
s
t
(
m
x
n
)
.
第一步:分别求
xi¯¯¯¯¯
x
i
¯
,对于所有样例减去对应的
xi¯¯¯¯¯
x
i
¯
进行中心化。根据
σ2=1m∑i(x(i)j)2
σ
2
=
1
m
∑
i
(
x
j
(
i
)
)
2
,令
x(i)j=x(i)j/σ
x
j
(
i
)
=
x
j
(
i
)
/
σ
,进行标准化。
第二步:求协方差矩阵
Σ=1m∑mi=1xxT
Σ
=
1
m
∑
i
=
1
m
x
x
T
;
第三步:求协方差矩阵对应的特征值和特征向量;
第四步:将特征值按照从小到大的顺序排列,选择其中前
k
k
个较大值对应的特征向量并组成基矩阵
第五步:求最终降维后的矩阵:
PCA的总结
PCA是一种无监督的方法,它的目的在于去除数据中冗余的特征,降低数据维度,让投影在子空间的各个数据维度上方差尽可能地大。优点:无需人工的设置训练参数。缺点:无法融入已知数据的监督信息。