方差和偏差的区别

方差和偏差的区别

转载声明

本文大量内容系转载自以下文章,有删改,并参考其他文档资料加入了一些内容:

  • 方差和偏差的区别
    作者:blcblc
    出处:CNBLOGS

-理解机器学习中的偏差与方差
作者:liuchengxu_
出处:CSDN

摘要

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

0x01 偏差与方差

1.1 直观感受

  • 偏差
    这里的偏指的是 偏离 , 那么它偏离了什么到导致了误差? 潜意识上, 当谈到这个词时, 我们可能会认为它是偏离了某个潜在的 “标准”, 而这里这个 “标准” 也就是分类任务中的真实标签 (label).

  • 方差
    很多人应该都还记得在统计学中, 一个随机变量的方差描述的是它的离散程度, 也就是该随机变量在其期望值附近的 波动程度 . 取自维基百科一般化的方差定义:

如果 XX 是一个向量其取值范围在实数空间RnRn,并且其每个元素都是一个一维随机变量,我我们就称 XX 为随机向量。随机向量的方差是一维随机变量方差的自然推广,其定义为E[(X−μ)(X−μ)T]E[(X−μ)(X−μ)T],其中μ=E(X)μ=E(X), XTXT是 XX 的转置.

1.2 推导泛化误差与偏差与方差, 噪声

方差和偏差的区别_第1张图片

  • 泛化误差
    以回归任务为例, 学习算法的平方预测误差期望为:
    泛化误差
  • 方差
    在一个训练集 D 上模型 f 对测试样本 x 的预测输出为 f(x;D), 那么学习算法 f 对测试样本 x 的 期望预测 为:
    期望预测
    上面的期望预测也就是针对 不同 数据集 D, f 对 x 的预测值取其期望, 也被叫做 average predicted

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

  • 噪声
    噪声为真实标记与数据集中的实际标记间的偏差:
    噪声
  • 偏差
    期望预测与真实标记的误差称为偏差(bias), 为了方便起见, 我们直接取偏差的平方:
    偏差平方
  • 我们回忆下刚才提到的泛化误差:
    泛化误差2
    现在对该期望泛化误差进行分解:
    方差和偏差的区别_第2张图片
    不要被上面的公式吓到, 其实不复杂, 在已知结论的情况下, 了解每一项的意义, 就是一个十分简单的证明题而已, 蓝色部分是对上面对应的等价替换, 然后对其展开后, 红色部分刚好为 0.

对最终的推导结果稍作整理:
方差和偏差的区别_第3张图片

1.3 正式定义

至此, 继续来看一下偏差, 方差与噪声的含义 :

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

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

    f(x;D)为期望预测,也就是针对不同数据集 D, f 对 x 的预测值取其期望。那么使用样本数相同的不同训练集产生的方差为:
    方差2

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

1.4 小结

想当然地, 我们希望偏差与方差越小越好, 但实际并非如此. 一般来说, 偏差与方差是有冲突的, 称为偏差-方差窘境 (bias-variance dilemma).

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

0x02 偏差方差与射击敌人

想象你开着一架黑鹰直升机,得到命令攻击地面上一只敌军部队,于是你连打数十梭子,结果有一下几种情况:

  1. 子弹基本上都打在队伍经过的一棵树上了,连在那棵树旁边等兔子的人都毫发无损,这就是方差小(子弹打得很集中),偏差大(跟目的相距甚远)。
  2. 子弹打在了树上,石头上,树旁边等兔子的人身上,花花草草也都中弹,但是敌军安然无恙,这就是方差大(子弹到处都是),偏差大(同1)。
  3. 子弹打死了一部分敌军,但是也打偏了些打到花花草草了,这就是方差大(子弹不集中),偏差小(已经在目标周围了)。
  4. 子弹一颗没浪费,每一颗都打死一个敌军,跟抗战剧里的八路军一样,这就是方差小(子弹全部都集中在一个位置),偏差小(子弹集中的位置正是它应该射向的位置)。
  • 方差,是形容数据分散程度的,算是“无监督的”,客观的指标,
  • 偏差,形容数据跟我们期望的中心差得有多远,算是“有监督的”,有人的知识参与的指标。

0x03 偏差方差与打靶

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

  • 方差
    很容易看出左边两副图中蓝色点比较集中, 而右边两幅中比较分散, 它们描述的是方差的两种情况. 比较集中的属于方差小的, 比较分散的属于方差大的情况.
  • 偏差
    再看蓝色点与红色靶心区域的位置关系, 上面两幅图靠近红色靶心的属于偏差较小的情况, 下面两幅图远离靶心的属于偏差较大的情况.

你可能感兴趣的:(机器学习)