本篇整理转载于CSDN博主「Be-real」的原创文章,原文链接
文章目录
- LDA基本思想
- 二分类LDA原理
- LDA算法流程
- LDA降维 VS PCA降维
LDA基本思想
- 给定带有标签的训练样本集,设法将样本投影到一条直线上,使得同类样本的投影点尽可能近,异类样本的投影点尽可能远。
- 如果是进行分类,将新样本投影到同样的这条直线上,根据投影点的位置来确定新样本的类别。
- 将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性
- 举个例子,上图给出了两种不同的投影方式,直观上来看右图更好。因为右图中蓝色和红色数据较为集中,且类别之间的距离明显,而左图边界处数据混杂。
那么如何用数学语言对“同类样本的投影点尽可能近(组内差异),异类样本的投影点尽可能远(组间差异)”进行表达呢?
二分类LDA原理
接下来从二分类LDA入手,分析LDA原理
- 图中红色实心的圆点表示类别为0的样本的均值在直线上的投影位置,红色实心三角形表示的是类别为1的样本的均值在直线上的投影位置
- 所以优化目标就可以写成公式(4)的样子
- J ( w ) J(w) J(w)表示LDA投影到直线W上的之后的损失函数,类内分散度(类内方差,或叫组间方差)矩阵
- 优化目标其实就是组间差异/组内差异的值越大越好
- 综上,对于二分类样本,只要求出原始样本的均值和方差就能确定最佳的投影方向w了。
LDA算法流程
如果是多类向低维投影,则此时投影到的低维空间就不是一条直线,而是一个超平面了。
LDA降维 VS PCA降维
相同点:
- 两者在降维时都使用了特征分解的思想 ,PCA主要是从特征的协方差角度,去找到比较好的投影方式。LDA更多的是考虑了标注,即希望投影后不同类别之间数据点的距离更大,同一类别的数据点更紧凑。
- 两者都假设数据符合高斯分布,因此LDA和PCA都不适合对非高斯分布的样本进行降维 。下图中红色区域表示一类样本,蓝色区域表示另一类,由于是2类,所以最多投影到1维上。不管在直线上怎么投影,都难使红色点和蓝色点内部凝聚,类间分离。
不同点:
- LDA是有监督的降维方法,降维过程中可以使用类别的先验知识经验,而PCA不行。
- LDA选择分类性能最好的投影方向,而PCA选择最大方差的投影方向,因此LDA有过拟合的风险。
- LDA最多能降到N−1的维数,如果降维维度大于N−1,则不能使用LDA,而PCA没有这个限制 。N-1表示矩阵的秩的最大个数。
- 当样本分类信息依赖均值时LDA效果较好;依赖方差的时候PCA效果较好。下图中,样本点依靠方差信息进行分类,而不是均值信息。LDA不能够进行有效分类,因为LDA过度依靠均值信息。