文章目录

  • 一、期望、概率论方差、均方差
  • 二、为什么会有偏差和方差
  • 三、偏差、方差、噪声是什么?
    • 1. 简述偏差、方差、噪声
    • 2. 数学公式定义偏差、方差、噪声
  • 四、泛化误差、偏差和方差的关系?
  • 五、用图形解释偏差和方差
  • 六、偏差、方差囧境
  • 七、偏差、方差与过拟合、欠拟合的关系?
  • 八、偏差、方差与模型复杂度的关系
  • 九、偏差、方差与bagging、boosting的关系?
  • 十、偏差、方差和K折交叉验证的关系?
  • 十一、如何解决偏差、方差问题?

一、期望、概率论方差、均方差

  1. 期望
    概率论中描述一个随机事件中的随机变量的平均值的大小可以用数学期望这个概念,数学期望的定义是实验中可能的结果的概率乘以其结果的总和。
  2. 方差


  3. 标准差
    又叫均方差, 是离均差平方的算数平方根。标准差能体现一个数据集的离散程度,平均数相同的两组数,标准差未必相同。

    标准差和方差都是用来衡量样本离散程度的量,那么为什么要有标准差呢?
    因为方差和样本的量纲不一样。换句话说不在一个层次,怎么理解这个层次,从公式来看方差是样本和均值的平方和的平均。这里有一个平方运算,这是导致量纲不在一个层次的原因。而标准差和均值的量纲(单位)是一致的,在描述一个波动范围时标准差比方差更方便。

二、为什么会有偏差和方差

对学习算法除了通过实验估计其泛化性能之外,人们往往还希望了解它为什么具有这样的性能。
“偏差-方差分解”(bias-variance decomposition)就是从偏差和方差的角度来解释学习算法泛化性能的一种重要工具。

在机器学习中,我们用训练数据集去训练一个模型,通常的做法是定义一个误差函数,通过将这个误差的最小化过程,来提高模型的性能。然而我们学习一个模型的目的是为了解决训练数据集这个领域中的一般化问题,单纯地将训练数据集的损失最小化,并不能保证在解决更一般的问题时模型仍然是最优,甚至不能保证模型是可用的。
这个训练数据集的损失与一般化的数据集的损失之间的差异就叫做泛化误差(generalization error)。

而泛化误差可以分解为偏差(Biase)、方差(Variance)和噪声(Noise)。

三、偏差、方差、噪声是什么?

1. 简述偏差、方差、噪声

如果我们能够获得所有可能的数据集合,并在这个数据集合上将损失最小化,那么学习得到的模型就可以称之为“真实模型”。
当然,在现实生活中我们不可能获取并训练所有可能的数据,所以“真实模型”肯定存在,但是无法获得。我们的最终目的是学习一个模型使其更加接近这个真实模型。

Bias和Variance分别从两个方面来描述我们学习到的模型与真实模型之间的差距。

Bias是用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。

Variance是不同的训练数据集训练出的模型输出值之间的差异。

噪声的存在是学习算法所无法解决的问题,数据的质量决定了学习的上限。假设在数据已经给定的情况下,此时上限已定,我们要做的就是尽可能的接近这个上限。

注意:我们能够用来学习的训练数据集只是全部数据中的一个子集。想象一下,我们现在收集几组不同的数据,因为每一组数据的不同,我们学习到模型的最小损失值也会有所不同,它们与“真实模型”的最小损失也是不一样的。

2. 数学公式定义偏差、方差、噪声


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

这里的期望预测也就是针对不同数据集D,模型 f 对样本 x 的预测值取其期望,也叫做平均预测(average predicted)。
(1)方差定义:
使用样本数相同的不同训练集产生的方差为:

方差的含义:方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。
(2)偏差定义:
期望输出与真实标记的差别称为偏差(bias),即:

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

噪声的含义:噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

偏差度量的是单个模型的学习能力,而方差度量的是同一个模型在不同数据集上的稳定性。
(3)噪声:
噪声为:

噪声的含义:噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

偏差度量的是单个模型的学习能力,而方差度量的是同一个模型在不同数据集上的稳定性。

四、泛化误差、偏差和方差的关系?


也就是说,泛化误差可以通过一系列公式分解运算证明:泛化误差为偏差、方差与噪声之和。证明过程如下:

为了便于讨论,我们假定噪声期望为零,即 [公式] 。通过简单的多项式展开合并,可对算法的期望泛化误差进行分解:

于是,最终得到:

“偏差-方差分解”说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。

五、用图形解释偏差和方差


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

从上面的图片中很容易可以看到,左边一列的蓝色点比较集中,右边一列的蓝色点比较分散,它们描述的是方差的两种情况。比较集中的属于方差比较小,比较分散的属于方差比较大的情况。

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

思考:从上面的图中可以看出,模型不稳定时会出现偏差小、方差大的情况,那么偏差和方差作为两种度量方式有什么区别呢?

Bias的对象是单个模型,是期望输出与真实标记的差别。它描述了模型对本训练集的拟合程度。

Variance的对象是多个模型,是相同分布的不同数据集训练出模型的输出值之间的差异。它刻画的是数据扰动对模型的影响。

六、偏差、方差囧境

一般来说,偏差与方差是有冲突的,这称为偏差-方差窘境(bias-variance dilemma)。
下图给出了一个示意图。给定学习任务,假定我们能控制学习算法的训练程度,则在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已经非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合。

七、偏差、方差与过拟合、欠拟合的关系?

一般来说,简单的模型会有一个较大的偏差和较小的方差,复杂的模型偏差较小方差较大。

欠拟合:模型不能适配训练样本,有一个很大的偏差。

举个例子:我们可能有本质上是多项式的连续非线性数据,但模型只能表示线性关系。在此情况下,我们向模型提供多少数据不重要,因为模型根本无法表示数据的基本关系,模型不能适配训练样本,有一个很大的偏差,因此我们需要更复杂的模型。那么,是不是模型越复杂拟合程度越高越好呢?也不是,因为还有方差。

过拟合:模型很好的适配训练样本,但在测试集上表现很糟,有一个很大的方差。

方差就是指模型过于拟合训练数据,以至于没办法把模型的结果泛化。而泛化正是机器学习要解决的问题,如果一个模型只能对一组特定的数据有效,换了数据就无效,我们就说这个模型过拟合。这就是模型很好的适配训练样本,但在测试集上表现很糟,有一个很大的方差。

八、偏差、方差与模型复杂度的关系

由前面偏差和方差的介绍,我们来总结一下偏差和方差的来源:
我们训练的机器学习模型,必不可少地对数据依赖。但是,如果你不清楚数据服从一个什么样的分布,或是没办法拿到所有可能的数据(肯定拿不到所有数据),那么我们训练出来的模型和真实模型之间存在不一致性。这种不一致性表现在两个方面:偏差和方差。

那么,既然偏差和方差是这么来的,而且还是无法避免的,那么我们有什么办法尽量减少它对模型的影响呢?

一个好的办法就是正确选择模型的复杂度。复杂度高的模型通常对训练数据有很好的拟合能力,但是对测试数据就不一定了。而复杂度太低的模型又不能很好的拟合训练数据,更不能很好的拟合测试数据。因此,模型复杂度和模型偏差和方差具有如下图所示关系。

九、偏差、方差与bagging、boosting的关系?

Bagging算法是对训练样本进行采样,产生出若干不同的子集,再从每个数据子集中训练出一个分类器,取这些分类器的平均,所以是降低模型的方差(variance)。
Bagging算法和Random Forest这种并行算法都有这个效果。

Boosting则是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行权重调整,所以随着迭代不断进行,误差会越来越小,所以模型的偏差(bias)会不断降低。

十、偏差、方差和K折交叉验证的关系?

K-fold Cross Validation的思想:将原始数据分成K组(一般是均分),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。


当K较大时,m较小,模型建立在较大的N-m上,经过更多次数的平均可以学习得到更符合真实数据分布的模型,Bias就小了,但是这样一来模型就更加拟合训练数据集,再去测试集上预测的时候预测误差的期望值就变大了,从而Variance就大了;k较小的时候,模型不会过度拟合训练数据,从而Bias较大,但是正因为没有过度拟合训练数据,Variance也较小。

十一、如何解决偏差、方差问题?

整体思路:首先,要知道偏差和方差是无法完全避免的,只能尽量减少其影响。
(1)在避免偏差时,需尽量选择正确的模型,一个非线性问题而我们一直用线性模型去解决,那无论如何,高偏差是无法避免的。
(2)有了正确的模型,我们还要慎重选择数据集的大小,通常数据集越大越好,但大到数据集已经对整体所有数据有了一定的代表性后,再多的数据已经不能提升模型了,反而会带来计算量的增加。而训练数据太小一定是不好的,这会带来过拟合,模型复杂度太高,方差很大,不同数据集训练出来的模型变化非常大。
(3)最后,要选择合适的模型复杂度,复杂度高的模型通常对训练数据有很好的拟合能力。

针对偏差和方差的思路:
偏差:实际上也可以称为避免欠拟合。

1、寻找更好的特征 -- 具有代表性。
2、用更多的特征 -- 增大输入向量的维度。(增加模型复杂度)
方差:避免过拟合
1、增大数据集合 -- 使用更多的数据,减少数据扰动所造成的影响
2、减少数据特征 -- 减少数据维度,减少模型复杂度
3、正则化方法
4、交叉验证法

参考:
【1】https://blog.csdn.net/siyue0211/article/details/80309799

深度学习:偏差(bias)和方差(Variance)相关推荐

  1. 吴恩达神经网络和深度学习-学习笔记-6-训练集、验证集和测试集 + 偏差bias和方差variance

    寻找最优超参数是一个迭代过程 在今天,应用深度学习是一个典型的迭代过程. 创建高质量的训练数据集.验证集和测试集,有助于提高循环效率. 训练集.验证集和测试集 数据Data分为三部分: 训练集trai ...

  2. 偏差bias与方差variance

    目录 1 含义 1.1 偏差 1.2 偏差和方差 2 期望泛化误差公式推导 3 权衡偏差与方差: 4 解决高偏差与高方差 参考 学习算法的预测误差, 或者说泛化误差(generalization er ...

  3. 偏差(bias)、方差(variance)和噪音(noise)

    对于一个预测问题,若真实模型为f(x)f(\boldsymbol{x})f(x). 通常我们通过对特定的数据集D=(x1,y1),(x2,y2),-,(xn,yn)D = {(\boldsymbol{ ...

  4. 偏差(Bias)与方差(Variance)详解

    偏差与方差详解 1 问题背景 2 一点点数学 3 偏差与期望 4 偏差方差窘境 5 Bagging与Boosting 1 问题背景  NFL(No Free Lunch Theorem)告诉我们选择算 ...

  5. 误差error,偏置bias,方差variance的见解

    更新日志:2020-3-10 谢谢@ProQianXiao的指正.偏差-方差的确是在测试集中进行的. 之前的误解是,偏差和方差的计算是同一个模型对不同样本的预测结果的偏差和方差:而实际上是不同模型对同 ...

  6. 深度学习---之bias

    reference:https://www.zhihu.com/question/68247574 实际上,bias相当于多了一个参数.在增加网络少量拟合能力的情况下,bias和其它普通权值相比无论前 ...

  7. 什么是欠拟合现象_深度学习中过拟合、欠拟合问题及解决方案

    在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据 ...

  8. 机器学习深度学习知识点总结

    1.Overfitting是什么?怎么解决? overfitting就是过拟合, 其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在 ...

  9. 吴恩达深度学习笔记8-Course3-Week1【机器学习策略(ML Strategy)1】

    结构化机器学习项目 机器学习策略(ML Strategy)1 一.机器学习策略介绍(Introduction to ML Strategy) 1.机器学习策略 就是超参数调优的策略,怎么调?怎们评估调 ...

  10. 【炼丹】深度学习多目标优化的多个loss应该如何权衡

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨马东什么@知乎(已授权) 来源丨https://zhuanla ...

最新文章

  1. 掌握这6大知识点 做光伏会容易很多
  2. 微型计算机储存数据的基本单位是,计算机储存和处理数据的基本单位是什么
  3. 大剑无锋之简单介绍一下虚拟内存【面试推荐】
  4. php查询oracle大量数据,Oracle 百万行数据查询优化
  5. python人像和图片比对_python 使用OpenCV进行简单的人像分割与合成
  6. HAProxy + Keepalived实现MySQL的高可用负载均衡
  7. 全球及中国分布式光纤传感(DFOS)行业动态及十四五前景预测报告2022-2027
  8. Microsoft visual FoxPro使用教程--添加csv文件数据到dbf文件中
  9. 小程序商城需要食品流通许可证吗?
  10. 真假Kingston U盘识别
  11. 计算机考研408真题
  12. 解决iframe引入视频黑屏但有声音的问题
  13. 探究网络信息安全问题及防范措施
  14. 程序员用「美貌」突破二维图像的人脸识别
  15. 罗敏为什么不焦虑? | 一点财经
  16. STC89C52驱动W25Q32测试笔记
  17. 如何解决光纤熔接过程中遇到这六大问题?
  18. 海康摄像头SDK二次开发错误问题解决方案(一):2. 错误号64:NET_DVR_LOADPLAYERSDKFAILED 64 载入当前目录下 Player Sdk 出错
  19. List接口如何实例化?(Java)
  20. 便利店的选址有什么诀窍吗?需要掌握哪些选址技巧?

热门文章

  1. 如何从红帽官方网站下载镜像文件
  2. 07-CBAM_block注意力机制
  3. AR!!!高通Vuforia-iOS-SDK 和官方Demo 集成到iOS 项目中所需要注意的几点.
  4. 自建Sentry后邮件服务收不到邮件
  5. javascript charCodeAt() 和 fromCharCode()
  6. 中软国际python面试题_中软国际java 笔试 面试题
  7. ffmpeg录制H265格式的桌面视频
  8. 测试面试题之bug的生命周期?你是怎么跟进bug的?
  9. 用WinDBG调试器 修改 星际争霸 等游戏.
  10. Linux下用C实现域名到IP的转换(域名解析)