转载:理解机器学习中的偏差与方差
學習算法的預測誤差, 或者說泛化誤差(generalization error)可以分解為三個部分: 偏差(bias), 方差(variance) 和噪聲(noise). 在估計學習算法性能的過程中, 我們主要關注偏差與方差. 因為噪聲屬于不可約減的誤差 (irreducible error).
首先拋開機器學習的范疇, 從字面上來看待這兩個詞:
偏差.
這里的偏指的是 偏離 , 那么它偏離了什么到導致了誤差? 潛意識上, 當談到這個詞時, 我們可能會認為它是偏離了某個潛在的 “標準”, 而這里這個 “標準” 也就是真實情況 (ground truth). 在分類任務中, 這個 “標準” 就是真實標簽 (label)。- 方差.
很多人應該都還記得在統計學中, 一個隨機變量的方差描述的是它的離散程度, 也就是該隨機變量在其期望值附近的 波動程度 . 取自維基百科一般化的方差定義:
如果 X?X是一個向量其取值范圍在實數空間R n Rn,并且其每個元素都是一個一維隨機變量,
那我們就稱 X 為隨機向量。隨機向量的方差是一維隨機變量方差的自然推廣,其定義為E[(X?μ)(X?μ)T],其中μ=E(X), X?T??XT是 X的轉置.
先從下面的靶心圖來對方差與偏差有個直觀的感受, 我對原圖 [^3] 進行了重繪:
假設紅色的靶心區域是學習算法完美的正確預測值, 藍色點為每個數據集所訓練出的模型對樣本的預測值, 當我們從靶心逐漸向外移動時, 預測效果逐漸變差.
很容易看出有兩副圖中藍色點比較集中, 另外兩幅中比較分散, 它們描述的是方差的兩種情況. 比較集中的屬于方差小的, 比較分散的屬于方差大的情況.
再從藍色點與紅色靶心區域的位置關系, 靠近紅色靶心的屬于偏差較小的情況, 遠離靶心的屬于偏差較大的情況.
有了直觀感受以后, 下面來用公式推導泛化誤差與偏差與方差, 噪聲之間的關系.
| x | 測試樣本 |
| D | 數據集 |
| yD | x在數據集中的標記 |
| y | x的真實標記 |
| f | 訓練集 D學得的模型 |
| f(x;D) | 由訓練集 D學得的模型 f 對 x的預測輸出 |
| fˉ(x) | 模型 f對 x的 期望預測 輸出 |
泛化誤差
以回歸任務為例, 學習算法的平方預測誤差期望為:
|Err(x)=E[(y?f(x;D))?2?]?E[(y?f(x;D))2]|
方差
在一個訓練集 D上模型 f 對測試樣本 x 的預測輸出為 f(x;D), 那么學習算法 f 對測試樣本 x的 期望預測 為:
f?ˉ?ˉ?ˉ??(x)=E?D?[f(x;D)]?fˉ(x)=ED[f(x;D)]
上面的期望預測也就是針對 不同 數據集 D, f 對 x的預測值取其期望, 也被叫做 average predicted 1.
使用樣本數相同的不同訓練集產生的方差為:
var(x)=E?D?[(f(x;D)?f?ˉ?ˉ?ˉ??(x))?2?]?var(x)=ED[(f(x;D)?fˉ(x))2]
噪聲
噪聲為真實標記與數據集中的實際標記間的偏差:
??2?=E?D?[(y?D??y)?2?]??2=ED[(yD?y)2]
偏差
期望預測與真實標記的誤差稱為偏差(bias), 為了方便起見, 我們直接取偏差的平方:
bias?2?(x)=(f?ˉ?ˉ?ˉ??(x)?y)?2??bias2(x)=(fˉ(x)?y)2
對算法的期望泛化誤差進行分解:
不要被上面的公式嚇到, 其實不復雜, 在已知結論的情況下, 了解每一項的意義, 就是一個十分簡單的證明題而已, 藍色部分是對上面對應的等價替換, 然后對其展開后, 紅色部分剛好為 0.
對最終的推導結果稍作整理:
至此, 繼續來看一下偏差, 方差與噪聲的含義 [^2].:
偏差.偏差度量了學習算法的期望預測與真實結果的偏離程序, 即 **刻畫了學習算法本身的擬合能力** .方差.方差度量了同樣規模的訓練集的變化所導致的學習性能的變化, 即 **刻畫了數據擾動所造成的影響** .噪聲.噪聲表達了在當前任務上任何學習算法所能達到的期望泛化誤差的下界, 即 **刻畫了學習問題本身的難度** . 巧婦難為無米之炊, 給一堆很差的食材, 要想做出一頓美味, 肯定是很有難度的.想當然地, 我們希望偏差與方差越小越好, 但實際并非如此. 一般來說, 偏差與方差是有沖突的, 稱為偏差-方差窘境 (bias-variance dilemma).
給定一個學習任務, 在訓練初期, 由于訓練不足, 學習器的擬合能力不夠強, 偏差比較大, 也是由于擬合能力不強, 數據集的擾動也無法使學習器產生顯著變化, 也就是欠擬合的情況;
隨著訓練程度的加深, 學習器的擬合能力逐漸增強, 訓練數據的擾動也能夠漸漸被學習器學到;
充分訓練后, 學習器的擬合能力已非常強, 訓練數據的輕微擾動都會導致學習器發生顯著變化, 當訓練數據自身的、非全局的特性被學習器學到了, 則將發生過擬合[^3].
[^2]:<機器學習>,周志華 ,2.5節偏差與方差.
[^3]:Understanding the Bias-Variance Tradeoff.
原文地址:原文 ?
總結
以上是生活随笔為你收集整理的转载:理解机器学习中的偏差与方差的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图片格式转换大小调整工具_如何轻松快速地
- 下一篇: python widnows mysql