1、在進行模型選擇和評估時,我們經常會關注偏差和方差,那么什么是偏差?什么是方差?
偏差:描述的是預測值的期望與真實值之間的差距。偏差越大,越偏離真實數據。偏差也叫擬合能力。
方差:描述的是預測值的變化范圍,離散程度,也就是離其期望值的距離。方差越大,數據的分布越分散。度量了同樣大小的訓練集的變動所導致的學習性能的變化,即刻畫了數據擾動造成的影響。
由下圖可以看出來,偏差大就是與真實值的差距大,高方差跟真實值沒什么關系,只是預測值是否密集在一起,如果分散,就是方差大。
注意:
Bias:誤差,擬合出來的對象是單個模型,期望輸出與真實標記的差別
Variance:方差,擬合對象是多個模型,從同一個數據集中,用科學的采樣方法得到幾個不同的子訓練集,用這些訓練集訓練得到的模型往往并不相同。藍色和綠色分別是同一個訓練集上采樣得到的兩個訓練子集,由于采取了復雜的算法去擬合,兩個模型差異很大。如果是拿直線擬合的話,顯然差異不會這么大。
2、方差與偏差trade-off
當模型復雜度逐漸增強的時候,偏差是逐漸減小的,方差逐漸增大,它們中間有一個交點,就是兩者達到平衡,在適當的模型復雜度下,對訓練數據有一個良好的擬合,而且泛化性能也不差。
2、對于高偏差和高方差的情況應該如何處理?
下圖是NG機器學習課的一個截圖:
解釋:
(1)增加訓練樣本可以減小方差,以為隨著樣本量的增加,泛化性能會好一些,驗證損失會Jcv逐漸減小,所以會減小方差
(2)取少量的特征,可以有效的防止過擬合,提高泛化性能,會減小方差。
(3)取更多的特征,能從更多的角度學習數據的分布,減小訓練loss,會減小偏差。
(4)增加多項式特征,增加了模型的復雜度,可以降低偏差。
(5)減小lambda:就是削弱正則的作用,增加模型復雜度,減小偏差
(6)增大lambda:增強正則的作用,對參數進行有效控制,防止過擬合,減小方差。
注意:
這里應該學會的是,對癥下藥,我們通過觀察學習曲線,可以知道是偏差大了還是方差大了,從而進行解決方案的選取。選取不當的話,不會產生任何優化,比如說:如果偏差較大的話,增加訓練樣本的個數是沒用的,必須采取其他有效的方法,可以增加特征,增加多項式,減小lambda等。
參考文章
http://www.cnblogs.com/zhizhan/p/5002455.html
https://www.zhihu.com/question/20448464