Fisher's linear discriminant(Linear Discriminant Analysis)


Fisher's linear discriminant的主要思想是(简单起见这里先讨论分成2类的情况)将高维的数据投影到一维,在这一维上,我们就能轻易得到分类。

以下两幅图分别来自prml 和the elements,我觉得非常好的说明了在分成两类的情况下Fisher's linear discriminant的思想(左图的投影没有右图的好):


Fisher's linear discriminant(Linear Discriminant Analysis)_第1张图片

Fisher's linear discriminant(Linear Discriminant Analysis)_第2张图片

Fisher's linear discriminant之所以类内方差和类间方差的要求,是因为,单单要求方差大,并不是一个很好的目标,例如会有如下的样本:

Fisher's linear discriminant(Linear Discriminant Analysis)_第3张图片Fisher's linear discriminant(Linear Discriminant Analysis)_第4张图片

左图说明了虽然投影到x1方差很大,但是还是很难分类,因为这两个类有很多重叠的部分,而右图则很好的将两类分开了。

说到这里不得不说一下和PCA的区别,

Fisher's linear discriminant(Linear Discriminant Analysis)_第5张图片

这图非常好的解释了两者的区别,PCA的数据没有类别,PCA只是要求在某一维上所有的样本方差最大,而Fisher's linear discriminant则是希望投影到一维,可以较好的区分开类别。

从数学上来说,Fisher's linear discriminant的目标是MAX


其中:

  

分别表示类间方差和类内方差和。

这里w可以放缩,对分母做归一化后,加入拉格朗日乘子得到:

Fisher's linear discriminant(Linear Discriminant Analysis)_第6张图片

如果两边同时乘以Sw^-1,可以得到:

clip_image066

可以发现w是矩阵clip_image138的特征值,然后根据Sb矩阵的公式最终可以得到:

因此对于两类的情况,我们只需要求出原始样本的均值和方差就可以求出最佳的方向w。

而对于分多类情况下,首先求出clip_image138的特征值,然后取前K个特征向量组成W矩阵即可,过程比较复杂。




你可能感兴趣的:(分类,pca,投影,特征向量,线性判别分析)