线性判别分析LDA
LDA基础
LDA是一种监督学习的降维技术,对应着它的数据集中的每个样本是有类别输出的。LDA的基本思想是:给定一个训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点中心尽可能远离。也就是“投影后类内方差最小,类间均值最大”。
我们先来看一下下图对于二分类的情况:
图中的“+”,“-”分别表示正例和反例,我们想要的就是让每种类别的投影点尽可能接近,而“+”和“-”的数据中心之间的距离尽可能大。
LDA推导
为第j类样本的方差,因此原始均值和投影后的均值分别可以表示为如下的形式:
原始均值:
投影后均值(wi表示第i类,y表示向量x投影后得到的向量):
得到了均值之后我们可以得到方差为:
根据我们LDA的思想,我们要做的事情是“投影后类内方差最小,类间均值最大”,所得的目标函数如下:
上式中,分子表示不同类别均值之差,分母表示不同类别方差之和,因此我们的目标就是最大化J(w)即可。
对于分母:
此时的我们可以定义为“类内散度矩阵”。
也就是说我们只要求出原始二类样本的均值和方差就可以确定最佳的投影方向了。
PCA和LDA
PCA(主成分分析)和LDA(线性判别分析)有很多的相似点,其本质是要将初始样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。
LDA总结
LDA算法的主要优点有:
- 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。
- LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。
LDA算法的主要缺点有:
- LDA不适合对非高斯分布样本进行降维,PCA也有这个问题。
- LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。
- LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好。
- LDA可能过度拟合数据。