数据将为的方法很多,可以从两个角度四个象限来分类:
线性 | 非线性 | |
---|---|---|
有指导 | LDA/MFA | SNE/t-SNE |
无指导 | PCA/ICA | 聚类 |
下面由易到难介绍这几种方法:
PCA(principal component analysis, 主成分分析)
理论推导
有数据
x1,x2,...,xn
x
1
,
x
2
,
.
.
.
,
x
n
均值为0,我们希望将他们降低维度为
ATx1,ATx2,...,ATxn
A
T
x
1
,
A
T
x
2
,
.
.
.
,
A
T
x
n
。
x
x
在的方向上方差最大,其他方差较小的方向认为是由噪声引起的。
转化为数学问题就是希望
maxA tr(∑(ATx⋅xTA)),s.t.,ATA=I
m
a
x
A
t
r
(
∑
(
A
T
x
⋅
x
T
A
)
)
,
s
.
t
.
,
A
T
A
=
I
这是一个有约束的最优化问题,由拉格朗日乘子法可知,等价于求解
可得:
显然可以得到
A
A
的列向量是的特征值
P.S.略有不严谨之处,因为
λ
λ
是个对角矩阵,详细推到的思路也类似,可以简单这么理解。
直观解释
认为方差较大的方向是数据区别的主要方向,其他方向的波动是由于噪声引起的。
一般前数据的绝大部分方差都包含在前面的几个主成分中,舍弃后面的主成分并不会损失太多的信息。如果只保留前面几个最重要的主成分,那么在保留了绝大部分信息的基础上,可以将数据集特征压缩到一个非常低的程度,显然大大提高了计算效率,降低了过拟合的可能性。
优缺点
优点很明显,简单快速,无监督;
缺点也很明显,由于是线性的,对于数据分布很复杂的情况下,可能会损失很多信息,而且如果对于有标签的情况下,没有利用标签的指导。