误差来源——偏差与方差
在使用机器学习模型进行预测时,一个不可避免的问题是我们始终会遇到误差。那么误差到底是怎么产生的呢?
其实误差的来源有两方面:
偏差(Bias):数据偏离平均值的差。
方差(Variance):随机变数和其数学期望(即均值)之间的偏离程度,多指数据的波动。
1、偏差与方差的估计
对于样本 ,假设其均值为 ,方差为 ,下面对这两个两进行估计。
从样本 中取N个样本{ }
计算N个点的平均值m,用m来估计,显然平均值m并不等于
接著,计算m的期望
可以看出,m是的无偏估计(估计量的期望与样本的期望相等)。
再来看m的方差
即,样本量越大,m的方差就越小。
再来用 估计
来看的期望
(具体推导过程可参照概率论里面相关章节)
可见,是比样本方差 小,二者并不相等,属于有偏估计。
2、方差与偏差的四种状态
偏差与方差有以下4中不同的存在状态。
考虑不同的训练集,假设有100个数据集。采用 和考虑复杂一点的模型 他们的偏差和方差如下图所示:
只采用一次项来拟合的时候,可以看到条线较集中,即方差较小,但是蓝色的那条直线并不能较好地拟合样本数据(黑色的线),即偏差较大。
当模型变得复杂,采用五次项之后,得到的红线变得非常杂乱,即方差较大,但是平均起来蓝色的线能够较接近黑色的样本数据(黑色的线),即偏差较小。
简单的模型受到数据的影响较小。
综合来讲
简单模型是高偏差、低方差的
复杂模型是低偏差、高方差的
在模型变复杂的过程中,需要找到一个临界点,平衡方差与偏差。
在模型逐渐复杂的过程中,一般情况下会越来越接近实际情况,偏差会越来越小,即曲线越描越准,但与此同时,每一次描的线的差别也会越来越大,即方差越变越大。
3、偏差与方差的处理
模型过于简单时,不能较好的拟合数据,此时的误差主要取决于偏差,此时称模型为欠拟合;随著模型越来越复杂,会越倾向于拟合更多的数据点,甚至是一些离群的点,波动较大,,误差主要取决于方差。这种模型往往在训练集上表现得非常良好,但是到了测试集,误差会明显变大,此时称模型为过拟合。
对于偏差大,即欠拟合的情况:
(1)选取更多的特征加入训练;
(2)选取更加复杂的模型
对于方差大,即过拟合的情况:
(1)增加训练集的数据量,不会影响偏差,但有时候获取数据很难。
(2)正则化,模型过于偏向正则项可能影响偏差。
(3)使用多种模型训练数据,采用交叉验证等方式选取最终模型。
本文参考国立台湾大学2017年机器学习第二课(错误来自于哪里?)
推荐阅读: