线性判别分析

线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的线性分类方法。它设法将数据集投影到一条直线上,使得同类样例的投影点尽可能接近,异类样例的投影点尽可能远。这样,在分类时,新样本同样投影到这条直线上,根据投影点的位置来确定类别。

由于LDA把原来N维的样本投影到了N-1维空间,因而也常被视为一种经典的降维技术。

LDA算法

预使得同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即$$w^T\sum_0w+w^T\sum_1w$$尽可能小。预使得异类样例的投影点尽可能远,可以让不同类样例的投影点尽可能远,即让类中心距离尽可能大,即$$||w^Tu_0-w^Tu_1||_2^2$$尽可能大。这样,目标函数为

$$J=\frac{w^TS_bw}{w^TS_ww}$$

其中

类内散度矩阵$$S_w=\sum_0+\sum_1=\sum_{x \epsilon X_0}(x-u_0)(x-u_0)^T+\sum_{x \epsilon X_1}(x-u_1)(x-u_1)^T$$

类间散度矩阵 $$S_b=(u_0-u_1)(u_0-u_1)^T$$

使用拉格朗日乘子法 $$S_bw=\lambda S_ww$$,可以求解得到

$$w=S_w^{-1}(u_0-u_1)$$

对多分类情况,$$S_bW=\lambda S_wW$$,$$W$$的解是$$S_w^{-1}S_b$$的 $$N-1$$ 个最大广义特征值所对应的特征向量组成的矩阵。