线性判别分析

也叫Fisher判别分析。罗纳德·费希尔_百度百科

思想是:类内小,类间大

降维的角度出发,把数据全部投影到一维的坐标轴上,之后选定一个阈值来分类。

img

现在需要找一个最合适的投影方向,比如说上图中右边的更好。

这里指的就是最大化类间间隔,最小化类内方差。用计算机行话就是**“高内聚低耦合”**。

模型定义

首先是投影,我们假定原来的数据是向量 ,那么顺着 方向投影就是标量

投影的均值

投影的方差

假设属于两类的试验样本数量分别是 ,那么我们采用方差矩阵来表征每一个类内的总体分布,这里我们使用了协方差的定义,用 表示原数据的协方差:

所以类内距离可以记为方差的和

对于类间距离,我们可以用两类的均值表示这个距离:

综合这两点,由于协方差是一个矩阵,于是我们用将这两个值相除来得到我们的损失函数,并最大化这个值:

这里

  • (Between Class)表示类间方差

  • (Within Class)表示类内方差

模型求解

这样,我们就把损失函数和原数据集以及参数结合起来了。

下面对这个损失函数求偏导,注意我们其实对 的绝对值没有任何要求,只对方向有要求,因此只要一个方程就可以求解了:

于是 就是我们需要寻找的方向。最后可以归一化求得单位的 值。