LDA线性判别分析

LDA线性判别分析
PCA不考虑label,属于unsupervised,那么LDA就是考虑了y的label。
对于binary classification,如果有N个
,其中有N1个y=1,N2个y=0.现在我们想把d个特征减少到只有1个,同时还要保证降维后,它们能够最大程度的区分开。现在要做的是找到一个向量,另x投影到w,用d表示。这里的y是x到w上的投影点之间的距离。
LDA线性判别分析
文章图片
LDA线性判别分析
文章图片
首先计算每类样例的均值,因为是binary classification,所以这里的x有两类。

LDA线性判别分析
文章图片
x投影到w后的新样本点的均值为
其实投影后的新样本点的均值就是原样本点的均值在w上的投影。由于是binary classification,我们希望两个均值μ1和μ2尽量远离,用数学式子表达就是:
值越大越好,这是一个关于向量w的函数,因此用J(w)表示。
但是有均值最大作为保证还是不够的,例如下图

LDA线性判别分析
文章图片
【LDA线性判别分析】样本点的均值在向量x1上得到的均值差比在x2上的大,但是在x1上的投影反倒木有比在x2的好,因为在x1上的投影会造成overlapping,并不能区分样本点。这时候需要考虑到投影后的样本方差,对于类1或者类2,它们自己的方差如果越大,则样本点分布的范围就越大,这样会造成更大的可能会overlapping,样本点越难分离。
定义散列值(scatter)
这个式子其实就是新的样本点的方差,去掉了平均的动作,因此散列值就代表了样本分散的程度,越大越散。
将散列值加入到J(w)中,关于均值的关系是越大越好,关于散列值的关系是越小越好,因此把散列值s放到分母,均值放到分子,构成新的J(w),这样就可以通过求得最大的J(w),同时满足均值和散列值对我们的要求。
对散列值式子进一步展开有

LDA线性判别分析
文章图片
定义
,注意到协方差的计算方式如下图,因此Si表示没有做平均动作的协方差矩阵,成为散列矩阵。

LDA线性判别分析
文章图片
定义,称为within-class scatter matrix。注意这个式子里的每一项都是投影之前的样本点的性质。
LDA线性判别分析
文章图片
现在讨论散列值,也就是投影过后的样本点
使用。因此
LDA线性判别分析
文章图片
LDA线性判别分析
文章图片
LDA线性判别分析
文章图片
回到J(w)的分子部分,平方可以忽略绝对值,有

LDA线性判别分析
文章图片
定义
,称为Between-class scatter matrix,秩为1。因此J(w)可以表示为
。接下来要对w求偏导,然后令求完导的部分为0,求得w。但是在此之前,必须要对J(w)进行归一化,否则在导数前添加任何的系数,然后令其为0,这样求出的w就有很多个。

作为约束条件,然后加入拉格朗日乘子,构建式子
然后对c求w的偏导,有:
两边都乘以,得
LDA线性判别分析
文章图片
。因此w是
的特征向量,是
LDA线性判别分析
文章图片
矩阵的特征值。

代入上式子左边得到

LDA线性判别分析
文章图片
由于上面经过了归一化处理,w前面的系数可以忽略,所以
可见,我们只需要求出原始样本的均值:
,和方差:
,要保证
可逆的情况下,就可以求出最优的方向w。

    推荐阅读