偏差bias与方差variance

目录

1 含义

1.1 偏差

1.2 偏差和方差

2 期望泛化误差公式推导

3 权衡偏差与方差:

4 解决高偏差与高方差

参考


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

1 含义

1.1 偏差

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

        偏差公式:

          

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

       (测量数据服从正态分布)根据正态分布我们知道,测量值范围在 概率为0.6827。在概率是0.997。也就是说,如果测量值的范围不在之上,那么可以判定它是坏值,应当舍去。(x表示测量的平均值,σ表示偏差)

        右边公式说明:表示标准误差估算值,也相当于标准误差

        偏差系数:

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

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

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的多项式函数。 由方差带来的误差通常体现在测试误差相对于训练误差的增量上。

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

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

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

解释:

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

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

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

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

小结:  

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

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

2 期望泛化误差公式推导

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

符号涵义
x测试样本
D数据集
yDx 在数据集中的标记
yx 的真实标记
f训练集 D 学得的模型
f(x;D)由训练集 D 学得的模型 f 对 x 的预测输出
f¯(x)模型 f 对 x 的 期望预测 输出

(1)泛化误差

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

(2)偏差

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

(3)方差

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

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

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

(4)噪声

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

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

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

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

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

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

  • 偏差.

    偏差度量了学习算法的期望预测与真实结果的偏离程序, 即 刻画了学习算法本身的拟合能力 .

  • 方差.

    方差度量了同样大小的训练集的变动所导致的学习性能的变化, 即 刻画了数据扰动所造成的影响 .

  • 噪声.

    噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界, 即 刻画了学习问题本身的难度 . 巧妇难为无米之炊, 给一堆很差的食材, 要想做出一顿美味, 肯定是很有难度的.

我们训练模型的最终目标,是降低模型的泛化误差,方差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 方法的工作流程:

bias-variance判断:

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

4 解决高偏差与高方差

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

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

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

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

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

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

参考

Bias-Variance Tradeoff(权衡偏差与方差)_风先生的日常专栏-CSDN博客

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Bias Variance Dilemma,即偏差方差困境,是机器学习中的一个重要概念。在训练模型时,我们希望模型能够很好地拟合训练数据,同时也要具有很好的泛化能力,即能够对未见过的数据进行准确的预测。但是,在实际应用中,模型可能会出现两种问题,即偏差方差偏差指的是模型对训练数据的拟合程度不够好,无法很好地捕捉数据中的关系。而方差则指的是模型过度拟合了训练数据,导致对未见过的数据的预测准确度下降。 为了更好地理解偏差方差,我们可以将测试误差分解为偏差方差之和的形式: $Error(x) = Bias^2(x) + Variance(x) + \epsilon$ 其中,$Error(x)$ 表示在输入为 $x$ 时的测试误差,$Bias(x)$ 表示模型预测结果与真实结果之间的偏差,$Variance(x)$ 表示模型预测结果的方差,$\epsilon$ 表示噪声的影响。 推导过程如下: 首先,我们有一个真实的数据分布 $y=f(x)+\epsilon$,其中 $f(x)$ 表示真实的关系,$\epsilon$ 表示噪声。 假设我们使用一个模型 $h(x)$ 来拟合真实的数据分布,那么预测结果为 $\hat{y}=h(x)$。 预测结果与真实结果之间的误差为: $Err(x) = \hat{y} - y = h(x) - f(x) - \epsilon$ 对上式进行求平方,并对误差取期望,得到: $E[(Err(x))^2] = E[(h(x)-f(x)-\epsilon)^2]$ 将上式展开,得到: $E[(Err(x))^2] = E[h(x)^2] + E[f(x)^2] + E[\epsilon^2] - 2E[h(x)f(x)] - 2E[h(x)\epsilon] + 2E[f(x)\epsilon]$ 根据方差和协方差的定义,可以将上式进一步拆分为: $E[(Err(x))^2] = [E[h(x)] - f(x)]^2 + E[h(x)^2] - [E[h(x)] - f(x)]^2 + E[\epsilon^2]$ $+ 2[E[h(x)f(x)] - E[h(x)]f(x)] - 2[E[h(x)\epsilon] - E[h(x)]E[\epsilon]] + 2[E[f(x)\epsilon] - f(x)E[\epsilon]]$ 整理后,得到: $E[(Err(x))^2] = Bias^2[x] + Variance[x] + \epsilon$ 其中,$Bias[x] = E[h(x)] - f(x)$ 表示偏差,$Variance[x] = E[h(x)^2] - E[h(x)]^2$ 表示方差,$\epsilon$ 表示噪声。 从上式可以看出,测试误差可以分解为偏差方差和噪声三部分。偏差方差之间存在一种权衡关系,即减小偏差会增加方差,减小方差会增加偏差。因此,我们需要在偏差方差之间寻求一个平衡,以获得更好的泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值