西瓜书第3章之LDA

3.3.1 LDA(线性判别分析-----二分类)

给定训练集,将样本投影到一条直线上,使得投影后的异类样本尽可能远离 a r g m a x ( ∣ ∣ w T u 0 − w T u 1 ∣ ∣ ) argmax(||w^Tu_0-w^Tu_1||) argmax(wTu0wTu1)同类样本尽可能靠近
a r g m i n ( w T ∑ 0 w + w T ∑ 1 w ) argmin(w^T\sum_0w+w^T\sum_1w) argmin(wT0w+wT1w)使得对新样本进行分类时,对其投影到这条直线上,根据投影位置确定类别。其中 X i , u i , ∑ i 分 别 表 示 示 例 集 合 、 均 值 向 量 、 协 方 差 矩 阵 。 X_i,u_i,\sum_i分别表示示例集合、均值向量、协方差矩阵。 Xi,ui,i
J = ∣ ∣ w T u 0 − w T u 1 ∣ ∣ 2 w T ∑ 0 w + w T ∑ 1 w = w T ( u 0 − u 1 ) ( u 0 − u 1 ) T w w T ( ∑ 0 + ∑ 1 ) w J= \frac{||w^Tu_0-w^Tu_1||^2}{w^T\sum_0w+w^T\sum_1w} \\ = \frac{w^T(u_0-u_1)(u_0-u_1)^Tw}{w^T(\sum_0+\sum_1)w} J=wT0w+wT1wwTu0wTu12=wT(0+1)wwT(u0u1)(u0u1)Tw
定义类内散度矩阵
令 S w = ∑ 0 + ∑ 1 = ∑ x ∈ X 0 ( x − u 0 ) ( x − u 0 ) T + ∑ x ∈ X 1 ( x − u 1 ) ( x − u 1 ) T 令S_w = \sum_0+\sum_1 \\ = \sum_{x\in X_0}(x-u_0)(x-u_0)^T+\sum_{x\in X_1}(x-u_1)(x-u_1)^T Sw=0+1=xX0(xu0)(xu0)T+xX1(xu1)(xu1)T
定义类间散度矩阵
令 S b = ( u 0 − u 1 ) ( u 0 − u 1 ) T 令S_b=(u_0-u_1)(u_0-u_1)^T Sb=(u0u1)(u0u1)T
则目标为确定J最大时w的值 J = w T S b w w T S w w J=\frac{w^TS_bw}{w^TS_ww} J=wTSwwwTSbw
w T S w w = 1 w^TS_ww=1 wTSww=1原式变为 m i n ( − w T S b w ) min (-w^TS_bw) min(wTSbw) s . t . w T S w w = 1 s.t.w^TS_ww=1 s.t.wTSww=1
根据拉格朗日乘子式可得 J = − w T S b w + λ ( w T S w w − 1 ) J=-w^TS_bw+\lambda (w^TS_ww-1) J=wTSbw+λ(wTSww1)
∂ J ∂ w = 0 S b w = λ S w w ( u 0 − u 1 ) ( u 0 − u 1 ) T w = λ S w w \frac{\partial J}{\partial w}= 0 \\ S_bw=\lambda S_ww \\ (u_0-u_1)(u_0-u_1)^Tw=\lambda S_ww \\ wJ=0Sbw=λSww(u0u1)(u0u1)Tw=λSww因为 ( u 0 − u 1 ) T w (u_0-u_1)^Tw (u0u1)Tw为常数,设为 λ w \lambda_{w} λw ( u 0 − u 1 ) λ w = λ S w w (u_0-u_1)\lambda_w=\lambda S_ww (u0u1)λw=λSww常数 λ λ w 只 是 对 w 的 放 大 或 缩 小 , 所 以 删 掉 得 \lambda \lambda_w只是对w的放大或缩小,所以删掉得 λλww
w ∗ = S w − 1 ( u 0 − u 1 ) w^*=S_w^{-1}(u_0-u_1) w=Sw1(u0u1)
若存在 S w S_w Sw不可逆,则利用奇异值分解(SVD)来求得。

3.3.2 LDA(多分类问题)

对于多分类的问题, m i m_i mi表示第i类样本的个数。μ 为所有样本的样本均值,而 u i u_i ui则表示第i类样本的样本均值。此时我们得到的都是矩阵而不再是二分类的实数。类间散度矩阵: S b = ∑ i = 1 N m i ( u i − u ) ( u i − u ) T S_b=\sum_{i=1}^Nm_i(u_i-u)(u_i-u)^T Sb=i=1Nmi(uiu)(uiu)T类内散度矩阵: S w = ∑ i = 1 N ∑ x ∈ X i ( x − u i ) ( x − u i ) T S_w=\sum_{i=1}^N\sum_{x\in X_i}(x-u_i)(x-u_i)^T Sw=i=1NxXi(xui)(xui)T
优化目标为 J m a x = ∣ W T S b W ∣ ∣ W T S w W ∣ J_{max}=\frac{|W^TS_bW|}{|W^TS_wW|} Jmax=WTSwWWTSbW J m a x = t r ( W T S b W ) t r ( W T S w W ) J_{max}=\frac{tr(W^TS_bW)}{tr(W^TS_wW)} Jmax=tr(WTSwW)tr(WTSbW)
参照二分类求解,可转化为 S b W = λ S w W λ = S w − 1 S b S_bW= \lambda S_wW \\ \lambda= S_w^{-1}S_b SbW=λSwWλ=Sw1Sb
W ∗ = J m a x = ∣ W T S b W ∣ ∣ W T S w W ∣ = ∣ W T λ S w W ∣ ∣ W T S w W ∣ = λ W^*=J_{max}= \frac{|W^TS_bW|}{|W^TS_wW|} \\ = \frac{|W^T\lambda S_wW|}{|W^TS_wW|} \\ = \lambda W=Jmax=WTSwWWTSbW=WTSwWWTλSwW=λ
S b = ∑ i = 1 N m i ( u i − u ) ( u i − u ) T S_b=\sum_{i=1}^Nm_i(u_i-u)(u_i-u)^T Sb=i=1Nmi(uiu)(uiu)T
可以看出, S b S_b Sb是K个秩一矩阵 ( m k − m ) ( m k − m ) T (m_k-m)(m_k-m)^T (mkm)(mkm)T的和(因为 ( m k − m ) (m_k-m) (mkm)是秩一的向量),所以它的秩最大为K。并 N m = N 1 m 1 + N 2 m 2 + … + N k m k Nm=N_1m_1+N_2m_2+\ldots+N_km_k Nm=N1m1+N2m2++Nkmk,这K项中有一项可以被线性表出。 所以, S b S_b Sb的秩最大为K-1。
所以参数W的值闭式解为矩阵 S ω − 1 S b S^{−1}_ωS_b Sω1Sb的d个最大特征值所对应的特征向量,其中d<=c-1。因为特征向量的个数通常要远远少于原有数据特征的个数,因此线性判别分析也被视为一种经典的监督降维技术。

可参考教科书上的LDA为什么长这个样子?

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值