线性判别分析 Linear Discriminant Analysis,LDA

线性判别分类器由向量$w$和误差项$b$构成。给定样例$x$,其按照以下规则预测得到类别标记$y$,即
$y=sign(w^Tx+b)$
后面统一使用小写表示列向量,转置表示行向量。
分类过程分为以下两步:html

  • 首先,使用权重向量w将样本空间投影到直线上去
  • 而后,寻找直线上一个点把正样本和负样本分开。

为了寻找最有的线性分类器,即$w$和$b$,一个经典的学习算法是线性判别分析(Fisher's Linear Discriminant Analysis,LDA)。算法

简要来讲,LDA的基本想法是使不一样的样本尽可能原理,使同类样本尽可能靠近。segmentfault

这一目标能够经过扩大不一样类样本的类中心距离,同时缩小每一个类的类内方差来实现。函数

在一个二分类数据集上,分别记全部正样本的的均值为$\\mu_+$,协方差矩阵为$\\Sigma_+$;全部负样本的的均值为$\\mu_-$,协方差矩阵为$\\Sigma_-$。学习

类间距离

投影后的类中心间距离为正类中心的投影点值减去负类投影点值:
$$S_B(w)=(w^T\mu_+-w^T\mu_-)^2$$优化

类内距离

同时,类内方差可写为:
$$S_W(w)=\frac{\sum_x(w^Tx_i-w^T\mu_+)^2+\sum_x(w^Tx_i-w^T\mu_-)^2}{n-1}$$htm

$$=\frac{\sum_x(w^T(x_i-\mu_+))^2+\sum_x(w^T(x_i-\mu_-))^2}{n-1}$$blog

$$=\frac{\sum_xw^T(x_i-\mu_+)(w^T(x_i-\mu_+))^T+\sum_xw^T(x_i-\mu_-)(w^T(x_i-\mu_-))^T}{n-1}$$文档

$$=\frac{w^T\sum_x(x_i-\mu_+)(x_i-\mu_+)^Tw+w^T\sum_x(x_i-\mu_-)(x_i-\mu_-)^Tw}{n-1}$$get

其中
$$\frac{\sum_x(x_i-\mu_+)(x_i-\mu_+)^T}{n-1} = \Sigma_+$$
是正类的协方差矩阵,注意
$$x(x_i-\mu_+)$$
是列向量,因此协方差是一个长宽等于数据维度的方阵。

最后:

$$S_W(w)=w^T\Sigma_+w+w^T\Sigma_-w$$

优化目标

线性判别式的总目标就是最大化类间距离,最小化类内方差,相似于聚类:

$$ \mathop{\arg\max}\limits_{w} J(w) = \frac{S_B(w)}{S_W(w)}$$

$$=\frac{(w^T\mu_+-w^T\mu_-)^2}{w^T\Sigma_+w+w^T\Sigma_-w}$$

$$= \frac{w^T(\mu_+-\mu_-)(w^T(\mu_+-\mu_-))^T}{w^T(\Sigma_+-\Sigma_-)w}$$

$$= \frac{w^T(\mu_+-\mu_-)(\mu_+-\mu_-)^Tw}{w^T(\Sigma_+-\Sigma_-)w}$$

看到这个形式,咱们根据上一篇文档的知识知道这个可使用广义瑞利商来求极大值

广义瑞利商

**背景介绍及推导见(瑞利商(Rayleigh quotient)与广义瑞利商(genralized Rayleigh quotient)
**
下面只摘抄一些:

广义瑞利商是指这样的函数$𝑅(𝐴,𝐵,𝑥)$:
$$R(A,B,x) = \cfrac{X^{H}Ax}{X^{H}Bx}$$
其中𝑥为非零向量,而𝐴,𝐵为$𝑛×𝑛$的Hermitan矩阵。𝐵为正定矩阵


$$A=(\mu_+-\mu_-)(\mu_+-\mu_-)^T$$

$$B= \Sigma_+-\Sigma_- $$

$$ \mathop{\arg\max}\limits_{w} J(w) = \frac{w^TAw}{w^TBw}$$

这个就很广义瑞利商了。

至于w的值,使用拉格朗日乘子法能够求解获得:

$$B^{-1}Aw = \lambda w$$

$$B^{-1}(\mu_+-\mu_-)(\mu_+-\mu_-)^Tw = \lambda w$$

因为
$$(\mu_+-\mu_-)^Tw$$
是行向量乘列向量,因此结果是一个标量,
那咱们知道:
$$B^{-1}(\mu_+-\mu_-) \propto \lambda w$$

$$(\Sigma_+-\Sigma_-)^{-1}(\mu_+-\mu_-) \propto w$$

因为w咱们只关注方向而不是长度,因此能够认为:

$$w_{best} =(\Sigma_+-\Sigma_-)^{-1}(\mu_+-\mu_-)$$

教科书上的LDA为何长这样?
线性判别分析LDA原理总结