【機器學習】——偏差方差,欠擬合過擬合

這一篇我們就是介紹機器學習中誤差的來源——模型的偏差與方差

偏差與方差的直觀理解

我們首先從直觀上來理解一下這兩個詞:

  • 偏差
    直觀上我們感覺偏差就是預測值與真實值的偏離程度
  • 方差
    大家在統計學中應該都學過,方差通差是反映隨機變量在期望值附近的波動程度
    我們假設對於一個隨機樣本xx,模型的期望爲uu,方差爲σ\sigma,那麼對於N個樣本,我們假設m=1N1Nxim = \frac{1}{N}\sum_1^Nx_iVar(m)=σ2NVar(m) = \frac{{\sigma} ^2}{N},也就是隨着樣本的增大,方差減小,因此,方差和樣本的數量成反比。

方差偏差和誤差的關係

如圖所示圖片出自李宏毅老師的課件
圖中紅色靶心表示真實的模型,藍色的小點表示經過一批數據計算得到的模型ff^*。藍色的大點fˉ=E[f]\bar{f} = E[f^*]表示經過無數批數據計算得到的模型的平均,即模型的期望,而偏差就是模型的期望與目標模型的誤差方差就是一批數據得到的模型相對於模型的期望的波動。這樣說可能還不太理解,我們換一個角度來說明這個問題。假設現在對於一個迴歸預測任務,我們要得到一個模型與哪些因素有關呢?

  • 模型集合
    我們選擇用神經網絡還是決策樹或者多項式迴歸顯然得到的模型會不同,即使同樣用多項式迴歸,我們選擇多項式的次數不同,得到的模型也顯然不同。
  • 優化策略
    使用不同的損失函數,使用不同的優化方法,甚至我們如果用批梯度下降,batch的大小和學習率的大小也會影響最終的模型。
  • 數據
    不同的數據也會得到不同的模型。

方差是反映隨機變量在期望值附近的波動程度,這種波動是受到數據的影響的,因此方差是反映數據的波動對於模型的影響。而偏差是反映我們模型集合的選取和優化策略的好壞

欠擬合與過擬合

我們看下圖:
圖片出自李宏毅老師的課件
如果我們選擇的模型集合如藍圈所示,我們的模型集合都沒有覆蓋目標集合,如左圖,那麼顯然偏差很大,而右圖則具有較小的偏差。這種情況我們稱爲欠擬合,也就是說我們的模型選擇範圍無法包含目標模型,反映到數據上就是我們的模型不能較好地擬合我們的訓練數據。
那麼模型完全擬合了訓練數據就說明模型很好嗎?答案是否定的,因爲我們的目標是讓模型能較好地預測未見過的數據。模型完全擬合了訓練數據,有可能是學習到了一些噪聲,那麼對於未見過的數據,它的預測效果就會不好,因爲它的方差很大,而方差是反映數據的波動對於模型的影響,換言之,它在訓練集上表現很好,但是因爲學到了很多噪聲,所以換個數據集,效果就不行了。這就是過擬合。表現在試驗中就是我們的模型在訓練集表現很好,在測試集表現很差。

偏差方差與模型複雜度的關係

通常來說,模型越複雜,偏差越小,方差越大。因爲模型越複雜,學習能力越強,能更好地擬合訓練數據,但是也更有可能學到噪聲,模型越簡單,學習能力越弱,很難較好地擬合訓練數據,但是因爲模型簡單,不太容易受到數據的影響。
也許“模型簡單,不太容易受到數據的影響。”不太容易理解,我們舉個例子,假設我們取一個最簡單的模型f(x)=1f(x)=1,那麼無論訓練數據是什麼,我們得到的都是一個固定的模型,方差就是0.

怎麼評估模型誤差和減小偏差方差

我們得到了一個模型,如何判斷它好或者不好呢?因爲我們的目標是讓模型能較好地預測未見過的數據,我們直覺上可以如下操作:
圖片出自李宏毅老師的課件
看驗證集Validation Set的損失大小,但是更好的策略是採用交叉驗證,如下圖所示:
圖片出自李宏毅老師的課件
我們知道如果在訓練集Training Set上表現不佳,那麼屬於偏差過大,欠擬合,怎麼解決呢?
由於欠擬合通常是因爲模型的學習能力不夠,我們可以選擇如下策略:

  • 挖掘更多的特徵,增加輸入的特徵空間維度
  • 選擇更復雜的模型,比如從線性模型改爲非線性模型,神經網絡模型可以選擇增加神經元個數,決策樹模型可以增加樹的深度等等

我們知道如果在訓練集Training Set上表現較好,在測試集表現很差,那麼屬於方差過大,過擬合,怎麼解決呢?
由於過擬合通常是因爲模型學習能力過強,學到了不少噪聲,我們可以選擇如下策略:

  • 收集更多的數據,Var(m)=σ2NVar(m) = \frac{{\sigma} ^2}{N},數據越多方差越小
  • 降低模型的複雜度,決策樹模型可以減小樹的深度,但是神經網絡模型通常不會採用減小神經元個數的方法,而是使用正則化,這個內容過多,我們之後再專門講解吧。

回顧一下, 這篇博客主要講了什麼是偏差和方差,欠擬合和過擬合,主要內容有:

  • 1.我們瞭解了偏差就是模型的期望與目標模型的誤差方差就是一批數據得到的模型相對於模型的期望的波動

  • 2.我們瞭解了偏差過大會導致欠擬合,方差過大會導致過擬合,模型越複雜,偏差越小,方差越大

  • 3.我們瞭解了挖掘更多的特徵,增加輸入的特徵空間維度,選擇更復雜的模型可以減小偏差,防止欠擬合;收集更多的數據,正則化可以減小方差,防止過擬合
    希望這篇博客能對大家有所幫助。

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