经典机器学习系列(二)【线性判别分析LDA】

  线性判别分析,英文名称Linear Discriminant Analysis(LDA)是一种经典的线性学习方法。本文针对二分类问题,从直观理解,对其数学建模,之后模型求解,再拓展到多分类问题。

大体思想

  给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。

经典机器学习系列(二)【线性判别分析LDA】_第1张图片

数学原理

  道理是这么个道理,我们现在需要在数学上对其进行分析。我们接下来先建立求解上述问题的数学模型,之后再求解。

数学模型建立

  那我们怎么从数学上去实现上述的思想呢?这里我们以二分类为例,对其展开叙述:

  给定数据集 D = { ( x i , y i ) } i = 1 m D=\{(x_{i},y_{i})\}_{i=1}^{m} D={(xi,yi)}i=1m y i ∈ { 0 , 1 } y_{i} \in \{0,1\} yi{0,1},令 X i X_{i} Xi μ i \mu_{i} μi ∑ i \sum_{i} i分别表示第 i ∈ { 0 , 1 } i \in \{0,1\} i{0,1}类示例的集合、均值向量、协方差矩阵。

  如果将样本投影到直线 w w w上,那么样本所对应的均值和方差也将做一个线性变换,也即是投影之后的均值和方差。依据投影的数学关系,我们可以知道,原始样本的均值 w w w上的投影为 w T μ i w^{T}\mu_{i} wTμi ;原始样本的协方差 w w w上的投影为 w T ∑ i w w^{T}\sum_{i}w wTiw;由于直线在一维空间上,所以 w T μ 0 w^{T}\mu_{0} wTμ0 w T μ 1 w^{T}\mu_{1} wTμ1 w T ∑ 0 w w^{T}\sum_{0}w wT0w w T ∑ 1 w w^{T}\sum_{1}w wT1w均为实数。

  1. 同类样本的投影点尽可能接近这句话在数学上就可以表示为,让同类样本的协方差尽可能地小。即 w T ∑ 0 w w^{T}\sum_{0}w wT0w + w T ∑ 1 w w^{T}\sum_{1}w wT1w尽可能地小;
  2. 异类样本投影点尽可能地远离,所表示的意思就是,让两类样本的均值之间的距离尽可能地大。即 ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 ||w^{T}\mu_{0}-w^{T}\mu_{1}||_{2}^{2} wTμ0wTμ122尽可能大。

  综合以上两点,组合一个最大化的目标函数 J J J

J = ∣ ∣ w T μ 0 − w T μ 1 ∣ ∣ 2 2 w T ∑ 0 w + w T ∑ 1 w = w T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T w w T ( ∑ 0 + ∑ 1 ) w J=\frac{||w^{T}\mu_{0}-w^{T}\mu_{1}||_{2}^{2}}{w^{T}\sum_{0}w+w^{T}\sum_{1}w} \\ =\frac{w^{T}(\mu_{0}-\mu_{1})(\mu_{0}-\mu_{1})^{T}w}{w^{T}(\sum_{0}+\sum_{1})w} J=wT0w+wT1wwTμ0wTμ122=wT(0+1)wwT(μ0μ1)(μ0μ1)Tw

  这个式子看起来符号有点多,我们将其化简一下,定义两个量:类内散度矩阵类间散度矩阵

  • 类内散度矩阵(within-class scatter matrix):

  定义类内散度矩阵 S w = ∑ 0 + ∑ 1 S_{w}=\sum_{0}+\sum_{1} Sw=0+1将其展开可得:

= ∑ x ∈ X 0 ( x − μ 0 ) ( x − μ 0 ) T + ∑ x ∈ X 1 ( x − μ 1 ) ( x − μ 1 ) T =\sum_{x\in X_{0}}(x-\mu_{0})(x-\mu_{0})^{T}+\sum_{x\in X_{1}}(x-\mu_{1})(x-\mu_{1})^{T} =xX0(xμ0)(xμ0)T+xX1(xμ1)(xμ1)T

  • 类间散度矩阵(between-class scatter matrix):

  定义类间散度矩阵 S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_{b}=(\mu_{0}-\mu_{1})(\mu_{0}-\mu_{1})^{T} Sb=(μ0μ1)(μ0μ1)T

  此时,最大化的目标函数 J J J可重写为:

J = w T S b w w T S w w J = \frac{w^{T}S_{b}w}{w^{T}S_{w}w} J=wTSwwwTSbw

  把上式称为 S b S_{b} Sb S w S_{w} Sw广义瑞利商(generalized rayleigh quotient)。

数学模型求解

  现在的问题就变成了,我们怎么来求这个投影方向 w w w,使得目标函数最大。

  优化目标函数 J J J的分子和分母都是关于 w w w的二次项,因此求解最大化 J J J w w w的长度无关,只与其方向有关。那么我们将分母约束为1,将原问题转换为带有约束的最优化问题,再利用拉格朗日乘子法对其求解即可,原问题等价为:

m i n w    − w T S b w min_{w} \ \ -w^{T}S_{b}w minw  wTSbw

s . t .    w T S w w = 1 s.t. \ \ w^{T}S_{w}w =1 s.t.  wTSww=1

  由拉格朗日乘子法可知,上式等价于:

S b w = λ S w w S_{b}w=\lambda S_{w}w Sbw=λSww

  其中 λ \lambda λ是拉格朗日乘子。由于 ( μ 0 − μ 1 ) T w (\mu_{0}-\mu_{1})^{T}w (μ0μ1)Tw是标量,所以 S b w S_{b}w Sbw的方向恒为 μ 0 − μ 1 \mu_{0}-\mu_{1} μ0μ1,不妨令:

S b w = λ ( μ 0 − μ 1 ) S_{b}w=\lambda(\mu_{0}-\mu_{1}) Sbw=λ(μ0μ1)

  这里之所以可以令参数为 λ \lambda λ,是因为整个问题我们都在求解方向,且 S b w S_{b}w Sbw的方向恒为 μ 0 − μ 1 \mu_{0}-\mu_{1} μ0μ1,所以长度设置怎么好算怎么来。将 S b w = λ ( μ 0 − μ 1 ) S_{b}w=\lambda(\mu_{0}-\mu_{1}) Sbw=λ(μ0μ1)带入 S b w = λ S w w S_{b}w=\lambda S_{w}w Sbw=λSww可得:

w = S w − 1 ( μ 0 − μ 1 ) w=S_{w}^{-1}(\mu_{0}-\mu_{1}) w=Sw1(μ0μ1)

  到这里投影方向 w w w的求解就完事了。但上述解涉及到求逆矩阵,考虑数值解的稳定性,实践过程中通常将 S w S_{w} Sw进行奇异值分解。 S w = U ∑ V S_{w}=U\sum V Sw=UV,这里 ∑ \sum 是一个实对角矩阵,其对角线上的元素是 S w S_{w} Sw的奇异值,再求解,得出 S w − 1 = V ∑ − 1 U − 1 S_{w}^{-1}=V \sum^{-1} U^{-1} Sw1=V1U1

LDA推广到多分类

  将 L D A LDA LDA推广到多分类问题中,假定存在 N N N类,且第 i i i类示例数为 m i m_{i} mi。定义“全局散度矩阵 S t S_{t} St

S t = S b + S w = ∑ i = 1 m ( x i − μ ) ( x i − μ ) T S_{t}=S_{b}+S_{w} \\ = \sum_{i=1}^{m}(x_{i}-\mu)(x_{i}-\mu)^{T} St=Sb+Sw=i=1m(xiμ)(xiμ)T

   μ \mu μ是所有样本的均值向量。

  将类内散度矩阵 S w S_{w} Sw重定义为每个类别的散度矩阵之和:

S w = ∑ i = 1 N S w i S_{w}=\sum_{i=1}^{N}S_{w_{i}} Sw=i=1NSwi

  其中:

S w i = ∑ x ∈ X i ( x − μ i ) ( x − μ i ) T S_{w_{i}}=\sum_{x \in X_{i}}(x-\mu_{i})(x-\mu_{i})^{T} Swi=xXi(xμi)(xμi)T

  由此可求解出 S b S_{b} Sb

S b = S t − S w = ∑ i = 1 N m i ( μ i − μ ) ( μ i − μ ) S_{b}=S_{t}-S_{w} \\ = \sum_{i=1}^{N}m_{i}(\mu_{i}-\mu)(\mu_{i}-\mu) Sb=StSw=i=1Nmi(μiμ)(μiμ)

  用 S b S_{b} Sb S w S_{w} Sw S t S_{t} St三者中的任意两者都能够构造优化目标。常见的一种构造如下所示:

m a x W t r ( W T S b W ) t r ( W T S w W ) max_{W}\frac{tr(W^{T}S_{b}W)}{tr(W^{T}S_{w}W)} maxWtr(WTSwW)tr(WTSbW)

  其中 W ∈ R d × ( N − 1 ) W \in R^{d \times (N-1)} WRd×(N1) t r ( ⋅ ) tr(·) tr()表示矩阵的迹(trace)。上式通过广义特征值问题求解:

S b W = λ S w W S_{b}W=\lambda S_{w}W SbW=λSwW

   W W W的闭式解为 S w − 1 S b S_{w}^{-1}S_{b} Sw1Sb d ′ d^{'} d个最大广义特征值所对应的特征向量组成的矩阵, d ′ ≤ N − 1 d^{'} \leq N-1 dN1

  若将 W W W视为一个投影矩阵,则多分类 L D A LDA LDA将样本投影到 d ′ d^{'} d维空间, d ′ d^{'} d通常小于原有属性数 d d d。于是,可通过这个投影来减少样本点的维数,且投影过程中使用了类别信息,因此 L D A LDA LDA也常被视为经典的监督降维技术

  与PCA降维不同LDA降维会保留类的区分信息。在LDA二分类中,第一类的均值与第二类的均值如果重叠在一起,将会找不到投影方向。PCA与LDA并没有某一种比另外一种更好的这种说法。

  本文主要参考书目,周志华机器学习。以前都没发现这书居然写地这么好。emmmm。

我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

你可能感兴趣的:(ML基础原理(已完结))