機器學習中的算法性能假設檢驗--最通俗易懂

一個數據集、單個算法

一次留出法----二項檢驗

  m個樣本的測試集上,泛化錯誤率爲ϵ\epsilon的學習器被測得測試錯誤率爲ϵ^\hat{\epsilon}的概率是:
P(ϵ^;ϵ)=(mc^×m)ϵe^×m(1ϵ)me^×m P(\hat{\epsilon} ; \epsilon)=\left(\begin{array}{c} {m} \\ {\hat{c} \times m} \end{array}\right) \epsilon^{\hat{e} \times m}(1-\epsilon)^{m-\hat{e} \times m}
  服從二項分佈,可使用“二項檢驗”進行檢驗。

多次重複留出法或交叉驗證法----t檢驗

  多次重複留出法或者交叉驗證法進行訓練/測試,會得到多個測試錯誤率,此時可使用“t檢驗”。假定獲得了k個測試錯誤率,ϵ1^ϵ2^ϵ3^ϵ^k\hat{\epsilon1}、\hat{\epsilon2}、\hat{\epsilon3}…\hat{\epsilon}k,則平均測試錯誤率爲Xˉ\bar{X}S2S^{2}
Xˉ=1ki=1kε^i,S2=1k1i=1k(ε^iXˉ)2 \bar{X}=\frac{1}{k} \sum_{i=1}^{k} \hat{\varepsilon}_{i} \quad, \quad S^{2}=\frac{1}{k-1} \sum_{i=1}^{k}\left(\hat{\varepsilon}_{i}-\bar{X}\right)^{2}
  根據中心極限定理可知,
(Xˉε)S/nt(n1) \frac{(\bar{X}-\varepsilon)}{S / \sqrt{n}} \sim t(\mathrm{n}-1)
  t分佈示意圖及常用雙邊臨界值表如下所示:
在這裏插入圖片描述

一個數據集、兩個算法----交叉驗證t檢驗

  對於一個數據集,兩個算法A和B,使用k折交叉驗證法得到的測試錯誤率分別爲ε^iAε^iB(i=1,2,,,k)\hat{\varepsilon}_{iA} 、 \hat{\varepsilon}_{iB}(i=1,2,,,k)。可採用k折交叉驗證“成對t檢驗”來進行檢驗。
  基本思想是若兩個算法的性能相同,則他們使用相同的訓練集/測試集得到的測試錯誤率應相同,即ε^iA=ε^iB\hat{\varepsilon}_{iA} = \hat{\varepsilon}_{iB}
對每一組測試錯誤率求差值,Δi=ε^Aε^B\Delta_{i}=\hat{\varepsilon}_{A}-\hat{\varepsilon}_{B},若兩個算法性能相同,則差值均值爲零。可根據Δ1Δ2...Δk\Delta_{1、}\Delta_{2、}... \Delta_{k、}進行t檢驗,計算出差值的均值Δ|\vec{\Delta}|和方差S2S^2,則:
(Δˉ(εAεB)S/kt(k1) \frac{\left|\left(\bar{\Delta}-\left(\varepsilon_{A}-\varepsilon_{B}\right)\right\rangle\right|}{S / \sqrt{\mathrm{k}}} \sim t(\mathrm{k}-1)
  若假設H0:εA=εB,H1:εAεBH_{0}: \varepsilon_{A}=\varepsilon_{B}, H_{1}: \varepsilon_{A} \neq \varepsilon_{B},則,滿足ΔˉS/kt/2\frac{|\bar{\Delta}|}{S / \sqrt{\mathrm{k}}} \leq \mathrm{t}_{\partial / 2}
  由於樣本有限,在使用交叉驗證等方法的時候,會導致不同輪次的訓練集有一定程度的重疊,是的測試錯誤率不獨立,導致過高估計假設成立的概率,爲緩解這一問題,可採用“5次2折交叉驗證”。

一組數據集、多個算法----Friedman檢驗與Nemenyi檢驗

Friedman檢驗

  假設有數據集D1、D2、D3、D4,算法A、B、C進行比較。
  使用留出法或者交叉驗證得到每個算法在每個數據集上的測試結果,然後在每個數據集上根據測試性能由好到壞排序,並賦予序值1,2,…,若算法測試性能相同,則平分序值。
在這裏插入圖片描述
  使用Friedman檢驗來判斷這些算法是否性能相同,若相同,則它們的平均序值應當相同。
  若在N個數據集,比較k個算法,令ri{r_i}表示第i個算法的平均序值,則ri{r_i}的均值和方差分別爲(k+1)/2,(k+1)(k1)/12(k+1) / 2, \quad(k+1) \quad(k-1) / 12,則有:
τχ2=k1k12Nk21i=1k(rik+12)2=12Nk(k+1)(i=1kri2k(k+1)24) \begin{aligned} \tau_{\chi^{2}} &=\frac{k-1}{k} \cdot \frac{12 N}{k^{2}-1} \sum_{i=1}^{k}\left(r_{i}-\frac{k+1}{2}\right)^{2} \\ &=\frac{12 N}{k(k+1)}\left(\sum_{i=1}^{k} r_{i}^{2}-\frac{k(k+1)^{2}}{4}\right) \end{aligned}
  在k和N比較大時,服從自由度爲k-1的χ2\chi^{2}分佈。
τF=(N1)τχ2N(k1)τχ2 \tau_{F}=\frac{(N-1) \tau_{\chi^{2}}}{N(k-1)-\tau_{\chi^{2}}}
  服從自由度爲k-1和(k-1)(N-1)的F分佈。下面是F檢驗常用的臨界值:
F檢驗常用臨界值

Nemenyi檢驗

  若原假設被拒絕,則需要進行後續檢驗,來得到具體的算法之間的差異。常用的是Nemenyi檢驗。Nemenyi檢驗計算出平均序值差別的臨界值域,下表是常用的qa值,若兩個算法的平均序值差超出了臨界值域CD,則相應的置信度1α1-\alpha拒絕“兩個算法性能本相同”的假設。
CD=qαk(k+1)6N C D=q_{\alpha} \sqrt{\frac{k(k+1)}{6 N}}
  qa中常用的聯臨界值:
在這裏插入圖片描述

鏈接

https://blog.csdn.net/qqMiSa/article/details/98660515

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章