误差的分类bias(平均误差)与variation(均方误差)并且更加复杂的模型并不一定会带来更低的误差。
对于实际的情况,存在一个最佳的预测函数,记为f^,此为理想情况;实际情况中,我们根据training data,可以得到一个预测函数,记为f*,此时我们可以称f*为f^的一个估计子(estimator),我们定义平均误差为模型函数误差:
m=\frac{1}{n}\sum_{i=1}^{n}(\hat{y_{n}}-\hat{f(x_{n}))}^{2}
为了分析误差,用于获得表现更优异的模型,此时可以引入bias和variance的概念,即统计里面的概念,例如无偏估计量(unbias estamator)、方差等等 。
形象的bias和variance
实际情况是,根据同一组模型,我们通过训练得到了一个函数;经过多次训练,我们会得多组函数。如下图所示,选取了100个训练集合。可以发现简单的模型,其variance较小;而较为复杂的模型,其variance较大。而对于bias,较为复杂的model有着较小的bias,如下图所示。
简单模型有可能不包含最佳预测函数f^,所以如果发现函数集f*的期望与f^差值较大,即bias误差大,可以在模型复杂程度上进行改进。 100组简单模型训练出的函数与100组复杂模型训练处的函数,越复杂的模型所训练出来的函数之间差异越大,即误差的variation部分较大,解决方法通常是增多training data 或者采用regularization的方法。采用regularization方法可以让function更加平滑,
L(w)= \sum_{i=1}^{n}(\hat{y^{_{n}}}-f(\hat{x_{n}})+\lambda \sum_{1}^{i} w_{I})
根据y=wx+b,w越小代表y随x的变化越小,曲线越平滑,\lambda是权重参数,代表曲线平滑度对L(w) loss function的影响大小。
误差的来源:1.模型的参数的高次方忽略,以下简称模型复杂程度低。2.training data不足够。
网友评论