线性判别分析(LDA)
算法描述
核心思想:
- LDA方法属于有监督降维,其需要由标签信息输入
- 算法目标是将样本矩阵X经过线性映射W投影到子空间,使降维后样本类间距离尽可能远,类内方差足够小(最大化类间距离,最小化类内距离)
相关定义:
-
输入数据集 X = [ x 1 , x 2 , . . . , x N ] X=[x_1,x_2,...,x_N] X=[x1,x2,...,xN]
-
定义指示矩阵F,矩阵大小为N*C(样本数*类别数);该矩阵每个行向量 F i F_i Fi与样本 x i x_i xi对应,当 x i x_i xi为第c类样本, F i c = 1 F_{ic}=1 Fic=1且 F i F_i Fi其他元素为0
-
有关F的计算:
-
F T F C ∗ C = [ n 1 0 . . . 0 0 n 2 . . . 0 . . . . . . . . . . . . 0 0 . . . n c ] ( n i 为 第 i 类 样 本 的 数 量 ) \underset{C*C}{F^TF}=\left[ \begin{matrix} n_1 & 0 & ... & 0\\ 0 & n_2 & ...& 0\\ ... & ... & ... & ...\\ 0 & 0 & ... & n_c \end{matrix} \right]\\ (n_i为第 i类样本的数量) C∗CFTF=⎣⎢⎢⎡n10...00n2...0............00...nc⎦⎥⎥⎤(ni为第i类样本的数量)
-
X F = [ ∑ j x j 1 , ∑ j x j 2 , . . . , ∑ j x j C ] ( x j c 代 表 第 c 类 的 第 j 个 样 本 ; X F 的 列 向 量 X _ j 代 表 第 j 类 样 本 向 量 之 和 ) XF=[\sum_jx_j^1, \sum_jx_j^2,...,\sum_jx_j^C]\\ (x_j^c代表第c类的第j个样本;XF的列向量X_{\_j}代表第j类样本向量之和) XF=[j∑xj1,j∑xj2,...,j∑xjC](xjc代表第c类的第j个样本;XF的列向量X_j代表第j类样本向量之和)
-
M = X F ( F T F ) − 1 = [ u 1 , u 2 , . . . u c ] ( u i 为 第 i 类 样 本 均 值 ) M=XF(F^TF)^-1=[u_1, u_2,...u_c]\\ (u_i为第i类样本均值) M=XF(FTF)−1=[u1,u2,...uc](ui为第i类样本均值)
-
M F T = [ u c 1 , u c 2 , . . . , u c n ] ( u c i 代 表 第 i 个 样 本 对 应 类 别 的 均 值 ) MF^T=[u_{c1},u_{c2},...,u_{cn}]\\ (u_{ci}代表第i个样本对应类别的均值) MFT=[uc1,uc2,...,ucn](uci代表第i个样本对应类别的均值)
-
-
-
瑞利商:
- 函数 R ( A , x ) = x T A x x T x R(A,x)=\frac{x^TAx}{x^Tx} R(A,x)=xTxxTAx称作广义瑞利商
- 有性质:瑞利商最大值等于矩阵A最大的特征值,最小值等于矩阵A的最小的特征值
-
广义瑞利商:
-
函数 R ( A , B , x ) = x T A x x T B x R(A,B,x)=\frac{x^TAx}{x^TBx} R(A,B,x)=xTBxxTAx称作广义瑞利商
-
标准化,令: x = B − 1 2 x ′ x=B^{-\frac12}x' x=B−21x′,得:
x T B x = x ′ T ( B − 1 2 ) T B B − 1 2 x ′ = x ′ T B − 1 2 B B − 1 2 x ′ = x ′ T x ′ x T A x = x ′ T B − 1 2 A B − 1 2 x ′ x^TBx=x'^T(B^{-\frac12})^TBB^{-\frac12}x'=x'^TB^{-\frac12}BB^{-\frac12}x'=x'^Tx'\\ x^TAx=x'^TB^{-\frac12}AB^{-\frac12}x' xTBx=x′T(B−21)TBB−21x′=x′TB−21BB−21x′=x′Tx′xTAx=x′TB−21AB−21x′R ( A , B , x ) = x ′ T B − 1 2 A B − 1 2 x ′ x ′ T x ′ R(A,B,x)=\frac{x'^TB^{-\frac12}AB^{-\frac12}x'}{x'^Tx'} R(A,B,x)=x′Tx′x′TB−21AB−21x′
-
结合瑞利商性质,R(A,B,x′)R(A,B,x′)的最大值为矩阵 B − 1 2 A B − 1 2 B^{-\frac12}AB^{-\frac12} B−21AB−21最大特征值,最小值为矩阵 B − 1 2 A B − 1 2 B^{-\frac12}AB^{-\frac12} B−21AB−21的最小特征值
-
-
类间散度矩阵 S b S_b Sb:
- 目的是令各类之间尽可能分开,可以用各类样本中心方差表示:
S w = ∑ i = 1 C n i ( u i − u ˉ ) ( u i − u ˉ ) T S_w=\sum_{i=1}^Cn_i(u_i-\bar u)(u_i-\bar u)^T Sw=i=1∑Cni(ui−uˉ)(ui−uˉ)T
- 矩阵形式:
S w = ( X − X F ( F T F ) − 1 F T ) ( X − X F ( F T F ) − 1 F T ) T = ( X − M F T ) ( X − M F T ) T = X X T − M F T X T = X X T − X F ( F T F ) − 1 F T X T ( M = X F ( F T F ) − 1 ) \begin{aligned} S_w &=(X-XF(F^TF)^{-1}F^T)(X-XF(F^TF)^{-1}F^T)^T\\ &= (X-MF^T)(X-MF^T)^T\\ &= XX^T-MF^TX^T\\ &= XX^T-XF(F^TF)^{-1}F^TX^T\\ &(M=XF(F^TF)^{-1}) \end{aligned} Sw=(X−XF(FTF)−1FT)(X−XF(FTF)−1FT)T=(X−MFT)(X−MFT)T=XXT−MFTXT=XXT−XF(FTF)−1FTXT(M=XF(FTF)−1)
-
类内散度矩阵 S w S_w Sw:
- 目的是同类之间尽可能集中,因此可以用各类样本方差 S w i S_{wi} Swi之和表示:
S b = ∑ i = 1 C S w i = ∑ i = 1 C ∑ j = 1 N i ( x i j − u i ) ( x i j − u i ) T S_b=\sum_{i=1}^CS_{w_i}=\sum_{i=1}^C\sum_{j=1}^{N_i}(x_i^j-u_i)(x_i^j-u_i)^T Sb=i=1∑CSwi=i=1∑Cj=1∑Ni(xij−ui)(xij−ui)T
- 矩阵形式:
S b = S t − S w = X F ( F T F ) − 1 F T X T \begin{aligned} S_b&=\ S_t-S_w=XF(F^TF)^{-1}F^TX^T \end {aligned} Sb= St−Sw=XF(FTF)−1FTXT
-
S w 与 S b S_w与S_b Sw与Sb满足: S t = W W T = S b + S w S_t=WW^T=S_b+S_w St=WWT=Sb+Sw
证明:
S t − S w = ∑ i = 1 N ( x i − x ˉ ) ( x i − x ˉ ) T − ∑ i = 1 C ∑ j = 1 N j ( x j − x i ˉ ) ( x j − x i ˉ ) T = ∑ i = 1 C ∑ j = 1 N j [ ( x j − x ˉ ) ( x j − x ˉ ) T − ( x j − x i ˉ ) ( x j − x i ˉ ) T ] = ∑ i = 1 C ∑ j = 1 N j [ x j x j T − x j x ˉ T − x ˉ x j T + x ˉ x ˉ T − x j x j T + x j x i ˉ T + x i ˉ x j − x i ˉ x i ˉ T ] = ∑ i = 1 C ∑ j = 1 N j [ − x j x ˉ T − x ˉ x j T + x ˉ x ˉ T + x j x i ˉ T + x i ˉ x j − x i ˉ x i ˉ T ] \begin{aligned} S_t-S_w &= \sum_{i=1}^N(x_i-\bar{x})(x_i-\bar{x})^T-\sum_{i=1}^C\sum_{j=1}^{N_j}(x_j-\bar{x_i})(x_j-\bar{x_i})^T\\ &= \sum_{i=1}^C\sum_{j=1}^{N_j}[(x_j-\bar{x})(x_j-\bar{x})^T-(x_j-\bar{x_i})(x_j-\bar{x_i})^T]\\ &= \sum_{i=1}^C\sum_{j=1}^{N_j}[x_jx_j^T-x_j\bar{x}^T-\bar{x}x_j^T+\bar{x}\bar{x}^T-x_jx_j^T+x_j\bar{x_i}^T+\bar{x_i}x_j-\bar{x_i}\bar{x_i}^T]\\ &= \sum_{i=1}^C\sum_{j=1}^{N_j}[-x_j\bar{x}^T-\bar{x}x_j^T+\bar{x}\bar{x}^T+x_j\bar{x_i}^T+\bar{x_i}x_j-\bar{x_i}\bar{x_i}^T]\\ \end{aligned} St−Sw=i=1∑N(xi−xˉ)(xi−xˉ)T−i=1∑Cj=1∑Nj(xj−xiˉ)(xj−xiˉ)T=i=1∑Cj=1∑Nj[(xj−xˉ)(xj−xˉ)T−(xj−xiˉ)(xj−xiˉ)T]=i=1∑Cj=1∑Nj[xjxjT−xjxˉT−xˉxjT+xˉxˉT−xjxjT+xjxiˉT+xiˉxj−xiˉxiˉT]=i=1∑Cj=1∑Nj[−xjxˉT−xˉxjT+xˉxˉT+xjxiˉT+xiˉxj−xiˉxiˉT]
取第i类:
− ∑ j = 1 N i x j x ˉ T − ∑ j = 1 N i x ˉ x j T + ∑ j = 1 N i x ˉ x ˉ T + ∑ j = 1 N i x j x i ˉ T + ∑ j = 1 N i x i ˉ x j − ∑ j = 1 N i x i ˉ x i ˉ T = − N i x i ˉ x ˉ − N i x ˉ x i ˉ + N i x ˉ x ˉ T + N i x i ˉ x i ˉ T + N i x i ˉ x i ˉ T − N i x i ˉ x i ˉ T = N i ( − x i ˉ x ˉ T − x ˉ x i ˉ T + x ˉ x ˉ T + x i ˉ x i ˉ T ) = N i ( x i ˉ − x ˉ ) ( x i ˉ − x ˉ ) T \begin{aligned} & -\sum_{j=1}^{N_i}x_j\bar{x}^T-\sum_{j=1}^{N_i}\bar{x}x_j^T+\sum_{j=1}^{N_i}\bar{x}\bar{x}^T+\sum_{j=1}^{N_i}x_j\bar{x_i}^T+\sum_{j=1}^{N_i}\bar{x_i}x_j-\sum_{j=1}^{N_i}\bar{x_i}\bar{x_i}^T\\ &= -N_i\bar{x_i}\bar{x}-N_i\bar{x}\bar{x_i}+N_i\bar{x}\bar{x}^T+N_i\bar{x_i}\bar{x_i}^T+N_i\bar{x_i}\bar{x_i}^T-N_i\bar{x_i}\bar{x_i}^T\\ &= N_i(-\bar{x_i}\bar{x}^T-\bar{x}\bar{x_i}^T+\bar{x}\bar{x}^T+\bar{x_i}\bar{x_i}^T)\\ &= N_i(\bar{x_i}-\bar{x})(\bar{x_i}-\bar{x})^T\\ \end{aligned} −j=1∑NixjxˉT−j=1∑NixˉxjT+j=1∑NixˉxˉT+j=1∑NixjxiˉT+j=1∑Nixiˉxj−j=1∑NixiˉxiˉT=−Nixiˉxˉ−Nixˉxiˉ+NixˉxˉT+NixiˉxiˉT+NixiˉxiˉT−NixiˉxiˉT=Ni(−xiˉxˉT−xˉxiˉT+xˉxˉT+xiˉxiˉT)=Ni(xiˉ−xˉ)(xiˉ−xˉ)T
累加得:
S t − S w = ∑ i = 1 C N i ( x i ˉ − x ˉ ) ( x i ˉ − x ˉ ) T = S b \begin{aligned} S_t-S_w &= \sum_{i=1}^CN_i(\bar{x_i}-\bar{x})(\bar{x_i}-\bar{x})^T =S_b \end{aligned} St−Sw=i=1∑CNi(xiˉ−xˉ)(xiˉ−xˉ)T=Sb
目标优化推导:
-
优化目标:
对线性映射 Y = W T X Y=W^TX Y=WTX,优化的方向是:
-
同类样本投影后尽可能接近 ==> 对同类样本,投影后的 W T x i W^Tx_i WTxi之间方差尽可能小
- 最大化目标:
∑ i = 1 C W T X i X i T W = S w = ∑ i = 1 C W T ∑ i W = W T S w W \sum_{i=1}^CW^TX_iX_i^TW=S_w=\sum_{i=1}^CW^T∑_iW=W^TS_wW i=1∑CWTXiXiTW=Sw=i=1∑CWTi∑W=WTSwW
- 最大化目标:
-
异类样本投影后尽可能远离 ==> 对异类样本,投影后样本中心点 W T u i W^Tu_{i} WTui之间方差尽可能大
- 最小化目标:
∑ i = 1 C ∑ j = 1 N i ( W T x i j − W T u i ) ( W T x i j − W T u i ) T = W T S b W \sum_{i=1}^C\sum_{j=1}^{N_i}(W^Tx_i^j-W^Tu_i)(W^Tx_i^j-W^Tu_i)^T=W^TS_bW i=1∑Cj=1∑Ni(WTxij−WTui)(WTxij−WTui)T=WTSbW
- 最小化目标:
-
可以定义优化目标为:
a r g m a x W J ( W ) = a r g m a x W ∏ d i a g ( W T S b W ) ∏ d i a g ( W T S w W ) \underset{W}{argmax}J(W)=\underset{W}{argmax}\frac{\prod_{diag}(W^TS_bW)}{\prod_{diag}(W^TS_wW)}\\ WargmaxJ(W)=Wargmax∏diag(WTSwW)∏diag(WTSbW)
J ( W ) J(W) J(W)可转化为广义瑞利商的乘积:
J ( W ) = ∏ d i a g ( W T S b W ) ∏ d i a g ( W T S w W ) = ∏ i = 1 m w i T S b w ∏ i = 1 m w i T S w w = ∏ i = 1 m w i T S b w w i T S w w J(W)=\frac{\prod_{diag}(W^TS_bW)}{\prod_{diag}(W^TS_wW)}=\frac{\prod_{i=1}^mw_i^TS_bw}{\prod_{i=1}^mw_i^TS_ww}=\prod_{i=1}^m\frac{w_i^TS_bw}{w_i^TS_ww} J(W)=∏diag(WTSwW)∏diag(WTSbW)=∏i=1mwiTSww∏i=1mwiTSbw=i=1∏mwiTSwwwiTSbw
根据广义瑞利商性质,有:w i T S b w w i T S w w \frac{w_i^TS_bw}{w_i^TS_ww} wiTSwwwiTSbw最大值m个为矩阵 S w − 1 S b S_w^{-1}S_b Sw−1Sb的最大m个特征值,此时m个特征值对应的m个特征向量张成矩阵W
-
-
矩阵形式推导:
-
定义目标函数:
a r g m a x W J ( W ) = a r g m a x W t r ( W T S b W ) t r ( W T S w W ) \underset{W}{argmax}J(W)=\underset{W}{argmax\ \ }\frac{tr(W^TS_bW)}{tr(W^TS_wW)} WargmaxJ(W)=Wargmax tr(WTSwW)tr(WTSbW)约束 t r ( W T S w W ) = n tr(W^TS_wW)=n tr(WTSwW)=n,即 W T S w W = I W^TS_wW=I WTSwW=I
此时优化目标为:
m a x W t r ( W T S b W ) s . t . W T S w W = I \underset{W}{max}\ tr(W^TS_bW)\\ s.t.\ W^TS_wW=I Wmax tr(WTSbW)s.t. WTSwW=I
使用拉格朗日乘子法,将目标转换为:
L = t r ( W T S b W ) − t r ( Λ ( W T S w W − I ) ) L = tr(W^TS_bW)-tr(\Lambda(W^TS_wW-I)) L=tr(WTSbW)−tr(Λ(WTSwW−I))
求导,令对W偏导为0,得:
2 S b W − 2 Λ S m W = 0 得 : S b W = Λ S m W 有 : S m − 1 S b W = Λ W 2S_bW-2\Lambda S_mW=0\\ 得:S_bW=\Lambda S_m W\\ 有:S_m^{-1}S_bW=\Lambda W 2SbW−2ΛSmW=0得:SbW=ΛSmW有:Sm−1SbW=ΛW
与先前在PCA过程中的推导类似,得到W由 S m − 1 S b S_m^{-1}S_b Sm−1Sb的特征向量作为列向量构成,且为了最大化目标函数,选取的特征向量应该是最大m个特征值对应的特征向量
-
算法流程
1)输入:样本向量集 X = [ x 1 , x 2 , . . . , x n ] X=[x_1,x_2,...,x_n] X=[x1,x2,...,xn];样本标签 Y = [ y 1 , y 2 , . . . , y n ] T Y=[y_1,y_2,...,y_n]^T Y=[y1,y2,...,yn]T, y i ∈ { c 1 , c 2 , . . . , c C } y_i\in \{c_1,c_2,...,c_C\} yi∈{c1,c2,...,cC};目标维度m
2)计算类内散度矩阵 S w S_w Sw,类间散度矩阵 S b S_b Sb
3)计算 S w − 1 S b S_w^{-1}S_b Sw−1Sb,并进行特征值分解,得到最大m个特征值与对应特征向量 w 1 , w 2 , . . . , w m w_1,w2,...,w_m w1,w2,...,wm
4)对 W = [ w 1 , w 2 , . . . , w m ] W=[w_1,w_2,...,w_m] W=[w1,w2,...,wm],对原样本集进行变换,得到 Y ′ = W T X Y'=W^TX Y′=WTX,完成降维
参考资料
【2】《统计学习方法》李航