美文网首页机器学习
LDA线性判别分析

LDA线性判别分析

作者: 薛东弗斯 | 来源:发表于2018-04-22 18:50 被阅读4次

    LDA线性判别分析

    PCA不考虑label,属于unsupervised,那么LDA就是考虑了y的label。

    对于binary classification,如果有N个

    ,其中有N1个y=1,N2个y=0.现在我们想把d个特征减少到只有1个,同时还要保证降维后,它们能够最大程度的区分开。现在要做的是找到一个向量,另x投影到w,用d表示。这里的y是x到w上的投影点之间的距离。

    首先计算每类样例的均值,因为是binary classification,所以这里的x有两类

    x投影到w后的新样本点的均值为

    其实投影后的新样本点的均值就是原样本点的均值在w上的投影。由于是binary classification,我们希望两个均值μ1和μ2尽量远离,用数学式子表达就是:

    值越大越好,这是一个关于向量w的函数,因此用J(w)表示。

    但是有均值最大作为保证还是不够的,例如下图

    样本点的均值在向量x1上得到的均值差比在x2上的大,但是在x1上的投影反倒木有比在x2的好,因为在x1上的投影会造成overlapping,并不能区分样本点。这时候需要考虑到投影后的样本方差,对于类1或者类2,它们自己的方差如果越大,则样本点分布的范围就越大,这样会造成更大的可能会overlapping,样本点越难分离。

    定义散列值(scatter)

    这个式子其实就是新的样本点的方差,去掉了平均的动作,因此散列值就代表了样本分散的程度,越大越散。

    将散列值加入到J(w)中,关于均值的关系是越大越好,关于散列值的关系是越小越好,因此把散列值s放到分母,均值放到分子,构成新的J(w),这样就可以通过求得最大的J(w),同时满足均值和散列值对我们的要求。

    对散列值式子进一步展开有

    定义

    ,注意到协方差的计算方式如下图,因此Si表示没有做平均动作的协方差矩阵,成为散列矩阵。

    定义,称为within-class scatter matrix。注意这个式子里的每一项都是投影之前的样本点的性质。

    现在讨论散列值,也就是投影过后的样本点

    使用。因此

    回到J(w)的分子部分,平方可以忽略绝对值,有

    定义

    ,称为Between-class scatter matrix,秩为1。因此J(w)可以表示为

    。接下来要对w求偏导,然后令求完导的部分为0,求得w。但是在此之前,必须要对J(w)进行归一化,否则在导数前添加任何的系数,然后令其为0,这样求出的w就有很多个。

    作为约束条件,然后加入拉格朗日乘子,构建式子

    然后对c求w的偏导,有:

    两边都乘以,得

    。因此w是

    的特征向量,是

    矩阵的特征值。

    代入上式子左边得到

    由于上面经过了归一化处理,w前面的系数可以忽略,所以

    可见,我们只需要求出原始样本的均值:

    ,和方差:

    ,要保证

    可逆的情况下,就可以求出最优的方向w。

    相关文章

      网友评论

        本文标题:LDA线性判别分析

        本文链接:https://www.haomeiwen.com/subject/wrbclftx.html