当前位置: 代码迷 >> 综合 >> Fisher线性分类(基本原理)
  详细解决方案

Fisher线性分类(基本原理)

热度:31   发布时间:2023-12-04 02:11:48.0

目录

  • 基本原理介绍
  • 数学描述

基本原理介绍

??Fisher线性分类器是将nnn维训练样本投影到1维空间上,然后在一维空间进行分类,最关键的参数就是投影方向www
??由于投影方向有很多,如何得到最佳的投影方向呢?,这个投影过程要求满足一个原则,这个原则一句话解释就是:类内离散度越小越好,类间离散度越大越好。
??记类内离散度为SwS_wSw?,类间离散度为SbS_bSb?,整个准则可以描述为:

maxJ=SbSwmax \ J=\frac{S_b}{S_w}max J=Sw?Sb??

??下面详细介绍Sb,SwS_b,S_wSb?,Sw?的求法。

数学描述

??设有带标签的样本集X={X1,X2,...,Xn}X=\{X_1,X_2,...,X_n\}X={ X1?,X2?,...,Xn?},其中XiX_iXi?为n维的特征向量,首先计算原样本的类内离散度SwS_wSw?,为了描述“离散度”的概念,我们可以理解为数据的离散程度,统计描述就是方差

??假设整个数据样本集一共可以分成K类,那么有:

Sw=∑k=1KSkS_w=\sum_{k=1}^KS_kSw?=k=1K?Sk?

??Si2S_i^2Si2?是第k类数据样本的方差矩阵,定义如下:

Si=∑i∈Xk(Xi?Mi)(Xi?Mi)TS_i=\sum_{i\in X_k}(X_i-M_i)(X_i-M_i)^TSi?=iXk??(Xi??Mi?)(Xi??Mi?)T

??其中Mi=1Nk∑i∈XkXiM_i=\frac{1}{N_k}\sum_{i\in X_k}X_iMi?=Nk?1?iXk??Xi?为均值向量。

??下面考虑类间的离散度SbS_bSb?

??类间离散度定义为各类样本均值向量的离散程度,定义如下:

Sb=∑iK∑jK(Mi?Mj)(Mi?Mj)T(i≠j)(1)S_b=\sum_{i}^K\sum_{j}^K(M_i-M_j)(M_i-M_j)^T(i \ne j)\tag{1}Sb?=iK?jK?(Mi??Mj?)(Mi??Mj?)T(i??=j)(1)

??这个考虑K分类的情况,找了很多资料都没有说Fisher分类器进行多分类的情况,式(1)(1)(1)的定义还存在一定疑问。

??以上都是在原样本集上的计算,下面考虑在www方向上投影,记投影后的类内类间离散度为Swˉ,Sbˉ\bar{S_w},\bar{S_b}Sw?ˉ?,Sb?ˉ?,相应的表达式如下:

Swˉ=∑k=1KSkˉ=∑i∈Xk(wTXi?wTMi)2=wTSww\bar{S_w}=\sum_{k=1}^K\bar{S_k}=\sum_{i\in X_k}(w^TX_i-w^TM_i)^2=w^TS_wwSw?ˉ?=k=1K?Sk?ˉ?=iXk??(wTXi??wTMi?)2=wTSw?w

Sbˉ=∑iK∑jK(wTMi?wTMj)2=wTSbw(i≠j)\bar{S_b}=\sum_{i}^K\sum_{j}^K(w^TM_i-w^TM_j)^2=w^TS_bw(i \ne j)Sb?ˉ?=iK?jK?(wTMi??wTMj?)2=wTSb?w(i??=j)

因此,损失函数为
maxJ=SbˉSwˉ=wTSbwwTSwwmax \ J=\frac{ \bar{S_b}}{\bar{S_w}}=\frac{w^TS_bw}{w^TS_ww}max J=Sw?ˉ?Sb?ˉ??=wTSw?wwTSb?w?

利用一些常用的优化迭代算法即可得到最佳的w?w^*w?在二分类情况下w?w^*w?的解析解如下:
w?=Sw?1(M1?M2)w^*=S_w^{-1}(M_1-M_2)w?=Sw?1?(M1??M2?)