线性判别分析(LDA)投影降维的思想,以类内小、类间大(类似于软件工程中高内聚低耦合思想)的目标实现了对数据集进行分类的效果。
LDA的原始思想非常简单,在数据集平面(假如二维数据)上,找到一条直线,使所有数据点在该直线的投影点能够被一个中心点完全分离开且同类数据投影点尽可能集中,不同类数据投影点尽可能远离;这样就达到了分类的目的,可见,LDA还可以用于数据降维处理,但其降维性能有限,仅能从K维降至K-1维。
LDA算法的计算核心就是该直线向量的方向,推导计算办法也是像之前线性回归中参数W推导思路,找出目标函数,对目标函数求偏导得到最优解,之前线性回归中目标函数使用的损失函数,由于是回归所以损失函数非常好想到就是用预测值与真实值作差再平方构造,但在LDA算法中目标函数不是那么明显,考虑之前提到的线性判别分析以类内小、类间大为目标,那么可以考虑将目标函数构造为一个分式,分子为类间距离表达式,分母为类内方差,求该目标函数最大值时参数W的取值即可。
类间距离可以将两类数据点分别计算平均值,再对两平均值求差得到。
类内方差将某类中所有数据点与该类平均值求差的平方和除以该类数据点的个数得到。
详细推导过程见图:
* 最后得到了W的方向(而非具体的大小),因为在此我们只关心直线向量的方向。
对于此算法,仅需了解即可,由于LDA的局限性,现在基本不会使用。