Basic concept
Error从何而来?
来自于 bias and variance of estimator.
如何估算?
估算随机变量X的平均值:
- 假设x的均值是$\mu$
- 假设x的方差是$\sigma^2$
Estimator of mean $\mu$
Sample N points : {$x^1,x^2,…,x^N$}
用抽样的平均去估计/逼近真实的平均值:
$m=\frac{1}{N}\sum_nx^n\neq\mu$
$E[m]=\frac{1}{N}\sum_nE[x^n]=\mu$
可以类比打靶,靶心是真实值。
Var[m]=$\frac{\sigma^2}{N}$,
$s^2=\frac{1}{N}=\sum_n(x^n-m)^2$,用$s^2$来估计。
$E[s^2]=\frac{N-1}{N}\sigma^2\neq\sigma^2$;
不考虑方差:瞄的时候就没有瞄准/即使我瞄准了但仍是有偏离了。
综上:错误来自bias有多大(你瞄准的位置),variance有多大(你的水平有多稳定)
简单的model受data影响会变小。
Consider the extreme case f(x)=c
Bias
bias=$E[f^*]=\overline{y}$
靶心:$\hat{f}$;
根据测试,可以intuitively地直观感觉到,模型越复杂,bias越小,模型越简单,bias越大?
那如何直观的理解这一现象呢?
可以很直观的从图中看到,当模型简单的时候,即我打飞镖时点落的范围,因为它简单,所以他的表示的范围有限,范围集中在那个蓝框框里,所以有可能 它甚至自己本身就不包含那个target($\hat{f}$),而当我的模型复杂的时候,我复杂,可表示的范围就变大了,bias就可能包含我的$\hat{f}$了。
Bias与variance
当然,简单模型,方差小,bias大,可表示的涵盖的范围小。
当然,复杂模型,方差大,bias小,可表示的涵盖的范围大。
这些都可以intuitively的去理解。
Overfitting 与 underfitting
那过拟合和欠拟合都来自于什么情况呢?
如果你的误差来自于bias,那就可能是欠拟合,类比于直线本身涵盖不到target靶心,甚至无法拟合完整的一个模型。
如果你的误差来自于variance,那就可能是过拟合,因为复杂模型离靶心bia很少,那就肯定拟合了,但复杂的方差大,可能拟合的太好了,那就是过拟合了。
Bias 大
redesign your model
Variance大
More data
Very effective, but not always practical.
Regularization
Model Selection
There is usually a trade-off between bias and variance
Select a model that balances two kinds of error to minimize the total error
What you should Not do:
不要认为,自己手上的testing set就一定是最好,即你本身挑model的时候就考虑了自己手上的testing set,此时,在真正的testing set上不一定是最好的error.
但如何避免在testing set 上也以某种意义过拟合呢?
Cross validation
$Traing Set = \begin{cases}Training Set\ValidationSet\end{cases}$
$Testing Set=\begin{cases}Testing SetPublic\TestingSetPrivate\end{cases}$
就不要用在public testing set 作为选择模型的标准。
N-fold CrossValidation
即 ,当你不相信一次分割做validation的结果的时候时候,可以分很多次。