线性判别分析(LDA)算法

来源:互联网 发布:数据化管理pdf下载 编辑:程序博客网 时间:2024/05/16 06:30

介绍

  看了周志华教授的西瓜书中LDA一节,自己对其中一些公式做了简单的推导,总结到这篇博文里。
  线性判别分析(Linear Discriminant Analysis)是一种经典的线性学习方法,在二分类问题上因为最早由Fisher提出,也称为“Fisher”判别分析。
   LDA的思想非常简单:给定训练样本例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。下图给出了一个二维示意图。
这里写图片描述

二分类LDA

   给定数据集D={(xi,yi)}mi=1,yi{0,1},令XiμiCi分别表示第i{0,1}类示例的集合、均值向量、协方差矩阵。若将数据投影到直线w上,则两类样本的中心在直线上的投影分别为wTμ0wTμ1

解释一下投影为什么是wTμ0wTμ1。这里说的投影是投影点到原点的距离,如上图所示:也就是oh。不妨将w当成和直线同方向的单位向量。很容易看出来whh是正交的,所以有wT(hh)=0,展开括号并移项得到wTh=wThw是与向量oh同向的单位向量,所以wTh为点h到原点的距离。

若将所有样本点都投影到直线上,则两类样本的协方差分别为wTC0wwTC1w。由于直线是一维空间,因此wTμ0wTμ1wTC0wwTC1w均为实数。
  欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即wTC0w+wTC1w尽可能小;而欲使异类样例投影点尽可能远离,可以让类中心之间的距离尽可能大,即wTμ0wTμ122尽可能大。同时考虑二者,则可得到欲最大化的目标

J=wTμ0wTμ122wTC0w+wTC1w =wT(μ0μ1)(μ0μ1)TwwT(C0+C1)w

定义“类内散度矩阵”(within-class scatter matrix)
Sw=C0+C1=xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T

以及“类间散度矩阵”(between-class scatter matrix)
Sb=(μ0μ1)(μ0μ1)T

则最大化目标可重写为
J=wTSbwwTSww

   如何确定w呢?注意上式的分子分母都是关于w的二次项,因此上式的解与w的长度无关,只与其方向有关。可以另wTSww=1,则上式等价于
minw wTSbws.t.wTSww=1

利用拉格朗日乘子法将上述有约束最优化问题转变成无约束最优化问题,其拉格朗日函数为
L(w,λ)=wTSbw+λ(wTSww1)

令上述拉格朗日函数对w的偏导数为零,即可求出上式最小值的闭式解
L(w,λ)w=2Sbw+2λSww=0

上式的偏导数计算过程,可以参考这篇博客

其中λ是拉格朗日乘子。上式等价于

Sbw=λSww

注意到Sbw的方向恒为μ0μ1,不妨令
Sbw=λβ(μ0μ1)

注意到,若w是一个解,则对于任意常数ααw也是解,所以上式等价于
Sbw=λ(μ0μ1)

所以有
λ(μ0μ1)=λSww
w=S1w(μ0μ1)

  考虑到数值解的稳定性,在实践中通常是对S_{w}Sw进行奇异值分解,即Sw=UΣVT,这里Σ是一个实对角矩阵,其对角线上的元素是Ww的奇异值,然后再由S1w=VΣ1UT得到S1w

多分类LDA

   可以将LDA推广到多分类任务中。假定存在N个类,且第i类样例数为mi。我们先定义“全局散度矩阵”

St=Sb+Sw=i=1m(xiμ)(xiμ)T

其中μ是所有样例的均值向量。将类内散度矩阵Sw重新定义为每个类别的散度矩阵之和,即
Sw=i=1NSwi

其中
Swi=xXi(xμi)(xμi)T

由以上各式得到
Sb=StSw=i=1m(xiμ)(xiμ)Ti=1NxXi(xμi)(xμi)T=i=1NxXi(xiμ)(xiμ)Ti=1NxXi(xμi)(xμi)T=i=1NxXi(xiμTμxTi+μμT+xiμTi+μixTiμiμTi)=i=1N[miμi(μμi)+(μiμ)miμTi+miμμTmiμiμTi]=i=1Nmi(μiμ)(μiμ)T

显然,多分类LDA可以有多种实现方法:使用Sb,Sw,St三者中的任何两个即可。常见的一种是采用优化目标
maxWtr(WTSbW)tr(WTSwW)

其中WRd×(N1),tr()表示矩阵的迹。为了求解上式,可以令
tr(WTSwW)=1

原问题的拉格朗日问题为
L(W,λ)=tr(WTSbW)+λtr(WTSwW)λ

L(W,λ)W=0,可得到
S1wSbW=λW

W的闭式解则是S1wSbd个最大非零广义特征值所对应的特征向量组成的矩阵,dN1
  若将W视为一个投影矩阵,则多分类LDA将样本投影到d维空间,d通常远小于数据原有的属性d。于是,可通过这个投影来减小样本点的维数,且投影过程中使用了类别信息,因此LDA也常被视为一种经典的监督降维技术。

原创粉丝点击