偏差和方差有什麼區別?
偏差:描述的是預測值(估計值)的期望與真實值之間的差距。偏差越大,越偏離真實數據,如下圖第二行所示。
方差:描述的是預測值的變化範圍,離散程度,也就是離其期望值的距離。方差越大,數據的分布越分散,如下圖右列所示。
參考:Understanding the Bias-Variance Tradeoff
想像你開著一架黑鷹直升機,得到命令攻擊地面上一隻敵軍部隊,於是你連打數十梭子,結果有一下幾種情況:
1.子彈基本上都打在隊伍經過的一棵樹上了,連在那棵樹旁邊等兔子的人都毫髮無損,這就是方差小(子彈打得很集中),偏差大(跟目的相距甚遠)。
2.子彈打在了樹上,石頭上,樹旁邊等兔子的人身上,花花草草也都中彈,但是敵軍安然無恙,這就是方差大(子彈到處都是),偏差大(同1)。
3.子彈打死了一部分敵軍,但是也打偏了些打到花花草草了,這就是方差大(子彈不集中),偏差小(已經在目標周圍了)。
4.子彈一顆沒浪費,每一顆都打死一個敵軍,跟抗戰劇里的八路軍一樣,這就是方差小(子彈全部都集中在一個位置),偏差小(子彈集中的位置正是它應該射向的位置)。
方差,是形容數據分散程度的,算是「無監督的」,客觀的指標,偏差,形容數據跟我們期望的中心差得有多遠,算是「有監督的」,有人的知識參與的指標。
Bias:誤差,對象是單個模型,期望輸出與真實標記的差別
Variance:方差,對象是多個模型
從同一個數據集中,用科學的採樣方法得到幾個不同的子訓練集,用這些訓練集訓練得到的模型往往並不相同。
以上圖為例:
1. 左上的模型偏差最大,右下的模型偏差最小;
2. 左上的模型方差最小,右下的模型方差最大
為了理解第二點,可以看下圖。藍色和綠色分別是同一個訓練集上採樣得到的兩個訓練子集,由於採取了複雜的演算法去擬合,兩個模型差異很大。如果是拿直線擬合的話,顯然差異不會這麼大。
一般來說,偏差、方差和模型的複雜度之間的關係是這樣子滴:
實際中,我們需要找到偏差和方差都較小的點。
XGBOOST中,我們選擇儘可能多的樹,儘可能深的層,來減少模型的偏差;
通過cross-validation,通過在驗證集上校驗,通過正則化,來減少模型的方差
從而獲得較低的泛化誤差。
對數據感興趣的小夥伴,歡迎交流,微信公共號:一白侃數
Bias:描述的是預測值與真實值之間的差距。
Variance:描述的是預測值的變化範圍,離散程度,也就是離其真實值的距離。
ps:
預測值,即隨機變數的取值。
真實值,即隨機變數的期望。
generalization error is related to bias and variance on training examples
訓練後(模型的)泛化誤差與偏差和方差相關
Domingos, P. A unified bias- variance decomposition and its applications. In Proceedings of the 17th International Conference on Machine Learning (Stanford, CA, 2000), Morgan Kaufmann, San Mateo, CA, 231~238
偏差描述的是模型傾向同類預測錯誤的程度,方差描述的是模型在做同類預測時出現的波動程度(可參考 Jason Gu 的圖例)。這兩個度量都與模型的泛化誤差相關,兩者值越小,對應的泛化誤差也就越小。
舉個例子:對於一個非線性分類問題而言(如XOR),簡單的線性分類器(無維度空間映射)由於自身特性並不能較好地進行類別劃分,model會出現較大的偏差;而決策樹模型作為非線性分類器,能較好的擬合訓練樣本,偏差值較小,但若模型過於擬合訓練樣本,測試樣本出現了訓練樣本考慮不周的情況,則容易出現預測誤差,即方差值較高。
對於一個model而言,我們當然希望泛化誤差越小越好,可以通過一些方法來減小上述的偏差和方差。例如,常見的random forest通過採樣和融合多棵決策樹來減小泛化誤差。當然了,這是學術研究的一個方向,方法有很多。
1、你指的偏差是標準偏差嗎?如果是的話,請看下面的定義:
2、樣本中各數據與樣本平均數的差的平方和的平均數叫做樣本方差;樣本方差的算術平方根叫做樣本標準(偏)差。樣本方差和樣本標準差都是衡量一個樣本波動大小的量,樣本方差或樣本標準差越大,樣本數據的波動就越大。
3、兩者之間,我沒有看出來太大的區別,如果非要說一點的話,我覺得方差的量綱是隨機變數的量綱的平方,故在使用上有時不方便,此時可改用其算術平方根,與隨機變數保持一致的單位。
演算法在不同訓練集上所得的結果有可能不同,即使這些訓練集來自同一個分布。偏差度量學習演算法與預測值的偏離程度,刻畫演算法本身的擬合能力;方差度量同樣大小訓練集的變動所導致的訓練結果的變化。刻畫數據擾動對演算法的影響,描述了訓練結果的分散程度。
在忽略雜訊的情況下,泛化誤差可分解為偏差、方差兩部分。
偏差:度量學習演算法的期望預測與真實結果的偏離程度,也叫擬合能力。
方差:度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動造成的影響。
偏差:估計值-實際值
方差:E{(估計值-實際值)^2}
雖然比較黃,但容易理解
想像你在make love
在你快要射的時候,
偏差就是你射不準,離洞口有距離,射歪了。
方差就是你射不穩,波動性大,亂射。
如果出現方差,沒啥後果。
但如果出現偏差,你是要負一定責任的。
方差描述一組數據離散程度。
誤差描述預測值和真實值差值。
二者的描述對象不同。
報道是不會出方差的,懂不懂得啊?
yep
偏差、方差都是對泛化性能的度量。
泛化性能用期望泛化誤差表示,而期望泛化誤差可以分解為偏差,方差和雜訊。
其中:
- 偏差度量了學習演算法的預測值與真實值的偏離程度
- 方差度量了同樣大小的訓練集變動導致學習性能的變化
數學表示:
其中:
更詳細內容請看《機器學習》-周志華 2.5節
簡單理解:high bias 就是欠擬合(underfitting) ; high variance 就是過擬合(overfitting)
一個是bias,一個是variance
推薦閱讀:
※微軟識花是怎麼實現的?
※機器學習&數據挖掘方向的計算機研究生該如何整體提升自己的技術水平?
※最數學的計算機科學方向有哪些?
※Kaggle如何入門?
※常用的機器學習演算法比較?