美文网首页
机器学习day12线性判别分析

机器学习day12线性判别分析

作者: rivrui | 来源:发表于2020-08-21 21:07 被阅读0次

线性判别分析

线性判别分析(Linear Discriminant Analysis,LDA)是一种监督学习算法,常常用于数据降维。
LDA是为分类问题服务的,因此需要先找到一个投影方向\omega,使得投影后的样本尽可能按照原始类别分开。
简单的二分类问题,存在两个类别的样本,C_1和C_2。两个类别的均值分别为\mu_1=\frac{1}{N_1}\sum_{x\in C_1}x,\mu_2=\frac{1}{N_2}\sum_{x\in C_2}x
我们则希望投影之后,尽可能把这两个数据集分开,即在投影上距离越大越好。距离表示:
D(C_1,C_2)=||\widetilde{\mu}_1-\widetilde{\mu}_2||_2^2
其中\widetilde{\mu}_1,\widetilde{\mu}_2表示两类的中心在\omega方向上的投影向量,\widetilde{\mu}_1=\omega^T\mu_1,\widetilde{\mu}_2=\omega^T\mu_2。需要优化以下问题

max||\omega^T(\mu_1-\mu_2)||_2^2\\s.t. \omega^T\omega=1
我们需要找到尽可能大的类间距离投影方式,但是又同时使得类内方差最小。


因此有

其中\omega为单位向量,D_1,D_2分别表示两类投影后的方差
D_1=\sum_{x\in C_1}(\omega^Tx-\omega^T\mu_1)=\\\sum_{x\in C_1}\omega^T(x-\mu_1)(x-\mu_1)^T\omega,\\D_2=\sum_{x\in C_2}\omega^T(x-\mu_2)(x-\mu_2)^T\omega
J(\omega)=\frac{\omega^T(\mu_1-\mu_2)(\mu_1-\mu_2)^T\omega}{\sum_{x\in C_i}\omega^T(x-\mu_i)(x-\mu_i)^T\omega}
然后定义类间散度矩阵S_B=(\mu_1-\mu_2)(\mu_1-\mu_2)^T,类内散度矩阵S_W=\sum_{x\in C_i}(x-\mu_i)(x-\mu_i)^T
化简得
J(\omega)=\frac{\omega^TS_B\omega}{\omega^TS_W\omega}
\frac{\partial J(\omega)}{\partial \omega}=\frac{(\frac{\partial \omega^TS_B\omega}{\partial \omega}\omega^TS_W\omega-\frac{\partial \omega^TS_W\omega}{\partial \omega}\omega^TS_B\omega)}{(\omega^TS_W\omega)^2}=0
(\omega^TS_W\omega)S_B\omega=(\omega^TS_B\omega)S_W\omega
一般二分类,\omega^TS_W\omega\omega^TS_B\omega是两个数,令\lambda=J(\omega)=\frac{\omega^TS_B\omega}{\omega^TS_W\omega}
S_B\omega=\lambda S_W\omega
S_W^{-1}S_B\omega=\lambda \omega
从最大化类间距离和最小化类内距离出发,拥有较好对噪声的鲁棒性,模型也很简单。

相关文章

网友评论

      本文标题:机器学习day12线性判别分析

      本文链接:https://www.haomeiwen.com/subject/ovupjktx.html