判別分析(Fisher判別方法)

20210308 未完更新中

前言

為了克服“維數(shù)災(zāi)難”,人們將高維數(shù)據(jù)投影到低維空間上來,并保持必要的特征,這樣,一方面數(shù)據(jù)點(diǎn)變得比較密集一些,另一方面,可以在低維空間上進(jìn)行研究。

Fisher判別分析的基本思想:選取適當(dāng)?shù)耐队胺较?,將樣本?shù)據(jù)進(jìn)行投影,使得投影后各樣本點(diǎn)盡可能分離開來,即:使得投影后各樣本類內(nèi)離差平方和盡可能小,而使各樣本類間的離差平方和盡可能大。

fisher判別方法示意圖

1. 兩個總體的Fisher判別函數(shù)

①設(shè)已知有兩個類x^1x^2,在已知的數(shù)據(jù)中,x^1類有N_1個個體,x^2類有N_2個個體,即:
\{ x_j^1|j=1,2,…,N_1 \} :x_1^1,x_2^1,…,x_{N_1}^1
\{ x_j^2|j=1,2,…,N_2 \} :x_1^2,x_2^2,…,x_{N_2}^2

注意:個體x_j^i為列向量,列向量的元素為不同特征的具體數(shù)值。如,小明身高180,體重70,可以設(shè)小明這個個體為x=[180,70]^T
②計算兩個類的均值
m_1=\frac{1}{N_1} \sum_{j=1}^{N_1}{x^1_j} ?? m_2=\frac{1}{N_2} \sum_{j=1}^{N_2}{x^2_j}
③計算兩個類的類內(nèi)離差平方和矩陣:
S_{w1}=\sum_{j=1}^{N_1}{(x_j^1-m_1)(x_j^1-m_1)^T} S_{w2}=\sum_{j=1}^{N_2}{(x_j^2-m_2)(x_j^2-m_2)^T}
總的離差陣為S_w=S_{w1}+S_{w2}
類間離差陣為S_t=(m_1-m_2)(m_1-m_2)^T
④設(shè)需要找的投影向量為u,將所有的個體x投影到u方向上,則可以得到投影后的結(jié)果為y^i_j=u^Tx^i_j,即:
第一類個體在u方向上的投影結(jié)果為:y_1^1,y_2^1,…,y_{N_1}^1;
第二類個體在u方向上的投影結(jié)果為:y_1^2,y_2^2,…,y_{N_2}^2
⑤計算投影后兩類的均值與類內(nèi)離差平方和矩陣
\hat{m}_1=\frac{1}{N_1} \sum_{j=1}^{N_1}{y^1_j}=\frac{1}{N_1}u^T \sum_{j=1}^{N_1}{x^1_j}=u^Tm_1

\hat{m}_2=\frac{1}{N_2} \sum_{j=1}^{N_2}{y^2_j}=\frac{1}{N_2}u^T \sum_{j=1}^{N_2}{x^2_j}=u^Tm_2

\hat{S}_{w1}=\sum_{j=1}^{N_1}({y^1_j}-\hat{m}_1)({y^1_j}-\hat{m}_1)^T=u^TS_{w1}u

\hat{S}_{w2}=\sum_{j=1}^{N_2}({y^2_j}-\hat{m}_2)({y^2_j}-\hat{m}_2)^T=u^TS_{w2}u

總離差:
\hat{S}_{w}=\hat{S}_{w1}+\hat{S}_{w2}

類間方差:
\hat{S}_{t}=(\hat{m}_1-\hat{m}_2)(\hat{m}_1-\hat{m}_2)^T=u^TS_{t}u

⑥要使得在新的(投影后)數(shù)據(jù)空間中,數(shù)據(jù)的分離性能最好,即要使得兩個類的類內(nèi)距離最小,類間距離最大,建立目標(biāo)函數(shù)J_f(u)=\frac{u^TS_tu}{u^TS_wu},希望找到合適的投影向量u,使得目標(biāo)函數(shù)J_f(u)達(dá)到最大。

采用Lagrange乘數(shù)法求解。令分母等于非零常數(shù),即:
{u^TS_wu}=c≠0

定義lagrange函數(shù)為
L(u)=u^TS_tu-\lambda (u^TS_wu-c)

u求偏導(dǎo)得
\frac{\partial L(u)}{\partial u}=u^T(S_t+S_t^T)-\lambda u^T(S_w+S_w^T)

又矩陣S_tS_w是對稱矩陣,因此,上式可化簡為
\frac{\partial L(u)}{\partial u}=2u^TS_t^T-2\lambda u^TS_w^T

\frac{\partial L(u)}{\partial u}=0,有
u^TS_t^T-\lambda u^TS_w^T=0

記上式得解為u_o,則
u_0^TS_t^T-\lambda u_0^TS_w^T=0
繼續(xù)化簡有:
S_tu_0=\lambda S_wu_o

兩邊同時左乘S_w^{-1}得:
S_w^{-1}S_tu_0=\lambda u_o

因此,u即為矩陣S_w^{-1}S_t的最大特征值對應(yīng)的特征向量


S_t=(m_1-m_2)(m_1-m_2)^T


\lambda u_0=S_w^{-1}S_tu_0=S_w^{-1}(m_1-m_2)(m_1-m_2)^Tu_0

u_0=S_w^{-1}S_tu_0=S_w^{-1}(m_1-m_2)(m_1-m_2)^Tu_0/\lambda

(m_1-m_2)^Tu_0/\lambda為一標(biāo)量,因此

C=(m_1-m_2)^Tu_0/\lambda


u_0=S_w^{-1}(m_1-m_2)C

而標(biāo)量C并不會影響u的投影方向。
綜上所述,u的解為
u_0=S_w^{-1}(m_1-m_2)

2. 舉例說明——蠓蟲分類問題

2.1 問題描述

3. Fisher判別法的優(yōu)缺點(diǎn)

  • 在一定程度上能夠克服數(shù)據(jù)高維距離度量無效性帶來的困擾,但維度越高,帶來的后續(xù)計算越困難;
  • 通過投影一方面使得數(shù)據(jù)更加集中,另一方面,維度的降低更容易進(jìn)行判別;
  • 矩陣求逆及特征向量計算使得計算量加大;
  • 對于多個類的分類標(biāo)準(zhǔn),需要兩兩抽取分類準(zhǔn)則。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容