目录
- 基本原理介绍
- 数学描述
基本原理介绍
??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=1∑K?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?=i∈Xk?∑?(Xi??Mi?)(Xi??Mi?)T
??其中Mi=1Nk∑i∈XkXiM_i=\frac{1}{N_k}\sum_{i\in X_k}X_iMi?=Nk?1?∑i∈Xk??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?=i∑K?j∑K?(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=1∑K?Sk?ˉ?=i∈Xk?∑?(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?ˉ?=i∑K?j∑K?(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?)