目录

1 含义

1.1 偏差

1.2 偏差和方差

2 期望泛化误差公式推导

3 权衡偏差与方差:

4 解决高偏差与高方差

参考


学习算法的预测误差, 或者说泛化误差(generalization error)可以分解为三个部分: 偏差(bias), 方差(variance)噪声(noise). 在估计学习算法性能的过程中, 我们主要关注偏差与方差. 因为噪声属于不可约减的误差 (irreducible error).

1 含义

1.1 偏差

        偏差又称为表观误差,是指个别测定值与测定的平均值之差,它可以用来衡量测定结果的精密度高低。在统计学中,偏差可以用于两个不同的概念,即有偏采样与有偏估计。一个有偏采样是对总样本集非平等采样,而一个有偏估计则是指高估或低估要估计的量 。

        偏差公式:

          

偏差的性质是什么问题 偏差的定义及分类_概率论

        在统计学中常用来判定测量值是否为坏值。精密度是指一样品多次平行测定结果之间的符合程度,用偏差表示。偏差越小,说明测定结果精密度越高。

       (测量数据服从正态分布)根据正态分布我们知道,测量值范围在

偏差的性质是什么问题 偏差的定义及分类_自动驾驶_02

 概率为0.6827。在

偏差的性质是什么问题 偏差的定义及分类_概率论_03

概率是0.997。也就是说,如果测量值的范围不在之上,那么可以判定它是坏值,应当舍去。(x表示测量的平均值,σ表示偏差)

        右边公式说明:偏差的性质是什么问题 偏差的定义及分类_机器学习_04表示标准误差估算值,也相当于标准误差

        偏差系数:

        标准差与变量及期望值的大小有关,项目比较时,若某一项目的期望值及标准差均比其他项目大,不能简单地认为标准差大的项目风险就一定大,还应进一步用两者的相对指标进行分析和比较,该相对指标即偏差系数。

        偏差分绝对偏差相对偏差标准偏差相对平均偏差来表示。

1. 绝对偏差:是指某一次测量值与平均值的差异。

2. 相对偏差:是指某一次测量的绝对偏差占平均值的百分比。

3.标准偏差:是指统计结果在某一个时段内误差上下波动的幅度。统计学名词。一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。标准偏差的大小可通过标准偏差与平均值的倍率关系来衡量。

4.平均偏差:是指单项测定值与平均值的偏差(取绝对值)之和,除以测定次数。

5.相对平均偏差:是指平均偏差占平均值的百分率。平均偏差和相对平均偏差都是正值。

偏差与误差

        误差测量值真值之间的差值。用误差衡量测量结果的准确度,用偏差衡量测量结果的精密度;误差是以真实值为标准,偏差是以多次测量结果的平均值为标准。

        误差与偏差的含义不同,必须加以区别。但是由于在一般情况下,真实值是不知道的(测量的目的就是为了测得真实值),因此处理实际问题时常常在尽量减小系统误差的前提下,把多次平行测量值当作真实值,把偏差当作误差

1.2 偏差和方差

  • 偏差bias:期望输出真实标记的差别称为偏差。 是由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的平均值和真实模型输出之间的偏差。 偏差通常是由于我们对学习算法做了错误的假设所导致的, 比如真实模型是某个二次函数, 但我们假设模型是一次函数。由偏差带来的误差通常在训练误差上就能体现出来。
  • 方差variance:训练集D上学得模型 f 在x上的预测输出f(x;D)学习算法的期望预测f¯(x)的差别,即由所有采样得到的大小为m的训练数据集训练出的所有模型的输出的方差。不同的训练数据集训练出的模型的输出值之间的差异,它表示了模型的稳定程度。比如,要预测一个给定点的值,用n份有差异的数据集训练,训练了n个模型,结果这n个模型对该点的预测值的差异浮动很大,此时该模型的variance就偏高了。方差通常是由于模型的复杂度相对于训练样本数m过高导致的, 比如一共有100个训练样本, 而我们假设模型是阶数不大于200的多项式函数。 由方差带来的误差通常体现在测试误差相对于训练误差的增量上。

偏差的性质是什么问题 偏差的定义及分类_概率论_05

假设红色的靶心区域是学习算法完美的正确预测值, 蓝色点为每个数据集所训练出的模型对样本的预测值, 当我们从靶心逐渐向外移动时, 预测效果逐渐变差。

很容易看出有两副图中蓝色点比较集中, 另外两幅中比较分散, 它们描述的是方差的两种情况. 比较集中的属于方差小的, 比较分散的属于方差大的情况。

再从蓝色点与红色靶心区域的位置关系, 靠近红色靶心的属于偏差较小的情况, 远离靶心的属于偏差较大的情况。

解释:

 左上(图1):是一种低偏差低方差模型。表现出来就是,模型的预测效果很好,并且模型比较健壮(稳定)。

 右上(图2):是一种低偏差高方差模型。表现出来就是,模型的预测效果很好,但是模型不稳定,预测结果比较发散。  

左下(图3):是一种高偏差低方差模型。表现出来就是,模型的预测效果不好,但是模型比较健壮(稳定),预测结果比较集中。

 右下(图4):是一种高偏差高方差模型。表现出来就是,模型的预测效果不好,并且模型不稳定。

小结:  

偏差,是描述数据跟我们的期望的偏差,算是“有监督的”,需要人的知识参与的指标。

方差,是描述数据分散程度的,算是“无监督的”客观的指标;

2 期望泛化误差公式推导

有了直观感受以后, 下面来用公式推导泛化误差与偏差与方差, 噪声之间的关系.

符号

涵义

x

测试样本

D

数据集

yD

x 在数据集中的标记

y

x 的真实标记

f

训练集 D 学得的模型

f(x;D)

由训练集 D 学得的模型 f 对 x 的预测输出

f¯(x)

模型 f 对 x 的 期望预测 输出

(1)泛化误差

以回归任务为例, 学习算法的平方预测误差期望为:

偏差的性质是什么问题 偏差的定义及分类_方差_06

(2)偏差

期望预测与真实标记的误差称为偏差(bias), 为了方便起见, 我们直接取偏差的平方:

偏差的性质是什么问题 偏差的定义及分类_自动驾驶_07

(3)方差

在一个训练集 D上模型 f 对测试样本 x 的预测输出为 f(x;D), 那么学习算法 f 对测试样本 x 的 期望预测 为:

偏差的性质是什么问题 偏差的定义及分类_概率论_08

上面的期望预测也就是针对 不同 数据集 D, f 对 x 的预测值取其期望, 也被叫做 average predicted 。

使用样本数相同的不同训练集产生的方差为:

偏差的性质是什么问题 偏差的定义及分类_方差_09

(4)噪声

噪声为真实标记与数据集中的实际标记间的偏差:

偏差的性质是什么问题 偏差的定义及分类_偏差的性质是什么问题_10

(5)对算法的期望泛化误差进行分解:

偏差的性质是什么问题 偏差的定义及分类_自动驾驶_11

蓝色部分是对上面对应的等价替换, 然后对其展开后;红色部分刚好为 0。

第一个红色部分是因为

偏差的性质是什么问题 偏差的定义及分类_概率论_08

第二个红色部分是因为噪声期望为0。

对最终的推导结果稍作整理:

偏差的性质是什么问题 偏差的定义及分类_概率论_13

即:期望泛化误差=偏差^2+方差+固有噪音

  • 偏差.
    偏差度量了学习算法的期望预测与真实结果的偏离程序, 即 刻画了学习算法本身的拟合能力 .
  • 方差.
    方差度量了同样大小的训练集的变动所导致的学习性能的变化, 即 刻画了数据扰动所造成的影响 .
  • 噪声.
    噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界, 即 刻画了学习问题本身的难度 . 巧妇难为无米之炊, 给一堆很差的食材, 要想做出一顿美味, 肯定是很有难度的.

偏差的性质是什么问题 偏差的定义及分类_机器学习_14

我们训练模型的最终目标,是降低模型的泛化误差,方差variance强调了模型的泛化能力,偏差bias强调了模型的误差能力。如果一个模型variance和bias都很低,它就能获得较低的泛化误差。 

  • 给定一个学习任务, 在训练初期, 由于训练不足, 学习器的拟合能力不够强, 偏差比较大, 也是由于拟合能力不强, 数据集的扰动也无法使学习器产生显著变化, 也就是欠拟合的情况;
  • 随着训练程度的加深, 学习器的拟合能力逐渐增强, 训练数据的扰动也能够渐渐被学习器学到;
  • 充分训练后, 学习器的拟合能力已非常强, 训练数据的轻微扰动都会导致学习器发生显著变化, 当训练数据自身的、非全局的特性被学习器学到了, 则将发生过拟合.

  许多模型在设计的时候,都强调避免过拟合,像普遍存在的正则项。在ensemble类模型中,随机森林基于bagging方法,通过样本采样和特征采样,使得每颗树都各有特色。gbdt基于boosting方法,在每一轮训练,通过拟合残差,也训练出了各有特色的树。这些方式在保证bias的基础上,使得模型具有良好的泛化能力。

3 权衡偏差与方差:

模型过于简单时,容易发生欠拟合(high bias);模型过于复杂时,又容易发生过拟合(high variance)。为了达到一个合理的 bias-variance 的平衡,此时需要对模型进行认真地评估。这里简单介绍一个有用的cross-validation技术K-fold Cross Validation (K折交叉验证), 

所谓的泛化误差也即模型在新数据集上的表现。在训练数据上面,我们可以进行交叉验证(Cross-Validation)。 
K折交叉验证,初始采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用来训练。交叉验证重复K次,每个子样本验证一次,我们便可获得 k 个模型及其性能评价。平均K次的结果或者使用其它结合方式,最终得到一个单一估测。

k-fold cv的k的选择:

K值大的时候, 我们会有更少的Bias(偏差), 更多的方差Variance。 
K值小的时候, 我们会有更多的Bias(偏差), 更少的方差Variance

通常把k控制在5~10的范围里。

 k=10 时的 k-fold 方法的工作流程:

偏差的性质是什么问题 偏差的定义及分类_概率论_15

bias-variance判断:

根据错误均值判断bias,如果错误均值很低,说明在这个数据集上,该模型准确度是可以的。 
根据错误标准差来判断variance,如果错误标准差很高,说明该模型的泛化能力需要提高。

4 解决高偏差与高方差

高偏差:训练误差很大,训练误差与测试误差差距小,随着样本数据增多,训练误差增大。解决方法:

1.寻找更好的特征(具有代表性的)

2.用更多的特征(增大输入向量的维度)

高方差:过拟合,模型过于复杂,训练误差小,训练误差与测试误差差距大,可以通过增大样本集合来减小差距。随着样本数据增多,测试误差会减小。解决方案:

1.增大数据集合(使用更多的数据)

2.减少数据特征(减小数据维度)

参考

Bias-Variance Tradeoff(权衡偏差与方差)