LDA(线性判别分析)算法

线性判别分析(Linear Discrimination Analysis,LDA)是一种非常经典的线性学习方法,可以用于在二分类问题上。
我们知道,在二分类问题上,我们想要的理想结果是 同一类的尽量聚集在一起,不同类的尽量分开
因此,LDA实际上是一个非常简单的(所以经典)方法,它的思想也是极其朴素:

给定训练集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能原理。在对新的样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别。

下方给出一个二维示意图:
这里写图片描述

下面,我们来进行分析。
在这个算法中,着重要把握的即使同类样例的投影点尽可能接近,使异类样例的投影点尽可能远离
因此,若用数学上的语言来描述的话,就是使同类样例投影点的协方差尽可能小,而使异类样例的投影的类中心之间的距离尽可能大
正如周志华老师在西瓜书中所描述的那样,我们要得到一个最优的模型,那么毫无疑问会用到极值。
采用西瓜书上的一些定义,同时考虑上面谈到的两点,则可以得到欲最大化的目标


这里写图片描述

而我们再定义一个“类内散度矩阵”(同一类发散的程度,按我们上面的说法,应该是尽量小的)


这里写图片描述
以及类间散度矩阵(不同类的发散程度,按我们上面的说法,应该是尽量大的)
这里写图片描述

所以,最后的式子可以重写为:
这里写图片描述

因此,这就是LDA欲最大化的目标。

而如何我们如何确定w呢?(其他参数都可以通过样本例子计算出来,只有y=wTx中的现在还无法确定。)


这里写图片描述

因此,问题转化为一个带条件的极值问题,所以自然而然可用拉格朗日方法求解

总结下:
若有同学学习过PCA方法,则会发现,LDA的思想和PCA其实挺相似的。因此PCA的主要用途是用来降维,那么LDA和PCA从某种程度上来说是相似的,因此LDA也被视为一种经典的监督降维算法。

参考文章
机器学习-周志华-P60
机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)

猜你喜欢

转载自blog.csdn.net/u014593570/article/details/78183605