機(jī)器學(xué)習(xí)就是利用訓(xùn)練數(shù)據(jù)去訓(xùn)練一個模型(model),使得這個模型盡可能逼近真實,用來衡量模型好壞的依據(jù)是模型的誤差,由偏差和方差兩部分組成。
Bias(偏差)
模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準(zhǔn)度,反應(yīng)出算法的擬合能力。
Variance(方差)
模型每一次輸出結(jié)果與模型輸出期望之間的誤差,即模型的穩(wěn)定性,反應(yīng)出預(yù)測的波動情況。
偏差與方差的關(guān)系
偏差與方差之間按照高低,可以組合成四種關(guān)系,如下圖所示

1、低偏差低方差
表示模型既準(zhǔn)確又穩(wěn)定,效果最好,但是現(xiàn)實中這種情形很少遇見。
2、低偏差高方差
表示模型準(zhǔn)確但是穩(wěn)定性差,對驗證數(shù)據(jù)&測試數(shù)據(jù)的擬合能力差,即是模型的泛化能力差,產(chǎn)生了過擬合(Overfitting)。
3、高偏差低方差
表示模型的準(zhǔn)確度差,對數(shù)據(jù)的擬合能力弱,產(chǎn)生了欠擬合(Underfitting)。
4、高偏差高方差
表示模型既不準(zhǔn)確又不穩(wěn)定。
過擬合與欠擬合
由上面的分析可知,高方差往往預(yù)示著過擬合,高偏差則是欠擬合。
避免欠擬合(擬合太差)
1、增加訓(xùn)練樣本數(shù)據(jù)
2、設(shè)計更復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型
3、增加迭代次數(shù)
4、更好的優(yōu)化函數(shù)
5、調(diào)整超參數(shù)值
避免過擬合(擬合過度,泛化太差)
1、設(shè)計更簡單的神經(jīng)網(wǎng)絡(luò)模型
2、增加訓(xùn)練樣本數(shù)據(jù)
3、正則化。在損失函數(shù)后面添加上L2正則項
4、使用dropout。隨機(jī)性使得網(wǎng)絡(luò)中的部分神經(jīng)元失效,效果上類似將模型變得更簡單。
5、調(diào)整超參數(shù)值
6、嘗試其他模型
7、提前結(jié)束訓(xùn)練(early stopping)。即是提前結(jié)束優(yōu)化損失函數(shù)。
簡單小結(jié)
在實際工程中,通??梢园聪旅娴膩聿僮?b>
貝葉斯(最優(yōu))誤差-理論上的最小誤差值(通常比人類誤差小)
可避免偏差-訓(xùn)練誤差 與 貝葉斯誤差 之間的差值
方差-驗證集誤差 與 訓(xùn)練誤差 的差值
當(dāng) 可避免偏差 大于 方差 時,發(fā)生 欠擬合。
當(dāng) 方差 大于 可避免偏差 時,發(fā)生 過擬合。
在訓(xùn)練模型時對照以上描述,有助于定位問題,更快找到最適合的模型。