<aside> 💡 LDA 简述
给入一组二分类标注的高维空间数据。找到一个此高维空间到一维空间的线性映射 $y = {\boldsymbol w} ^{\rm T} \boldsymbol x$,使得在一维空间中分类结果尽可能分明。
</aside>
上面说的「找到一个高维空间到一维空间的线性映射」也可以说是设法找到一条过原点的直线,映射结果即为投影结果,因而可以得到下图的表达。「尽可能分明值的是」:
设降维方法为 $y = {\boldsymbol w} ^{\rm T} \boldsymbol x$,令 $X_c$ 表示两类别的集合,$c\in\{0, 1\}$。设两类样本的均值分别为 $\boldsymbol \mu_0, \boldsymbol \mu_1$(因为是各个维度下的均值,排成的是向量):
$$ \boldsymbol \mu_c = \frac{1}{|X_c|}\sum_{\boldsymbol x_c\in X_c} \boldsymbol x_c $$
那么根据线性变换,变换后均值可以从求和号里提出来,为 ${\boldsymbol w} ^{\rm T} \boldsymbol \mu_0, {\boldsymbol w} ^{\rm T} \boldsymbol \mu_1$(一维量)。
类间方差 $\sigma_B$ 即可描述为变换后均值间的距离的平方 $\sigma_B = | {\boldsymbol w} ^{\rm T} \boldsymbol \mu_0 - {\boldsymbol w} ^{\rm T} \boldsymbol \mu_1 |^2$。
求每个类变换后内部的类内方差 $\sigma_{I,c}$。
$$ \begin{align*}
\sigma_{I,c}
&= \frac{1}{|X_c|}\sum_{\boldsymbol x_c\in X_c} ( {\boldsymbol w} ^{\rm T} \boldsymbol x_c - {\boldsymbol w}^{\rm T} \boldsymbol \mu_c )^2
= \frac{1}{|X_c|}\sum_{\boldsymbol x_c\in X_c} ({\boldsymbol w} ^{\rm T} ( \boldsymbol x_c - \boldsymbol \mu_c ))^2 \\
&= \frac{1}{|X_c|}\sum_{\boldsymbol x_c\in X_c} {\boldsymbol w} ^{\rm T} ( \boldsymbol x_c - \boldsymbol \mu_c ) ( \boldsymbol x_c - \boldsymbol \mu_c )^{\rm T} {\boldsymbol w} \\
&= {\boldsymbol w} ^{\rm T} \left( \frac{1}{|X_c|}\sum_{\boldsymbol x_c\in X_c} ( \boldsymbol x_c - \boldsymbol \mu_c ) ( \boldsymbol x_c - \boldsymbol \mu_c )^{\rm T} \right){\boldsymbol w}
\end{align*} $$
$\frac{1}{|X_c|}\sum_{\boldsymbol x_c\in X_c} ( \boldsymbol x_c - \boldsymbol \mu_c ) ( \boldsymbol x_c - \boldsymbol \mu_c )^{\rm T}$ 是一个数据集决定的特征,其实就是这个数据集上的协方差矩阵(记为 $\boldsymbol \Sigma_c$),描述的是高维空间各维度间的关系(如为正,说明正相关;如为负,说明负相关)。
因而类内方差可以用 $\sigma_{I,0} + \sigma_{I,1} = {\boldsymbol w} ^{\rm T} \boldsymbol \Sigma_0 {\boldsymbol w} + {\boldsymbol w} ^{\rm T} \boldsymbol \Sigma_1 {\boldsymbol w}$ 描述。
要一边最大化类间方差,一边最小化类内方差,定义要最大化的目标函数 $J({\boldsymbol w})$:
$$ J({\boldsymbol w}) = \frac{\sigma_B}{\sigma_{I,0} + \sigma_{I,1}} = \frac{| {\boldsymbol w} ^{\rm T} \boldsymbol \mu_0 - {\boldsymbol w} ^{\rm T} \boldsymbol \mu_1 |^2}{{\boldsymbol w} ^{\rm T} \boldsymbol \Sigma_0 {\boldsymbol w} + {\boldsymbol w} ^{\rm T} \boldsymbol \Sigma_1 {\boldsymbol w}} $$
作 $| {\boldsymbol w} ^{\rm T} \boldsymbol \mu_0 - {\boldsymbol w} ^{\rm T} \boldsymbol \mu_1 |^2 = (\boldsymbol w^{\rm T} (\boldsymbol \mu_0 - \boldsymbol \mu_1))^2 = \boldsymbol w^{\rm T} (\boldsymbol \mu_0 - \boldsymbol \mu_1) (\boldsymbol \mu_0 - \boldsymbol \mu_1)^{\rm T} \boldsymbol w$,有:
$$ J({\boldsymbol w}) = \frac{\boldsymbol w^{\rm T} (\boldsymbol \mu_0 - \boldsymbol \mu_1) (\boldsymbol \mu_0 - \boldsymbol \mu_1)^{\rm T} \boldsymbol w}{{\boldsymbol w} ^{\rm T} (\boldsymbol \Sigma_0 + \boldsymbol \Sigma_1) {\boldsymbol w}} $$
称类间散度矩阵 $\boldsymbol S_b=(\boldsymbol \mu_0 - \boldsymbol \mu_1) (\boldsymbol \mu_0 - \boldsymbol \mu_1)^{\rm T}$、类内散度矩阵 $\boldsymbol S_w = \boldsymbol \Sigma_0 + \boldsymbol \Sigma_1$,有: