文章目录

  • 基本概念
  • 偏差与方差的公式推导
    • 符号假设
    • 泛化误差、偏差和方差之间的关系
  • 偏差、方差窘境
  • 偏差、方差与过拟合、欠拟合的关系?
  • 偏差、方差与bagging、boosting的关系?
  • 如何解决偏差、方差问题?

基本概念

  • 偏差(bias):预测结果与真实值之间的差异,排除噪声的影响,偏差是某个模型输出的样本误差。偏差是模型无法准确表达数据关系所导致的,比如模型过于简单,非线性的数据关系采用线性模型建模,偏差较大的模型是错的模型;
  • 方差(variance): 模型方差不是针对某一个模型输出样本进行判定,而是指多次模型输出的结果之间的离散差异,注意这里写的多次模型,即同一模型不同时间的输出结果方差较大。方差是由训练集的数据不够导致,一方面量 (数据量) 不够,有限的数据集过度训练导致模型复杂。即过拟合。

总结: Bias的对象是单个模型,是期望输出与真实标记的差别。它描述了模型对本训练集的拟合程度。Variance的对象是多个模型,是相同分布的不同数据集训练出模型的输出值之间的差异。它刻画的是数据扰动对模型的影响。

我们可以使用上图很好的表示方差和偏差。
最左边一列就是方差,即很多次数据集拟合出来的模型,模型之间的波动程度,即不同的部分数据集合对模型的扰动程度。
最右边一列就是偏差,就预测模型与真实标签的差别。


偏差与方差的公式推导

“偏差-方差分解”(bias-variance decomposition)就是从偏差和方差的角度来解释学习算法泛化性能的一种重要工具。

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

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

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

Bias:用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。
Variance:不同的训练数据集训练出的模型输出值之间的差异。
噪声:学习算法所无法解决的问题,数据的质量决定了学习的上限。假设在数据已经给定的情况下,此时上限已定,我们要做的就是尽可能的接近这个上限。

注意:我们能够用来学习的训练数据集只是全部数据中的一个子集。

符号假设

符号 含义
X 测试样本
D 数据集
y D y_D yD​ x在数据集中的标记
y x 的真实标签
f f f 通过训练集D 学到的模型
f ( x ; D ) f(x;D) f(x;D) 通过训练 集D 学到的模型 f 对 x 的预测输出
f ˉ ( x ) \bar f(x) fˉ​(x) 模型 f 对 x 的预测输出的数学期望

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

f ˉ ( x ) = E D ( f ( x ; D ) ) \bar f(x)=E_D(f(x;D)) fˉ​(x)=ED​(f(x;D))

这里的期望预测为 利用不同数据集合 D 训练出来的模型 f f f 对 x 的预测值的数学期望,也叫平均预测

  • 方差的定义

    使用样本数相同的不同训练集产生的方差为,即 ( 具 体 值 − 平 均 值 ) 2 (具体值-平均值)^2 (具体值−平均值)2:
    V a r = E D [ ( f ( x ; D ) − f ˉ ( x ) ) ] Var=E_D[(f(x;D)-\bar f(x))] Var=ED​[(f(x;D)−fˉ​(x))]

    方差的含义:方差度量了同样大小的训练集的变动所导致的学习性能的变化,即针对于同一个样本,不同模型预测出来的值的波动。

  • 偏差的定义:
    期望输出和真实标记的之间的差别成为偏差,这里使用期望输出,可以理解为各个模型对 x x x 的预测的平均值。即:
    b i a s 2 ( x ) = ( f ˉ ( x ) − y ) 2 bias^2(x) = (\bar f(x)-y)^2 bias2(x)=(fˉ​(x)−y)2

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

  • 噪声:
    噪声值得是数据的质量问题,也就是在收集数据时可能产生的问题。即收集后的数据集合 D 中的 x 与 真实自然环境下 x 的差别:
    ε 2 = E D [ ( y D − y ) 2 ] \varepsilon^2=E_D[(y_D-y)^2] ε2=ED​[(yD​−y)2]
    噪声的含义: 噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

总结: Bias的对象是单个模型,是期望输出与真实标记的差别。它描述了模型对本训练集的拟合程度。Variance的对象是多个模型,是相同分布的不同数据集训练出模型的输出值之间的差异。它刻画的是数据扰动对模型的影响。


泛化误差、偏差和方差之间的关系

泛 化 误 差 = 错 误 率 ( e r r o r ) = b i a s 2 ( x ) + v a r ( x ) + ε 2 泛化误差 = 错误率(error)= bias^2(x)+var(x)+\varepsilon^2 泛化误差=错误率(error)=bias2(x)+var(x)+ε2

证明过程如下:

综上,得到泛化性能如下:

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


偏差、方差窘境

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


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

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

欠拟合:模型不能够适配训练样本,具有较大的偏差。
过拟合:模型能够很好的适配训练样本,但是无法是模型结果泛化。具有较大的方差。

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


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

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

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


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

整体思路:首先,要知道偏差和方差是无法完全避免的,只能尽量减少其影响。

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

具体针对偏差或方差:

偏差:实际上也可以称为避免欠拟合。

1、寻找更好的特征 – 具有代表性。
2、用更多的特征 – 增大输入向量的维度,增加模型复杂度。

方差:避免过拟合 。

1、增大数据集合 – 使用更多的数据,减少数据扰动所造成的影响
2、减少数据特征 – 减少数据维度,减少模型复杂度
3、正则化方法
4、交叉验证法

方差与偏差的意义与推导过程相关推荐

  1. 几何分布的期望和方差公式推导_平方差公式证明推导过程及运用详解(数学简便计算方法之一)...

    ​平方差公式是小学奥数计算中的常用公式. 通常写为:a²-b²=(a+b)x(a-b) 它的几何方法推导过程是这样的: 如下图所示,四边形ABCD和四边形DEFG为正方形,边长分别为a和b,求阴影部分 ...

  2. 点乘和叉乘的基本概念,集合意义和推导过程

    目录 点乘: 点乘的几何意义: 点乘公式: 点乘公式的推导: 叉乘 叉乘概念: 叉乘几何意义 点乘: 向量的点乘,也叫向量的内积.数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和 ...

  3. 1. 简明误差卡尔曼滤波器(ESKF)及其推导过程

    文章目录 1. 简明误差卡尔曼滤波器(`ESKF`)及其推导过程 简介 `ESKF`基本过程及优点 `ESKF`参数含义 连续时间上的 `ESKF`状态方程 误差状态方程推导 误差状态的旋转项 误差状 ...

  4. 机器学习中的方差与偏差

    方差与偏差的定义 方差:不同的训练数据集训练出的模型输出值之间的差异. 偏差:用所有可能的训练数据集训练出的所有模型的输出的平均值与真实模型的输出值之间的差异. 方差与偏差的数学公式 首先,以回归为例 ...

  5. 卡尔曼滤波的推导过程详解

    在学习卡尔曼滤波的时候看了很多博客讲这方面的知识,感觉都讲得表面的东西,无法了解它五个公式真正代表的过程,这篇博客我想以我的理解讲讲卡尔曼滤波. 首先我先写出卡尔曼滤波的具体过程,首先针对如下状态空间 ...

  6. 自适应卡尔曼滤波的噪声方差怎么推的_带有未知过程噪声协方差阵递推估计的卡尔曼滤波方法...

    带有未知过程噪声协方差阵递推估计的卡尔曼滤波方法 [专利摘要]本发明提供了针对离散时间时不变系统的一种基于递推协方差矩阵估计方法的卡尔曼滤波方法,目的是要解决一类离散时间线性时不变系统中观测噪声协方差 ...

  7. 用来评估模型好坏的方差和偏差的区别对比

    先说为什么要来区别对比方差和偏差.在特定的模型下,模型误差的期望值可以分解为三个部分:样本噪音.模型预测值的方差.预测值相对真实值的偏差: 误差的期望值 = 噪音的方差 + 模型预测值的方差 + 预测 ...

  8. 一分钟详解「本质矩阵」推导过程

    文章目录 前言 一 本质矩阵如何推导 二 本质矩阵的意义 三 本质矩阵的求解 四 扩展--基本矩阵 前言 两幅视图存在两个关系:第一种,通过对极几何,一幅图像上的点可以确定另外一幅图像上的一条直线:另 ...

  9. 机器学习——线性回归的原理,推导过程,源码,评价

    https://www.toutiao.com/a6684490237105668620/ 2019-04-27 16:36:11 0.线性回归 做为机器学习入门的经典模型,线性回归是绝对值得大家深入 ...

最新文章

  1. 基于视频理解TSM和数据集Kinetics-400的视频行为识别
  2. 【Smart_Point】C/C++ 中共享指针 shared_ptr
  3. gridView 多余字符显示省略号...
  4. Spring Boot配置文件 application.properties
  5. 操作系统原理第八章:内存管理
  6. 独立硬盘冗余阵列与HDFS
  7. C语言字符串是否为pallindrome排列的算法(附完整源码)
  8. SAP GUI security setting on local file access
  9. 介绍一些知识图谱的实际应用类项目
  10. 还在用Swagger?我推荐这款零代码侵入的接口管理神器!
  11. [译]反射(Reflection)和动态(dynamic)
  12. 石英晶振的电路组成与设计
  13. 免费天气API,免费天气接口,天气预报
  14. VJ 1115 火星人
  15. 计算机~通信领域几百本常用电子书合集
  16. python获取mysql中的数据供js调用_python 读取mysql数据至csv文件中,并发送邮件
  17. 石油远程《机械设计》第二次在线作业
  18. 常见电子元件的认识和作用
  19. PHPCMS使用教程:设置站点信息
  20. 用ArcGIS制作专题地图

热门文章

  1. 下载FATSQ,读取10条序列并计算每条序列的长度和GC含量
  2. Adobe Flash player Activex控件问题解决方法
  3. ThinkPad S5 升级安装Windows10后 连上网络后系统假死
  4. 英文论文中常见拉丁语/英语缩写整理
  5. 企立方:拼多多开店能不能赚钱
  6. 深入浅出进入PE世界[网络转载]
  7. [Keil][Verilog][微机原理] 流水灯、存储器、外部中断实验_北京邮电大学计算机原理与应用课程实验报告
  8. RSA加密算法学习过程
  9. 使用css做一个简单的车轮滚滚效果
  10. 怎么换头像啊。。。。。