1. 程式人生 > >偏差與方差學習筆記

偏差與方差學習筆記

偏差與方差

我們都知道,泛化誤差可以分解為噪聲,偏差和方差,即泛化誤差是由噪聲,偏差和方差共同決定的,但是為什麼是由他們三個決定的,這裡做一個比較詳細的說明。
首先,我們先做幾個符號的說明:
yD測試樣本x在資料集中的標記;
y測試樣本x的真實標記;
f(x;D)訓練集D上學得模型fx上的預測輸出;
那麼我們可以知道模型的期望預測值

f¯(x)=ED[f(x;D)]方差var(x)=ED[(f(x;D)f¯(x))2]
通過定義我們可以看到方差描述的是預測結果的穩定性,即資料集的變化對於預測結果的影響,同樣也度量了資料集變化對於模型學習效能的變化,方差越小,說明我們的模型對於資料集的變化越不敏感,也就是對於新資料集的學習越穩定
偏差
bias2(x)=(f¯(x)y)2
我們可以看到偏差描述的是平均預測結果與真實結果之間的差距,即其描述了模型對於資料的擬合程度,偏差越小,說明模型對資料擬合的越好
噪聲ϵ2=ED[(yDy)2]
我們可以看到噪聲描述的是資料集中樣本的標記與這些樣本真實標記的距離,只要是資料,都一定擁有噪聲,因此我們可以認為噪聲誤差為模型訓練的下限,因為這部分誤差無論模型怎麼學習都不可能消除,這是資料帶來的本源誤差。
通常來說,方差與偏差是衝突的,這個稱之為偏差-方差窘境。我們可以知道當我們的模型訓練不足的時候,模型的方差是比較小的,但是偏差是比較大的,方差小的原因是此時的模型擬合能力不夠強,因此資料的擾動還不足以是模型產生足夠的變化,但是此時預測資料與真實label相差很大,故偏差很大;但是當模型訓練過頭,即過擬合的時候,此時偏差很小,幾乎為0,但是方差很大,因為過擬合,所以資料只需要輕微的擾動,就可能導致預測結果很不確定。如下圖所示:
這裡寫圖片描述

最上面那一條是泛化誤差,我們可以看到,隨著訓練程度的加深,方差在逐漸加大,而偏差則是在逐漸減小。
那麼為什麼泛化誤差可以分解為方差+偏差+噪聲,證明如下:
E(f;D)=ED[(f(x;D)yD)2]=ED[(f(x;D)f¯(x)+f¯(x)yD)2]=ED[(f(x;D)f¯(x))2+(f¯(x)yD)2+2((f(x;D)f¯(x))(f¯(x)yD))]=ED[(f(x;D)f¯(x))2]+ED[(f¯(x)yD)2]=var(x)+ED[(f¯(x)y+yyD)2]=var(x)+ED[(f¯(x)y)2]+ED[(yyD)2]=var(x)+b
ias2(x)+ϵ2

故我們說泛化誤差可以分解為方差、偏差和噪聲

這裡要注意,噪聲的期望始終為0