偏差-方差分解


 

最近在看機器學習周志華那本書,受益頗多。我們先拋過來幾個問題,再一一解答。

  • 什么是偏差-方差分解?為什么提出這個概念?

  • 什么是偏差?什么是方差?

  • 什么是偏差-方差窘境?應對措施?

1、偏差-方差分解的提出

我們知道訓練往往是為了得到泛化性能好的模型,前提假設是訓練數據集是實際數據的無偏采樣估計。但實際上這個假設一般不成立,針對這種情況我們會使用訓練集訓練,測試集測試其性能,上篇博文有介紹評估策略。對於模型估計出泛化性能,我們還希望了解它為什么具有這樣的性能。這里所說的偏差-方差分解就是一種解釋模型泛化性能的一種工具。它是對模型的期望泛化錯誤率進行拆解。

2、偏差-方差分解推導

樣本可能出現噪聲,使得收集到的數據樣本中的有的類別與實際真實類別不相符。對測試樣本 x,另 y為 x 在數據集中的標記,y 為真實標記,f(x;D) 為訓練集D上學得模型 f 在 x 上的預測輸出。接下來以回歸任務為例:

模型的期望預測:

 

樣本數相同的不同訓練集產生的方差:

噪聲:

期望輸出與真實標記的差別稱為偏差:

 為便於討論,假設噪聲期望為0,即:ED[y-yD]=0,通過簡單的多項式展開與合並,模型期望泛化誤差分解如下:

畫紅線部分是分解后由這三部分方差、偏差、噪聲組成。偏差那部分因為和D無關,所以去掉了ED。畫藍線部分用了數學技巧,並且有兩項等於0約簡。

3、偏差、方差、噪聲

偏差:度量了模型的期望預測和真實結果的偏離程度,刻畫了模型本身的擬合能力。

方差:度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動所造成的影響。

噪聲:表達了當前任務上任何模型所能達到的期望泛化誤差的下界,刻畫了學習問題本身的難度。

4、偏差-方差窘境

為了得到泛化性能好的模型,我們需要使偏差較小,即能充分擬合數據,並且使方差小,使數據擾動產生的影響小。一般來講,偏差和方差在一定程度上是有沖突的,這稱作為偏差-方差窘境。

下圖中的R(f)是指泛化誤差,圖中展現了方差、偏差和泛化誤差之間的關系。在模型訓練不足時,擬合能力不夠強,訓練數據的擾動不足以使學習器產生顯著變化,此時偏差主導泛化誤差,此時稱為欠擬合現象。當隨着訓練程度加深,模型的擬合能力增強,訓練數據的擾動慢慢使得方差主導泛化誤差。當訓練充足時,模型的擬合能力非常強,數據輕微變化都能導致模型發生變化,如果過分學習訓練數據的特點,則會發生過擬合。

針對欠擬合,我們提出集成學習的概念並且對於模型可以控制訓練程度,比如神經網絡加多隱層,或者決策樹增加樹深。針對過擬合,我們需要降低模型的復雜度,提出了正則化懲罰項。

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM