0
点赞
收藏
分享

微信扫一扫

Fisher线性判别分析Fisher Linear Distrimination

ZGtheGreat 2022-01-18 阅读 43

Fisher线性判别分析是一种线性分类方法,它的主要思想是:是类内的方差小,类均值之间相差比较大。(类间大,类内小)

以两个类的分类为例:

将两个类由在x1,x2上投影到向量u 上,这样由二维转到了一维,然后将两类从两团点的中间分开。

如果要使类间相差大的话,那么每个类的平均数之间也会相差大,设\mu_1,\mu_2分别为加号点和减号点的平均值,那么投影后,他们距离的平方,也就是||\mu_1^T\mu-\mu_2^T\mu||^2尽可能大。

如果要使类内方差小的话,那么两个类投影到直线(向量)上后,他们的点分别为\mu^T\Sigma_1\mu,\mu^T\Sigma_2\mu

所以他们的和也要尽可能小\mu^T\Sigma_1\mu+\mu^T\Sigma_2\mu

因此把大的作为分子,小的作为分母,他们相除的整体就是越大越好,

                             Lossfunction:J(\mu) = \frac{\mu^T(\mu_1-\mu_2)(\mu_1-\mu_2)^T\mu}{ \mu^T \Sigma_1 \mu+ \mu^T \Sigma_2 \mu }

                                           设     S_B=(\mu_1-\mu_2)(\mu_1-\mu_2)^T 

                                                      S_W=\Sigma_1+\Sigma_2

                                           则      J(\mu)=\frac{ \mu^TS_B\mu }{\mu^TS_W\mu}

对J(u)进行求导,则有\frac{ \2 S_B\mu(\mu^TS_w\mu)-2 S_W\mu(\mu^TS_B\mu) }{(\mu S_W \mu)^2}

令导数等于0,      得到          S_B\mu = (\frac{\mu^TS_B\mu}{u^TS_W\mu})S_W\mu

括号里的可以用一个缩放值来代替

则                             \mu = \alpha S_W^{-1}S_B\mu=\alpha S_W^{-1}(\mu_1-\mu_2)(\mu_1-\mu_2)^T\mu

因为(\mu_1-\mu_2)^T\mu在同一个方向上,相乘之后变为常数

因此最终                                       \mu = \beta S_W^{-1}(\mu_1-\mu_2)

就是我们要投影的向量。

举报

相关推荐

0 条评论