偏差與方差主要與兩個因素有關:訓練集誤差(train set error)、驗證集誤差(dev set error)
接下來舉例說明:
1、高方差(數據過擬合):假設訓練集誤差為1%(很小)、驗證集誤差為16%(較大),說明訓練時數據過擬合,在某種程度上,驗證集並沒有充分利用交叉驗證集的作用,所以驗證時誤差過大,這種情況稱為高方差。
所謂過擬合就是訓練時結果很好,但預測時結果不是很好的現象,產生過擬合的原因通常為以下幾點:
- 模型的復雜度太高。比如:網絡太深,
- 過多的變量(特征)
- 訓練數據非常少。
高方差(數據過擬合)解決辦法:(1)增大數據集;(2)降低模型復雜度;(3)增大正則化系數λ;(4)通過特征選擇減少特征數(維數)。
2、高偏差(欠擬合):假設訓練集誤差為15%(較大),驗證集誤差為16%(較大,但相較於train set error是合理的),雖然訓練集的誤差就很大,但是驗證集的誤差相對訓練集在合理范圍內提升了一點,說明模型合理,但是數據欠擬合,這種情況稱為高偏差。
[注]:此分析是假設預測的,如果最優誤差很高為15%,則訓練集誤差為15%,驗證集誤差為16%的例子是較為理想的。
欠擬合一般是模型比較簡單,不能准確的描述數據特征,因此盲目增大數據量是沒用的,通常解決辦法為:(1)增加數據特征數;(2)添加高次多項式特征;(3)減少正則化系數λ。
3、高偏差、高方差:假設訓練集誤差是15%,偏差相當高,但是,驗證集的評估結果更糟糕,錯誤率達到30%,在這種情況下,這種算法偏差高,因為它在訓練集上結果不理想,而且方差也很高,這是方差偏差都很糟糕的情況。
4、低偏差、低方差:假設訓練集誤差是0.5%,驗證集誤差是1%,偏差和方差都很低,是為理想情況。