线性判别分析(LDA)模型笔记

发布时间 2023-08-09 17:51:50作者: 胡图图Daffy

模型概况

线性判别方法(Linear Discrimination Analysis)是一种经典的线性学些方法,最早由Fisher提出,也叫“Fisher判别分析”。

LDA的思想非常朴素,也即是,将样例投影到一条直线上使得同类样例的投影点尽可能近,异类样例的投影点尽可能远,总结六个字就是类内小,类间大;在对新的样本进行分类时候,将其投影到同样的这条直线上,再根据投影点的位置来判断样本点的类别。LDA也是一种降维方法。
类间大,类内小

模型定义

给定数据集\(D=\{(x_i,y_i)_{i=1}^m,y_i\in \{0,1\}\}\)\(X_i\)\(\mu_i\)\(\Sigma_i\)分别表示第\(i\in\{0,1\}\)类示例的集合、均值向量、协方差矩阵,则将数据投影到直线\(w\)上,则两类样本的中心的投影分别为\(w^T\mu_0\)\(w^T\mu_1\),协方差分别为\(w^T\Sigma_0w\)\(w^T\Sigma_1w\)。由于将样本点投射到直线这一一维空间上,则\(w^T\mu_0\)\(w^T\mu_1\)\(w^T\Sigma_0w\)\(w^T\Sigma_1w\)都是实数。

\[X_i=\{x_i|y_i=i\} \]

\[\mu_i=\frac{1}{N_i}\sum_{j=1}^{N_i}x_j \]

\[\Sigma_i=\frac{1}{N_i}\sum_{j=1}^{N_i}(x_j-\bar{x})(x_j-\bar{x})^T \]

模型求解

为了使得同类样例的投影点尽可能接近,同类样例投影点协方差要尽量小,也即是\(w^T\Sigma_0w+w^T\Sigma_1w\)尽可能小;而为了异类样例投影点尽可能远离,类的中心的距离要尽量大。也即是说\((w^T\mu_0-w^T\mu_1)^2\)尽可能大。

则可以定义需要最大化的目标函数为

\[J = \frac{(w^T\mu_0-w^T\mu_1)^2}{w^T\Sigma_0w+w^T\Sigma_1w}\\ =\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0+\Sigma_1)w} \]

定义类内散度矩阵(within-class scatter matrix)

\[S_w=\Sigma_0+\Sigma_1 \]

以及类间散度矩阵(between-class scatter matrix)

\[S_b = (\mu_0-\mu_1)(\mu_0-\mu_1)^T \]

\(J\)可以重写为

\[J=\frac{w^TS_bw}{w^TS_ww} \]

这也就是LDA需要最大化的目标函数,也即是\(S_b\)\(S_w\)的广义瑞利商(generalized Rayleigh quotient)。

接下来只需要根据目标函数对\(w\)进行求导

\[\begin{aligned} \frac{dJ}{dw}=2S_bw(w^TS_ww)^{-1}-w^TS_bw(w^TS_ww)^{-2}2S_ww=0\\ S_bw(w^TS_ww)=(w^TS_bw)S_ww \end{aligned} \]

其中,\(w^TS_ww\)\(w^TS_bw\)实际上都是实数,则式子变为

\[\begin{aligned} w &= \frac{w^TS_bw}{w^TS_ww}S_w^{-1}S_bw\\ &=\frac{w^TS_bw}{w^TS_ww}S_w^{-1}(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw \end{aligned} \]

其中\((\mu_0-\mu_1)^Tw\)也是一个实数,由于我们求\(w\)只需要考虑其方向而不需要考虑其长度,故\(\frac{w^TS_bw}{w^TS_ww}\)\((\mu_0-\mu_1)^Tw\)都可以忽略,则式子变为

\[w=S_w^{-1}(\mu_0-\mu_1) \]

至此,我们求出了所要求的解。