机器学习算法(四):线性判别分析(LDA)

目录

 

1 LDA概念

2 二分类求解w

2.1 解一

2.2 解二

3 多类LDA原理

4  LDA算法流程

5 LDA算法小结


1 LDA概念

线性分类器最简单的就是LDA,它可以看做是简化版的SVM。

LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning监督学习。

LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类别的点,将会在投影后的空间中更接近。要说明白LDA,首先得弄明白线性分类器(Linear Classifier):因为LDA是一种线性分类器。对于K-分类的一个分类问题,会有K个线性函数

 当满足条件:对于所有的j,都有Yk > Yj的时候,我们就说x属于类别k。对于每一个分类,都有一个公式去算一个分值,在所有的公式得到的分值中,找一个最大的,就是所属的分类了。

上式实际上就是一种投影,是将一个高维的点投影到一条高维的直线上,LDA最终的目标是,给出一个标注了类别的数据集,投影到了一条直线之后,能够使得点尽量的按类别区分开,当k=2即二分类问题的时候,如下图所示:

 红色的方形的点为0类原始点蓝色的方形点1类的原始点,经过原点的那条线就是投影的直线,从图上可以清楚的看到,红色的点和蓝色的点被原点明显的分开了,这个数据只是随便画的,如果在高维的情况下,看起来会更好一点。下面推导二分类LDA问题的公式

 假设用来区分二分类的直线(投影函数)为:

 LDA分类的一个目标是使得不同类别之间的距离越远越好同一类别之中的距离越近越好,所以我们需要定义几个关键的值。

(1)类别i的原始中心点为:(Di表示属于类别i的点)

         

(2)类别i投影后的中心点为:

         

(3)衡量类别i投影后,类别点之间的分散程度(方差)为:

        

(4)LDA投影到w后的损失函数(最大化可以求出最优的w):

         

我们分类的目标是,使得类别内的点距离越近越好(集中),类别间的点越远越好。分母表示每一个类别内的方差之和,方差越大表示一个类别内的点越分散,分子两个类别各自的中心点的距离的平方,我们最大化J(w)就可以求出最优的w了。想要求出最优的w,可以使用拉格朗日乘子法,但是现在我们得到的J(w)里面,w是不能被单独提出来的,我们就得想办法将w单独提出来。

2 二分类求解w

2.1 解一

        我们定义一个投影前的各类别分散程度的矩阵,这个矩阵看起来有一点麻烦,其实意思是,如果某一个分类的输入点集Di里面的点距离这个分类的中心点mi越近,则Si里面元素的值就越小,如果分类的点都紧紧地围绕着mi,则Si里面的元素值越更接近0

        

  带入Si,将J(w)分母化为:

        

        

同样的将J(w)分子化为:

        

这样损失函数可以化成下面的形式:

        

    使用拉格朗日乘子法。如果分子、分母是都可以取任意值的,那就会使得有无穷解,我们将分母限制为长度为1(这是用拉格朗日乘子法一个很重要的技巧),并作为拉格朗日乘子法的限制条件,带入得到:

        

 这样的式子就是一个求特征值的问题了。

2.2 解二

       假设我们的数据集D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xin维向量,yi∈{0,1}。我们定义Nj(j=0,1)为第j类样本的个数,Xj(j=0,1)为第j类样本的集合,而μj(j=0,1)为第j类样本的均值向量,定义Σj(j=0,1)为第j类样本的协方差矩阵(严格说是缺少分母部分的协方差矩阵)。

第j类样本的均值向量μj的表达式为:

    

j类样本的协方差矩阵Σj的表达式为

    

    由于是两类数据,因此我们只需要将数据投影到一条直线上即可。假设我们的投影直线是向量w,则对任意一个样本xi,它在直线w的投影为wTxi,对于我们的两个类别的中心点μ0,μ1,在在直线w的投影为wTμ0wTμ1。由于LDA需要让不同类别的数据的类别中心之间的距离尽可能的大,也就是我们要最大化,同时我们希望同一种类别数据的投影点尽可能的接近,也就是要同类样本投影点的协方差尽可能的小,即最小化。综上所述,我们的优化目标为:

      

我们一般定义

(1)类内散度矩阵Sw为:

     

(2)类间散度矩阵Sb为:

     

优化目标可重写为:

     

这是广义瑞利商,J(w)最大值为矩阵的最大特征值,而对应的w为的最大特征值对应的特征向量!

注意到对于二类的时候,的方向恒为μ0−μ1,不妨令,将其带入:,可以得到, 也就是说我们只要求出原始二类样本的均值和方差就可以确定最佳的投影方向w了。

3 多类LDA原理

       假设我们的数据集D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xin维向量yi∈{C1,C2,...,Ck}。我们定义Nj(j=1,2...k)为第j类样本的个数,Xj(j=1,2...k)为第j类样本的集合,而μj(j=1,2...k)为第j类样本的均值向量,定义Σj(j=1,2...k)为第j类样本的协方差矩阵。在二类LDA里面定义的公式可以很容易的类推到多类LDA。

        由于我们是多类向低维投影,则此时投影到的低维空间就不是一条直线,而是一个超平面了。假设我们投影到的低维空间的维度为d,对应的基向量为(w1,w2,...wd),基向量组成的矩阵为W, 它是一个n×d的矩阵。

        此时我们的优化目标应该可以变成为:

        

        其中,μ为所有样本均值向量;

       都是矩阵,不是标量,无法作为一个标量函数来优化!也就是说,我们无法直接用二类LDA的优化方法,怎么办呢?一般来说,我们可以用其他的一些替代优化目标来实现。

常见的一个LDA多类优化目标函数定义为:

其中为A的主对角线元素的乘积Wn×d的矩阵。

J(W)的优化过程可以转化为:

        上式最右边就是广义瑞利商,最大值是矩阵最大特征值,最大的d个值的乘积就是矩阵的最大的d个特征值的乘积,此时对应的矩阵W为这最大的d个特征值对应的特征向量张成的矩阵。

由于W是一个利用了样本的类别得到的投影矩阵,因此它的降维到的维度d最大值为k-1。为什么最大维度不是类别数k呢?因为Sb中每个μj−μ的秩为1,因此协方差矩阵相加后最大的秩为k(矩阵的秩小于等于各个相加矩阵的秩的和),但是由于如果我们知道前k-1个μj后,最后一个μk可以由前k-1μj线性表示,因此Sb的秩最大为k-1,即特征向量最多有k-1个。

   对于N(N>2)分类的问题,可得到下面的结论了:

         

这同样是一个求特征值的问题,我们求出的第i大的特征向量,就是对应的Wi了。

4  LDA算法流程

输入:数据集D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xi为n维向量,yi∈{C1,C2,...,Ck},降维到的维度d

    输出:降维后的样本集$D′$

    1) 计算类内散度矩阵Sw

    2) 计算类间散度矩阵Sb

    3) 计算矩阵

    4) 计算的最大的d个特征值对应的d个特征向量(w1,w2,...wd),得到投影矩阵W

    5) 对样本集中的每一个样本特征xixi,转化为新的样本

    6) 得到输出样本集

        以上就是使用LDA进行降维的算法流程。实际上LDA除了可以用于降维以外,还可以用于分类。一个常见的LDA分类基本思想是假设各个类别的样本数据符合高斯分布,这样利用LDA进行投影后,可以利用极大似然估计计算各个类别投影数据的均值和方差,进而得到该类别高斯分布的概率密度函数。当一个新的样本到来后,我们可以将它投影,然后将投影后的样本特征分别带入各个类别的高斯分布概率密度函数,计算它属于这个类别的概率,最大的概率对应的类别即为预测类别。

5 LDA算法小结

       LDA算法既可以用来降维,又可以用来分类,但是目前来说,主要还是用于降维。在我们进行图像识别图像识别相关的数据分析时,LDA是一个有力的工具。下面总结下LDA算法的优缺点。

    LDA算法的主要优点有:

    1)在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。

    2)LDA在样本分类信息依赖均值而不是方差的时候,比PCA之类的算法较优。

    LDA算法的主要缺点有:

    1)LDA不适合非高斯分布样本进行降维,PCA也有这个问题。

    2)LDA降维最多降到类别数k-1的维数,如果我们降维的维度大于k-1,则不能使用LDA。当然目前有一些LDA的进化版算法可以绕过这个问题。

    3)LDA在样本分类信息依赖方差而不是均值的时候,降维效果不好。

    4)LDA可能过度拟合数据

参考:https://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html

https://www.cnblogs.com/pinard/p/6244265.html

猜你喜欢

转载自blog.csdn.net/weixin_39910711/article/details/82285670