线性判别分析,英文名称Linear Discriminant Analysis(LDA)是一种经典的线性学习方法。本文针对二分类问题,从直观理解,对其数学建模,之后模型求解,再拓展到多分类问题。
给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。
道理是这么个道理,我们现在需要在数学上对其进行分析。我们接下来先建立求解上述问题的数学模型,之后再求解。
那我们怎么从数学上去实现上述的思想呢?这里我们以二分类为例,对其展开叙述:
给定数据集 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 wT∑iw;由于直线在一维空间上,所以 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 wT∑0w、 w T ∑ 1 w w^{T}\sum_{1}w wT∑1w均为实数。
综合以上两点,组合一个最大化的目标函数 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=wT∑0w+wT∑1w∣∣wTμ0−wTμ1∣∣22=wT(∑0+∑1)wwT(μ0−μ1)(μ0−μ1)Tw
这个式子看起来符号有点多,我们将其化简一下,定义两个量:类内散度矩阵和类间散度矩阵:
定义类内散度矩阵 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} =x∈X0∑(x−μ0)(x−μ0)T+x∈X1∑(x−μ1)(x−μ1)T
定义类间散度矩阵 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=Sw−1(μ0−μ1)
到这里投影方向 w w w的求解就完事了。但上述解涉及到求逆矩阵,考虑数值解的稳定性,实践过程中通常将 S w S_{w} Sw进行奇异值分解。 S w = U ∑ V S_{w}=U\sum V Sw=U∑V,这里 ∑ \sum ∑是一个实对角矩阵,其对角线上的元素是 S w S_{w} Sw的奇异值,再求解,得出 S w − 1 = V ∑ − 1 U − 1 S_{w}^{-1}=V \sum^{-1} U^{-1} Sw−1=V∑−1U−1。
将 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=1∑m(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=1∑NSwi
其中:
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=x∈Xi∑(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=St−Sw=i=1∑Nmi(μ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)} W∈Rd×(N−1), 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} Sw−1Sb的 d ′ d^{'} d′个最大广义特征值所对应的特征向量组成的矩阵, d ′ ≤ N − 1 d^{'} \leq N-1 d′≤N−1。
若将 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
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!