ML Lecture 2: Where does the error come from?
做完機器學習,希望可以透過診斷error來源,來減低error
error來自bias與variance
我們只能用training data 找出一個估測值 (y*) 來預估真正的function (ŷ):y 就是 ŷ 的 estimator*
既然是用估計的,就會有variance 跟 bias的問題
f-hat (f^) 跟 f-star(f*) 則表示function的實際值與估測值,且兩者的距離差距為 bias+variance(右圖中,f^為靶心)
要評估 x 的 mean 可以sample一定數量(N)的 x求平均 得 x-bar
但x-bar跟真正的mean(μ) 一定不會一樣,除非sample夠多次
但x-bar 的期望值E[x-bar]會正好等於 μ ,所以 x-bar是一個 unbias 的estimator
而x-bar跟μ 之間會有一個差距,這個差距取這個差距取決於variance Variance 又取決於N (sample數) 大小
$$ Var[\bar{x}]=\frac{\sigma^2}{N} $$
先用前面一樣的方法估測出x-bar 再用x-bar來算出 s² 這個 s² 就可以用來估測 σ²
$$ \bar{x}=\frac{1}{N}\sum_nx_n\,\,\,\,\,\,\,\,\,s^2=\frac{1}{N}\sum_n(x_n-\bar{x})^2 $$
不過這個estimator 是 biased estimator
因為算 s² 的期望值,不會等於 σ² (普遍會比較小一點)
$$ E[s^2]=\frac{N-1}{N}\sigma^2 $$
回到regression問題
我們可以透過算期望值得知,一個estimatpor是不是biased
例如右下圖,先把一堆f*算出期望值 f-bar 可以發現 f-bar跟把心有一段距離,就是bias
而f*跟f-bar之間的距離就是variance
當f*做得夠多次的時候,可以發現:
Variance:
Bias: (複雜model會隨著f*越多,bias越小)
黑線:f-hat(真正的f) ; 藍線:f*平均值
比較一下兩者。之前model太複雜導致testing data的error爆高(overfitting),其實是因為variance太大,而under-fitting的情況則是因為model簡單,導致bias大