UA MATH574M 统计学习II 高维数据的二元分类
UA MATH574M 統計學習II 高維數據的二元分類
- LDA的直觀解釋
- NSC
上一講提到了高維數據相比低維數據的特殊性,并介紹了處理高維數據二元分類最簡單的一個模型independent rule。觀察LDA的系數可以發現,僅想辦法提高協方差估計的合理性不足以讓模型的泛化能力達到最好,因為決定系數的其實是 Σ?1(μ1?μ0)\Sigma^{-1} (\mu_1-\mu_0)Σ?1(μ1??μ0?),所以應該想辦法改進這一項的估計。這一講討論按這個思想來處理高維數據二元分類問題的模型。
LDA的直觀解釋
之前推導過LDA的公式:
ln?P(Y=1∣X=x)P(Y=0∣X=x)=ln?π1exp?{?12(x?μ1)TΣ?1(x?μ1)}π0exp?{?12(x?μ0)TΣ?1(x?μ0)}=[?12(x?μ1)TΣ?1(x?μ1)+ln?π1]?[?12(x?μ0)TΣ?1(x?μ0)+ln?π0]\ln{\frac{P(Y=1|X=x)}{P(Y=0|X=x)}} = \ln{\frac{\pi_1 \exp{\{-\frac{1}{2}(x-\mu_1)^T\Sigma^{-1}(x-\mu_1)\}}} {\pi_0 \exp{\{-\frac{1}{2}(x-\mu_0)^T\Sigma^{-1}(x-\mu_0)\}}}} \\ = \left[-\frac{1}{2}(x-\mu_1)^T\Sigma^{-1}(x-\mu_1) + \ln \pi_1 \right] - \left[-\frac{1}{2}(x-\mu_0)^T\Sigma^{-1}(x-\mu_0) + \ln \pi_0 \right] lnP(Y=0∣X=x)P(Y=1∣X=x)?=lnπ0?exp{?21?(x?μ0?)TΣ?1(x?μ0?)}π1?exp{?21?(x?μ1?)TΣ?1(x?μ1?)}?=[?21?(x?μ1?)TΣ?1(x?μ1?)+lnπ1?]?[?21?(x?μ0?)TΣ?1(x?μ0?)+lnπ0?]
顯然分類就是根據這個式子來做的,如果前面這個中括號比后面那個大,就分成label為1的那類。定義判別函數
δk(x)=?(x?μk)TΣ?1(x?μk)+2ln?πk,k=0,1\delta_k(x) = -(x-\mu_k)^T\Sigma^{-1}(x-\mu_k) + 2\ln \pi_k,k=0,1 δk?(x)=?(x?μk?)TΣ?1(x?μk?)+2lnπk?,k=0,1
則分為label為1的那類的條件可以表示為
δ1(x)≥δ0\delta_1(x) \ge \delta_0δ1?(x)≥δ0?
更一般的其實可以把二元分類問題表示為max?kδk(x)\max_k \delta_k(x)maxk?δk?(x)。在這個判別函數中,μk\mu_kμk?叫做類別kkk的Centroid(在ddd維空間中,正態分布集中在超橢球體中,其均值位于這個超橢球體的中心),下面這項叫做Mahalanobis距離:
(x?μk)TΣ?1(x?μk)(x-\mu_k)^T\Sigma^{-1}(x-\mu_k)(x?μk?)TΣ?1(x?μk?)
假設Σ=Id\Sigma=I_dΣ=Id?,這個距離退化為歐氏距離,當Σ≠Id\Sigma \ne I_dΣ?=Id?時,這個距離可以理解為在協方差矩陣Σ\SigmaΣ的奇異值定義的仿射坐標中的距離。因為歐式距離是點到點的距離(更準確的是樣本特征到某個類別的特征的centroid的距離),這里考慮的是點到分布的距離,所以要排除分布Spread的程度的影響,因此Mahalanobis距離更合理。因此
max?kδk(x)?min?k(x?μk)TΣ?1(x?μk)?2ln?πk\max_k \delta_k(x) \Leftrightarrow \min_k\ (x-\mu_k)^T\Sigma^{-1}(x-\mu_k) - 2\ln \pi_kkmax?δk?(x)?kmin??(x?μk?)TΣ?1(x?μk?)?2lnπk?
即LDA的本質其實就是判斷樣本點離哪個centroid更近,然后把樣本分到對應的類別。先驗的意義在于給基于樣本數據算出來的距離增加一個加項。因為?2ln?πk>0- 2\ln \pi_k>0?2lnπk?>0,并且先驗越大,加項越大;先驗越小,加項越小。
NSC
NSC全稱是Nearest Shrunken Centroid,是2002年提出來的方法。這個方法判別函數保持不變
δk(x)=?(x?μk)TΣ?1(x?μk)+2ln?πk,k=0,1\delta_k(x) = -(x-\mu_k)^T\Sigma^{-1}(x-\mu_k) + 2\ln \pi_k,k=0,1 δk?(x)=?(x?μk?)TΣ?1(x?μk?)+2lnπk?,k=0,1
分類思路也是最大化判別函數,但在參數估計的時候做一些調整。首先是對高維數據的處理,為了保證協方差矩陣可逆,這里用的估計與IR類似,但增加了一個可調整參數:
D^=diag(Σ^)+s02Id\hat{D}=diag(\hat{\Sigma}) + s_0^2 I_dD^=diag(Σ^)+s02?Id?
通常s02s_0^2s02?取Σ^jj\hat{\Sigma}_{jj}Σ^jj?的中位數。NSC最重要的思想在于shrinking,因為在LDA計算Mahalanobis距離的時候,用的是組內均值μk\mu_kμk?和總體的pooled covariance,所以計算數據到某一class的Mahalanobis距離的時候會受到其他特征的影響,從而放大原始數據中的噪音,降低分類問題的精度。為此NSC給出的μk\mu_kμk?的估計量是
∑i=1nxijn+mk(sj+s0)tkj′,j=1,?,d,k=1,2\frac{\sum_{i=1}^n x_{ij}}{n}+m_k(s_j+s_0)t_{kj}',j=1,\cdots,d,k=1,2n∑i=1n?xij??+mk?(sj?+s0?)tkj′?,j=1,?,d,k=1,2
第一項是第jjj個特征的樣本均值,記為μˉ^j\hat{\bar{\mu}}_jμˉ?^?j?,第二項是(第kkk個類別關于第jjj個特征的)調整項,
mk=1nk+1n,sj2=Σ^jjtkj′=sgn(tkj?)(tkj??Δ),tkj?=μ^kj?μˉ^jmk(sj+s0)m_k = \sqrt{\frac{1}{n_k} + \frac{1}{n}} , s_j^2 = \hat{\Sigma}_{jj} \\ t_{kj}'=sgn(t^*_{kj})(t^*_{kj}-\Delta), t_{kj}^* = \frac{\hat{\mu}_{kj} -\hat{\bar{\mu}}_j }{m_k(s_j+s_0)}mk?=nk?1?+n1??,sj2?=Σ^jj?tkj′?=sgn(tkj??)(tkj???Δ),tkj??=mk?(sj?+s0?)μ^?kj??μˉ?^?j??
調整項目的構成看起來有點負責,但其實是比較直觀的。mk(sj+s0)m_k(s_j+s_0)mk?(sj?+s0?)與tkj?t_{kj}^*tkj??的分母抵消后,剩下就是μ^kj?μˉ^j\hat{\mu}_{kj} -\hat{\bar{\mu}}_jμ^?kj??μˉ?^?j?,這一項其實就是兩個centroid在第jjj個特征上的投影,如果兩個centroid在這個特征上的投影距離非常小,我們有理由相信這兩個類別的數據在這個特征上差別不明顯,也就是這個特征對二分類的貢獻不會很大,甚至可能因為太靠近容易混淆從而降低精度,因此設置一個閾值mk(sj+s0)Δm_k(s_j+s_0)\Deltamk?(sj?+s0?)Δ作為標準,如果兩個centroid在這個特征上的投影距離小于這個閾值,就認為兩個centroid的這個特征沒有1顯著差別,可以將這個特征視為噪聲,從而使其shrink為0;如果超過了這個閾值,就認為這個特征對分類是有幫助的,就把特征保留下來。這個模型可以用R中的PAM包實現。
除了這中改進思路外還可以用給Logistics Regression或者LDA添加penaly的方法,那一類方法在之后講了penalty再討論。
總結
以上是生活随笔為你收集整理的UA MATH574M 统计学习II 高维数据的二元分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA MATH636 信息论6 微分熵
- 下一篇: UA MATH564 概率论V 中心极限