赞
踩
维度灾难,常是指在涉及到向量的计算的问题中,随着变量维数的增加,计算量呈指数倍增长的一种现象。变量过多导致原本简单的问题复杂化,甚至出现了无法解决的情况。在维度灾难的背景下,主成分分析法(Principal components analysis)孕育而生,由于各变量间存在一定的相关关系,因此有可以用较少的综合指标来反映多维数据里的信息,利用这一思路就可以通过数学手段,把多个变量化为少数变量,实现数据降维。
符号 | 说明 |
---|---|
X X X | 原始数据矩阵 |
C C C | 协方差矩阵 |
λ \lambda λ | 特征值 |
c c c | 标准化后的特征向量 |
P P P | 变换矩阵 |
Y Y Y | 降维新矩阵 |
将数据排列为矩阵,其中每一行为一种属性,列为属性的数据序列:
X
=
(
a
11
⋯
a
1
m
a
21
⋯
a
2
m
⋮
⋱
⋮
a
n
1
⋯
a
n
m
)
X=
将X的每一行(代表一个属性)进行零均值化,即减去这一行的均值:
a i j = 1 m ∑ j = 1 m a i j − a i j a_{ij}=\frac{1}{m}\sum\limits_{j=1}^{m}a_{ij}-a_{ij} aij=m1j=1∑maij−aij
C = 1 m X X T C=\frac{1}{m}XX^{T} C=m1XXT
以两种属性的标准化数据为例,即:
X
=
(
a
1
a
2
⋯
a
n
b
1
b
2
⋯
b
n
)
X=
则协方差矩阵如下:
C
=
1
m
X
X
T
(
1
m
∑
i
=
1
m
a
i
2
1
m
∑
i
=
1
m
a
i
b
i
1
m
∑
i
=
1
m
a
i
b
i
1
m
∑
i
=
1
m
b
i
2
)
=
(
C
o
v
(
a
,
a
)
C
o
v
(
a
,
b
)
C
o
v
(
b
,
a
)
C
o
v
(
b
,
b
)
)
C=\frac{1}{m}XX^{T}
计算协方差矩阵的特征值和特征向量,参考线代相关知识。
求解后特征值为: λ 1 、 λ 2 ⋯ λ n \lambda_{1}、\lambda_{2}\cdots\lambda_{n} λ1、λ2⋯λn
标准化后的特征向量为: c 1 、 c 2 ⋯ c n c_{1}、c_{2}\cdots c_{n} c1、c2⋯cn
将特征向量按对应特征值大小从上到下按行排列成矩阵,根据需要取前 k 行组成矩阵 P,那么 P 的前 K 行就是要寻找的基:
P
=
(
c
1
T
c
2
T
⋮
c
k
T
)
P=
用 P 的前 K 行组成的矩阵乘以 X 就使得 X 从 N 维降到了 K 维并满足上述优化条件。
优点
1、缓解维度灾难:PCA 算法通过舍去一部分信息之后能使得样本的采样密度增大(因为维数降低了),这是缓解维度灾难的重要手段。
2、降噪:当数据受到噪声影响时,最小特征值对应的特征向量往往与噪声有关,将它们舍弃能在一定程度上起到降噪的效果。
3、特征独立具有:PCA 不仅将数据压缩到低维,它也使得降维之后的数据各特征相互独立;
缺点
1、过拟合:PCA 保留了主要信息,但这个主要信息只是针对训练集的,而且这个主要信息未必是重要信息。有可能舍弃了一些看似无用的信息,但是这些看似无用的信息恰好是重要信息,只是在训练集上没有很大的表现,所以 PCA 也可能加剧了过拟合。
2、新数据没有合理科学解释。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。