线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的有监督数据降维方法,同时也经常被用来对数据进行降维。它是 Ronald Fisher 在 1936 年发明的,因此也称为是 Fisher Discriminant Analysis (FDA)。
1 LDA 原理
LDA 是为了分类服务的,因此目标是希望找到一个投影方向 w w w,使得投影后的样本尽可能按照原始类别分开。
假设现有数据集 D = ( x 1 , y 1 ) , ( x 1 , y 1 ) , ⋅ ⋅ ⋅ , ( x n , y n ) D = {(x_1, y_1), (x_1, y_1), \cdot \cdot \cdot ,(x_n, y_n)} D=(x1,y1),(x1,y1),⋅⋅⋅,(xn,yn),其中任意样本 x i x_i xi 为 m m m 维向量,数据集中共有 K K K 个类别。定义 N j N_j Nj 为第 j j j 类样本的个数, X j X_j Xj 为第 j j j 类样本的集合, μ j \mu_j μj 为第 j j j 类样本的均值向量, ∑ j \sum_j ∑j 为第 j j j 类样本的“方差”。
因此,原始均值 μ i \mu_i μi 和投影后的均值 μ ~ i \tilde{\mu}_i μ~i 的表达式为分别为:
μ i = 1 N i ∑ x ∈ w i x \mu_i=\frac{1}{N_i}\sum_{x\in w_i}x μi=Ni1x∈wi∑x
μ ~ i = 1 N i ∑ x ∈ w i w T x = w T 1 N i ∑ x ∈ w i x = w T μ i \tilde{\mu}_i=\frac{1}{N_i}\sum_{x\in w_i}w^Tx=w^T\frac{1}{N_i}\sum_{x\in w_i}x=w^T\mu_i μ~i=Ni1x∈wi∑wTx=wTNi1x∈wi∑x=wTμi
方差
s ~ i 2 = ∑ x ∈ w i ( w T x − μ ~ i ) 2 = ∑ x ∈ w i ( w T x − w T μ i ) 2 = ∑ x ∈ w i w T ( x − μ i ) ( x − μ i ) T w = w T S i w \begin{aligned} \tilde{s}_i^2&=\sum_{x\in w_i}(w^Tx-\tilde{\mu}_i)^2\\ &=\sum_{x\in w_i}(w^Tx-w^T\mu_i)^2\\ &=\sum_{x\in w_i}w^T(x-\mu_i)(x-\mu_i)^Tw\\ &=w^TS_iw \end{aligned} s~i2=x∈w