机器学习——线性判别分析(LDA)推导

预备知识

1.点到直线的投影均值与协方差:X_i\mu_i\Sigma_i分别为第i类示例的集合,均值向量,协方差矩阵。样本中心在直线上的投影为w^T\mu_i,样本的协方差为w^T\Sigma_iw

2.矩阵的2-范数:又名欧几里得范数,即向量元素绝对值的平方和再开方,||X||_2=\sqrt{\sum_{i=1}^{n}\sum_{j=1}^{m}x_{ij}^2}||X-Y||_2可以表示矩阵之间的距离。

3.拉格朗日乘数法:对于前面定义中所设的一般目标函数和约束条件组,  应引入辅助函数

称此函数为拉格朗日函数,  其中\lambda_1 \lambda_2....\lambda_m称为拉格朗乘数。

设上述条件极值问题中的函数f  与\varphi_k在在区域 D上有连续一阶偏导数.。若D 的内点是该条件极值问题的极值点,  且

则对于m 个常数使得为拉格朗日函数的稳定点即它是如下m+n个方程的解。

4.Hessina矩阵:如果F的所有二阶导数都存在,则F的Hessian矩阵为

M_F=\begin{bmatrix} \frac{\partial^2 F}{\partial x_1^2} &...& \frac{\partial^2 F}{\partial x_1x_n}\\ ...&...&...\\ \frac{\partial^2 F}{\partial x_nx_1} &...& \frac{\partial^2 F}{\partial x_n^2} \end{bmatrix}

补充:当Hessina矩阵为正定矩阵时,可知F在该点为极小值。

5.矩阵求导法则:设存在矩阵m*n矩阵Yp维向量x=(x_1...x_p),我们有

\frac{\partial{Y}}{\partial{x}}=(\frac{\partial{Y}}{\partial{x_1}}...\frac{\partial{Y}}{\partial{x_p}})

补充:(1)f(x)=Ax\rightarrow\frac{\partial{f(x)}}{\partial{x^T}}=A(2)f(x)=x^TAx\rightarrow\frac{\partial{f(x)}}{\partial{x}}=Ax+A^Tx

(3)f(x)=Ax\rightarrow\frac{\partial Ax}{\partial x}=A^T

6.正定矩阵:设A为实对称矩阵,若二次型X^TAX为正定,即对于任意一组不全为零的实数X=(c_1,c_2,...c_n)都有X^TAX>0

补充:当矩阵顺序主子式全部大于0时,可判断该矩阵为正定矩阵。

公式推导

1.对于二分类任务,给定数据集D=\{(x_i,y_i)\}_{i=1}^m,y\in\{0,1\},x=(x_1,....x_n),学得的LDA模型为y=w^Tx。令X_i\mu_i\Sigma_i分别为第i\in(0,1)类示例的集合,均值向量,协方差矩阵。我们有LDA模型的w为:w=S_w^{-1}(\mu_0-\mu_1)

证明:为使得样例投影点尽可能接近,我们让同类样例协方差尽可能小,即w^T\Sigma_0w+w^T\Sigma_1w尽可能小。为使得异类样例投影点尽可能远离,我们让类中心之间的距离尽可能大,即w^T\mu_0w^T\mu_1之间的2-范数||w^T\mu_0-w^T\mu_1||_2^2尽可能大。则我们得到最大化目标:

J=\frac{||w^T\mu_0-w^T\mu_1||_2^2}{w^T\Sigma_0w+w^T\Sigma_1w} \\=\frac{\sum_{i=1}^n(w_i\mu_{0i}-w_i\mu_{1i})^2}{w^T(\Sigma_0w-\Sigma_1w)} \\=\frac{\sum_{i=1}^nw_i^2(\mu_{0i}-\mu_{1i})^2}{w^T(\Sigma_0w-\Sigma_1w)} \\=\frac{w^T(\mu_0-\mu_1)(\mu_0-\mu_1)^Tw}{w^T(\Sigma_0w-\Sigma_1w)}

我们设类内散度矩阵S_w

S_w=\Sigma_0+\Sigma_1 \\=\sum_{x\in X_0}(x-\mu_0)(x-\mu_0)^T+\sum_{x\in X_1}(x-\mu_1)(x-\mu_1)^T

设类间散度矩阵S_b

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

则我们有:

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

由于我们不关注w其大小,只关心其方向,通过w的长度变换,并不影响其方差,均值的取值,因此,该式可等价为条件极值问题:

min -w^TS_bw \\s.t. w^TS_ww=1

我们由拉格朗日乘子法,作拉格朗日函数:L=-w^TS_bw +\lambda (w^TS_ww-1),我们对其求导有:

L_\lambda= w^TS_ww-1=0

L_w=-(S_b^T+S_b)w +\lambda (S_w^T+S_w)w=0

则我们有(S_b^T+S_b)w =\lambda (S_w^T+S_w)w。由于S_b=S_b^T,S_w=S_w^T我们有2S_bw =2\lambda S_ww。由于(\mu_0-\mu_1)^Tw为常数,因此S_bw的方向为(\mu_0-\mu_1),那么我们有S_bw =\alpha(\mu_0-\mu_1),则我们有\alpha(\mu_0-\mu_1)=\lambda S_ww\frac{\alpha}{\lambda }S_w^{-1}(\mu_0-\mu_1)=w成立。由于不关心w其大小,只关心其方向,所以其大小可以任意取值,我们取\frac{\alpha}{\lambda }=1,则有S_w^{-1}(\mu_0-\mu_1)=w{该部分推导存在问题(我们对L求二阶偏导有:

L_{\lambda\lambda}=0,L_{w\lambda }=L_{\lambda w}=(S_w+S_w^T)w,L_{ww}=-(S_b^T+S_b)+\lambda (S_w^T+S_w)

我们构造L的Hessina矩阵:

L_H=\begin{bmatrix} -(S_b^T+S_b)+\lambda (S_w^T+S_w)&(S_w+S_w^T)w \\ (S_w+S_w^T)w& 0\\ \end{bmatrix}

代入S_w^{-1}(\mu_0-\mu_1)=w(S_b^T+S_b)w =\lambda (S_w^T+S_w)w,显然有L_H为正定矩阵,我们可知S_w^{-1}(\mu_0-\mu_1)=w为极小值点,又由于仅有一个极小值点可知为最小值点。)}证毕。

2.对于多分类任务,给定数据集D=\{(x_i,y_i)\}_{i=1}^m,y\in\{0,1,...N\},x=(x_1,....x_n),学得的LDA模型为y=w^Tx。令X_i\mu_i\Sigma_i分别为第i\in\{0,1,...N\}类示例的集合,均值向量,协方差矩阵。我们有LDA模型的w的闭式解为:

S_w^{-1}S_bd'个最大非零广义特征值所对应的特征向量组成的矩阵。

证明:定义S_t=S_b+S_w=\sum_{i=1}^m(x_i-\mu)(x_i-\mu)^T\mu为所有示例的均值向量。定义S_w=\sum_{i=1}^mS_{w_i}即每个类别的散度矩阵之和,其中S_{w_i}=\sum_{x\in X_i}(x-\mu_i)(x-\mu_i)^T

则我们有:

我们设W=(w_1.w_2,...w_{N-1})为一个投影矩阵,其中w_i\in R^{d*1}d行1列的列向量。我们为了使得同类样例协方差尽可能小,即tr(W^TS_bW)=\sum_{i=1}^{N-1} w_i^2S_bw_i尽可能小。为使得异类样例投影点尽可能远离,我们让类中心之间的距离尽可能大,即tr(W^TS_wW)=\sum_{i=1}^{N-1} w_i^2S_ww_i尽可能大。则我们有使得J=\frac{tr(W^TS_bW)}{tr(W^TS_wW)}最小即可。

该问题等价于条件极值:

min\, -tr(-W^TS_bW) \\s.t.\, \, \, \, \, \, tr(W^TS_wW)=1

我们使用拉格朗日乘数法,构造拉格朗日方程为L=-tr(W^TS_bW )+\lambda (tr(W^TS_wW)-1)。由S_b=S_b^TS_w=S_w^T,我们对L求偏导使值为0有:

L_w=-(S_b^T+S_b)W +\lambda (S_w^T+S_w)W=-2S_bW+2\lambda S_wW=0

于是我们有2S_bW=2\lambda S_wW,则LDA模型的w的闭式解S_w^{-1}S_bd'个最大非零广义特征值所对应的特征向量组成的矩阵成立。证毕。

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LZINC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值