周志華《Machine Learning》學習筆記(3)--假設檢驗、方差與偏差

在上兩篇中,我們介紹了多種常見的評估方法和性能度量標準,這樣我們就可以根據數據集以及模型任務的特徵,選擇出最合適的評估和性能度量方法來計算出學習器的“測試誤差“。但由於“測試誤差”受到很多因素的影響,例如:算法隨機性(例如常見的K-Means)或測試集本身的選擇,使得同一模型每次得到的結果不盡相同,同時測試誤差是作爲泛化誤差的近似,並不能代表學習器真實的泛化性能,那如何對單個或多個學習器在不同或相同測試集上的性能度量結果做比較呢?這就是比較檢驗。最後偏差與方差是解釋學習器泛化性能的一種重要工具。本篇延續上一篇的內容,主要討論了比較檢驗、方差與偏差。

2.6 比較檢驗

在比較學習器泛化性能的過程中,統計假設檢驗(hypothesis test)爲學習器性能比較提供了重要依據,即若A在某測試集上的性能優於B,那A學習器比B好的把握有多大。 爲方便論述,本篇中都是以“錯誤率”作爲性能度量的標準。

2.6.1 假設檢驗

“假設”指的是對樣本總體的分佈或已知分佈中某個參數值的一種猜想,例如:假設總體服從泊松分佈,或假設正態總體的期望u=u0。回到本篇中,我們可以通過測試獲得測試錯誤率,但直觀上測試錯誤率和泛化錯誤率相差不會太遠,因此可以通過測試錯誤率來推測泛化錯誤率的分佈,這就是一種假設檢驗。

這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述

2.6.2 交叉驗證t檢驗

這裏寫圖片描述

2.6.3 McNemar檢驗

MaNemar主要用於二分類問題,與成對t檢驗一樣也是用於比較兩個學習器的性能大小。主要思想是:若兩學習器的性能相同,則A預測正確B預測錯誤數應等於B預測錯誤A預測正確數,即e01=e10,且|e01-e10|服從N(1,e01+e10)分佈。

這裏寫圖片描述

因此,如下所示的變量服從自由度爲1的卡方分佈,即服從標準正態分佈N(0,1)的隨機變量的平方和,下式只有一個變量,故自由度爲1,檢驗的方法同上:做出假設–>求出滿足顯著度的臨界點–>給出拒絕域–>驗證假設。

這裏寫圖片描述

2.6.4 Friedman檢驗與Nemenyi後續檢驗

上述的三種檢驗都只能在一組數據集上,F檢驗則可以在多組數據集進行多個學習器性能的比較,基本思想是在同一組數據集上,根據測試結果(例:測試錯誤率)對學習器的性能進行排序,賦予序值1,2,3…,相同則平分序值,如下圖所示:

這裏寫圖片描述

若學習器的性能相同,則它們的平均序值應該相同,且第i個算法的平均序值ri服從正態分佈N((k+1)/2,(k+1)(k-1)/12),則有:

這裏寫圖片描述

這裏寫圖片描述

服從自由度爲k-1和(k-1)(N-1)的F分佈。下面是F檢驗常用的臨界值:

這裏寫圖片描述

若“H0:所有算法的性能相同”這個假設被拒絕,則需要進行後續檢驗,來得到具體的算法之間的差異。常用的就是Nemenyi後續檢驗。Nemenyi檢驗計算出平均序值差別的臨界值域,下表是常用的qa值,若兩個算法的平均序值差超出了臨界值域CD,則相應的置信度1-α拒絕“兩個算法性能相同”的假設。

這裏寫圖片描述

這裏寫圖片描述

2.7 偏差與方差

偏差-方差分解是解釋學習器泛化性能的重要工具。在學習算法中,偏差指的是預測的期望值與真實值的偏差,方差則是每一次預測值與預測值得期望之間的差均方。實際上,偏差體現了學習器預測的準確度,而方差體現了學習器預測的穩定性。通過對泛化誤差的進行分解,可以得到:

  • 期望泛化誤差=方差+偏差
  • 偏差刻畫學習器的擬合能力
  • 方差體現學習器的穩定性

易知:方差和偏差具有矛盾性,這就是常說的偏差-方差窘境(bias-variance dilamma),隨着訓練程度的提升,期望預測值與真實值之間的差異越來越小,即偏差越來越小,但是另一方面,隨着訓練程度加大,學習算法對數據集的波動越來越敏感,方差值越來越大。換句話說:在欠擬合時,偏差主導泛化誤差,而訓練到一定程度後,偏差越來越小,方差主導了泛化誤差。因此訓練也不要貪杯,適度輒止。

這裏寫圖片描述

發佈了35 篇原創文章 · 獲贊 220 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章