對一個學習算法除了通過實驗估計其泛化性能,還需要更好的了解泛化能力的原因,偏差-方差分解時解釋算法泛化性能的一種重要的工具。
對於測試樣本x,令yD為x在數據集中的標記(可能存在噪聲導致標記值和真實值不同),y為x的真實值,f(x;D)在訓練集D上學得模型f在x上的輸出。以回歸任務為例:
學習算法的期望預測為:
就是所有預測值的平均值;
產生的方差的計算為:
方差就是表示在某測試數據集上的方差,都是測試數據集上的預測值之間的關系,與真實的值並沒有關系
對於噪聲定義為:
標記值與真實值差平方的期望。
偏差則定義成期望輸出與真實標記的差別:
為了便於討論,假設噪聲的期望為0.通過簡單的多項式展開與合並對算法的期望泛化誤差進行分解:
偏差度量了學習算法的期望預測與真實結果的偏離程度,刻畫描述了算法本身對數據的擬合能力,也就是訓練數據的樣本與訓練出來的模型的匹配程度;方差度量了訓練集的變化導致學習性能的變化,描述了數據擾動造成的影響;噪聲則表示任何學習算法在泛化能力的下界,描述了學習問題本身的難度。偏差方差分解表示了泛化性能有三者決定。
一般來說偏差和方差有沖突稱之為偏差-方差窘境。在給定學習任務下,在訓練不足時,學習器的擬合能力較弱,,訓練數據的擾動不足以使學習器產生明顯變化,此時偏差起到最要的作用,隨着學習器擬合能力的加強,偏差越來越小,但是任何一點數據抖動都可以被學習,方差逐漸占據主導,若訓練數據自身的非全局的特性被學習到了,那么久發生了過擬合。