线性判别分析 LDA 理论与代码

博客园相关内容值得一看。 L D A LDA LDA是一种线性分类模型,也可用于降维,其想法是将 y = 0 y=0 y=0的那些数据 X 0 X_0 X0 y = 1 y=1 y=1的那些数据 X 1 X_1 X1投影到低维空间,使得 X 0 X_0 X0的那些点投影后离得近, X 1 X_1 X1的那些点离得近,但是 X 0 X_0 X0 X 1 X_1 X1分别的点离得远。将数据分别投影到直线 w w w上, X i , μ i , Σ i X_i,\mu_i,\Sigma_i Xi,μi,Σi分别是 y = i y=i y=i的数据矩阵,均值向量,协方差矩阵,投影之后的中心值是 w T μ i w^T\mu_i wTμi,协方差值是 w T Σ i w w^T\Sigma_i w wTΣiw,为了使同类的离散程度小,异类的距离大,可最大化 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\Sigma_0 w+w^T\Sigma_1 w}=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1) w} J=wTΣ0w+wTΣ1w∣∣wTμ0wTμ122=wT(Σ0+Σ1)wwT(μ0μ1)(μ0μ1)Tw,定义类内散度矩阵 S w i t h i n = Σ 0 + Σ 1 S_{within}=\Sigma_0+\Sigma_1 Swithin=Σ0+Σ1和类间散度矩阵 S b e t w e e n = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_{between}=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sbetween=(μ0μ1)(μ0μ1)T,则最大化目标可重写为 J = w T S b w w T S w w J=\frac{w^TS_bw}{w^TS_ww} J=wTSwwwTSbw,即 S b S_b Sb S w S_w Sw的广义瑞利商

  • w w w是一个二维向量,它表示的直线是 ( 0 , 0 ) (0,0) (0,0) ( w 1 , w 2 ) (w_1,w_2) (w1,w2)连接的直线

  • 均值向量就是对数据的特征求均值, X m × n X_{m\times n} Xm×n横向求均值压缩成竖条 μ m × 1 \mu_{m\times 1} μm×1

  • 随机变量 X X X方差的公式是 V a r ( X ) = E [ ( X − E ( X ) ) 2 ] Var(X)=E[(X-E(X))^2] Var(X)=E[(XE(X))2],和另一随机变量 Y Y Y的协方差的公式是 C O V ( X , Y ) = E [ ( X − E ( X ) ( Y − E ( Y ) ) ] COV(X,Y)=E[(X-E(X)(Y-E(Y))] COV(X,Y)=E[(XE(X)(YE(Y))],矩阵 X X X协方差矩阵也叫方差矩阵,求法是 E [ ( X − E ( X ) ) 2 ] E[(X-E(X))^2] E[(XE(X))2](更像方差),也就是 1 m ( X − μ ) T ( X − μ ) \frac{1}{m}(X-\mu)^T(X-\mu) m1(Xμ)T(Xμ),得到的矩阵维度是 C O V n × n COV_{n\times n} COVn×n,协方差矩阵表示了数据向量的离散程度

  • 为什么投影之后的方差是 w T Σ w w^T\Sigma w wTΣw

广义瑞利商的分子分母都是 w w w的二次项,因此最优解 J J J w w w的长度无关,最优化 J = w T S b w w T S w w J=\frac{w^TS_bw}{w^TS_ww} J=wTSwwwTSbw,可等价于优化
m i n w   − w T S b w s . t .   w T S w w = 1 min_w\ -w^TS_bw\\ s.t. \ w^TS_ww=1 minw wTSbws.t. wTSww=1

**因此最优解 J J J w w w的长度无关是什么意思?**书上写若 w w w是一个解,则任意 α w \alpha w αw也是一个解

根据拉格朗日乘子法相当于无约束优化
m i n w   − w T S b w + λ w T S w w min_w \ -w^TS_bw+\lambda w^TS_ww minw wTSbw+λwTSww
w w w求偏导是 − ( S b + S b T ) w + λ ( S w + S w T ) w -(S_b+S_b^T)w+\lambda (S_w+S_w^T)w (Sb+SbT)w+λ(Sw+SwT)w,令其为 0 0 0可得到 λ S w w = S b w \lambda S_ww=S_bw λSww=Sbw S b w S_bw Sbw可表示为是 λ ′ ( μ 0 − μ 1 ) \lambda'(\mu_0-\mu_1) λ(μ0μ1),因此 λ ′ ( μ 0 − μ 1 ) = λ S w w \lambda'(\mu_0-\mu_1)=\lambda S_ww λ(μ0μ1)=λSww,由于最优解与 w w w的长度无关,因此 w = S w − 1 ( μ 0 − μ 1 ) w=S_w^{-1}(\mu_0-\mu_1) w=Sw1(μ0μ1),由于 S w S_w Sw可能不可逆,实践上上利用奇异值分解得到 S w − 1 = V Σ − 1 U T S_w^{-1}=V\Sigma^{-1}U^T Sw1=VΣ1UT

  • x A T x xA^Tx xATx x x x求偏导结果是 ( A + A T ) x (A+A^T)x (A+AT)x

  • S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_{b}=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0μ1)(μ0μ1)T S b T = ( ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T ) T = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T = S b S_b^T=((\mu_0-\mu_1)(\mu_0-\mu_1)^T)^T=(\mu_0-\mu_1)(\mu_0-\mu_1)^T=S_b SbT=((μ0μ1)(μ0μ1)T)T=(μ0μ1)(μ0μ1)T=Sb,因此 S b S_b Sb是对称矩阵

  • S w = Σ 0 + Σ 1 S_{w}=\Sigma_0+\Sigma_1 Sw=Σ0+Σ1,两个协方差矩阵都是对称矩阵,因此 S w S_w Sw是对称矩阵

  • 对称矩阵满足 S + S T = 2 S S+S^T=2S S+ST=2S

  • S b e t w e e n = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_{between}=(\mu_0-\mu_1)(\mu_0-\mu_1)^T Sbetween=(μ0μ1)(μ0μ1)T 是一个秩一矩阵,它的秩就在 μ 0 − μ 1 \mu_0-\mu_1 μ0μ1这条线上, S b w S_bw Sbw是将 w w w变换到 S b S_b Sb的列空间中,肯定是变换到了 μ 0 − μ 1 \mu_0-\mu_1 μ0μ1这条线上,因此 S b w S_bw Sbw可表示为是 λ ( μ 0 − μ 1 ) \lambda(\mu_0-\mu_1) λ(μ0μ1)

L D A LDA LDA推广到多分类任务,定义全局散度矩阵 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 = Σ 0 + Σ 1 + ⋯ + Σ k S_w=\Sigma_0+\Sigma_1+\dots+\Sigma_k Sw=Σ0+Σ1++Σk,即 k k k个类别的协方差矩阵和, S b = S t − S w S_b=S_t-S_w Sb=StSw,多分类 L D A LDA LDA最常见是最优化 J = t r ( W T S b W ) t r ( W T S w W ) J=\frac{tr(W^TS_bW)}{tr(W^TS_wW)} J=tr(WTSwW)tr(WTSbW),其中 W W W是投影矩阵,可将原数据 X X X投影到 N N N维度, W W W的解是 S w − 1 S b S_w^{-1}S_b Sw1Sb的前 N N N个最大广义特征值所对应的特征向量矩阵。 L D A LDA LDA的代码 L D A LDA LDA理论 L D A LDA LDA P C A PCA PCA的异同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_森罗万象

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值