1. 程式人生 > >泛化誤差,偏差方差分解

泛化誤差,偏差方差分解

訓練是為了得到泛化效能好的模型,希望模型在未知資料上能夠取得好的效果,偏差方差分解是解釋模型泛化效能的一種方式,

對於測試樣本\(x\),使用資料集\(D\)訓練的模型\(f\)在\(x\)上的輸出記為\(f(x;D)\),\(x\)的真實標籤為\(y\),在資料集\(D\)中模型的標籤為\(y_D\)。

$$\overline f(x;D) = E_D[f(x;D)]$$

偏差

偏差是指模型的期望輸出與資料真實標籤的差別

$$bias^2(x)=(\overline f(x;D)-y)$$

方差

$$var(x)=E_D[(f(x;D) - \overline f(x;D))^2]$$

噪聲

$$\epsilon^2 = E_D[(f(x;D) - y)^2]$$

那麼模型的期望泛化誤差可以表示為

$$\begin{align}E_D[(f(x;D) - y_D)^2] =& E_D[(f(x;D) - \overline f(x;D) + \overline f(x;D) - y_D)^2]\\ =& E_D[(f(x;D) - \overline f(x;D))^2] + E_D[(\overline f(x;D) - y_D)^2]\\ =& E_D[(f(x;D) - \overline f(x;D))^2] +E_D[(\overline f(x;D) - y + y- y_D)^2]\\ =& E_D[(f(x;D) - \overline f(x;D))^2] +E_D[(\overline f(x;D) - y] + E_D[(y- y_D)^2]\\ =& var(x) + bias^2(x) + \epsilon^2\end{align}$$