1 线性判别分析(LDA)
1.1 LDA简介
LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。一句话来概括LDA的核心思想,【投影后类内方差最小,类间方差最大】。我们将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,如下图所示
1.2.LDA原理及公式推导
目标函数已经得到,接下来是优化目标函数找到有一组最优鉴别矢量构成的投影矩阵
W
o
p
t
W_{opt}
Wopt(n为每个样本的特征个数),最佳投影矩阵
W
o
p
t
W_{opt}
Wopt的列向量恰为
S
b
φ
=
λ
S
w
φ
S_b \varphi = \lambda S_{w}\varphi
Sbφ=λSwφ 的最大特征值所对应的特征向量(即矩阵
S
w
−
1
S
b
S_{w}^{-1}S_b
Sw−1Sb 的特征向量),由此可求得
W
o
p
t
W_{opt}
Wopt
1.3 具体例子LDA算法在空间上的意义
1.4 LDA小结
LDA算法既可以用来降维,又可以用来分类,但是目前来说,主要还是用于降维。在进行图像识别相关的数据分析时,LDA是一个有力的工具。下面总结下LDA算法的优缺点。
优点
- 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
- LDA在样本分类依赖的是均值而不是方差时,比PCA之类的算法较优
缺点
- LDA不适合对非高斯分布的样本降维
- LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA
- LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好
- LDA可能过度拟合数据
LDA代码实现:https://github.com/ruthy-wei/MachineLearning/tree/master/LDA
文章参考:
- https://blog.csdn.net/ruthywei/article/details/83045288
- https://blog.csdn.net/warmyellow/article/details/5454943
2 主成分分析(PCA)
2.1 PCA简介
- 主成分分析就是找出数据里最主要的方面来代替原始数据,降低数据维度的同时最大化保留数据的信息、消除数据冗余和噪声。
- 它的目标是通过线性投影将高维数据影射到低维空间,期望在低维数据上的方差最大,以此使用较少的维度保留较多的原数据点特征(但是PCA不试图去探索数据内在关系)。
2.2.PCA原理及公式推导
求样本 x(i) 的主成分(k维)其实就是求样本集的协方差阵 X X T XX^T XXT 的前 k 个最大特征值对应特征向量矩阵 W ,然后对于每个样本x(i),做如下变换 z ( i ) = W T x ( i ) z(i)=W^{T} x(i) z(i)=WTx(i),即达到降维的PCA目的
- 最大化数据映射后的方差:
- 优化目标函数:
其中tr表示矩阵的迹,A是数据协方差矩阵,
得到最优的W是由数据协方差矩阵前 k 个最大的特征值对应的特征向量作为列向量构成的。这些特征向量形成一组正交基并且最好地保留了数据中的信息。
PCA的输出就是 Y = W T X Y = W^{T}X Y=WTX ,由X的原始维度降低到了k维。
【有时我们不会指定具体的降维大小(k),而是指定一个降维的主成分阈值t(t∈(0,1))】。假如我们的n个特征值为λ1≥λ2≥…≥λn,则k可以通过下式得到: ∑ i = 1 k λ i ∑ i = 1 n λ i ≥ α \frac{\sum _{i=1} ^{k}\lambda _i}{\sum _{i=1} ^{n}\lambda _i} \geq \alpha ∑i=1nλi∑i=1kλi≥α
参考:
3 PCA与LDA对比
【PCA:投影后最大化数据方差】
【LDA:投影后类内方差最小,类间方差最大】
相同点:
- 两者均可以对数据进行降维。
- 两者在降维时均使用了矩阵特征分解的思想。
- 两者都假设数据符合高斯分布。
不同点:
- LDA是有监督的降维方法,而PCA是无监督的降维方法。
- LDA降维有限制,最多降到类别数k-1的维数,而PCA没有这个限制。
- LDA除了可以用于降维,还可以用于分类,但可能过度拟合数据。
- LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。