偏差和方差


总览

对于某个特定的模型来说,它的泛化误差(Generation Error)可以分为三部分:模型预测值的方差(variance)、预测值相对真实值的偏差(bias)、样本本身存在的噪声(noise),可以用下面的公式进行表示:
E ( ( y − f ^ ( x ) ) 2 ) = σ 2 + V a r [ f ^ ( x ) ] + ( B i a s [ f ^ ( x ) ] ) 2 E((y-\hat f(x))^2)=\sigma^2+Var[\hat f(x)]+(Bias[\hat f(x)])^2 E((y−f^​(x))2)=σ2+Var[f^​(x)]+(Bias[f^​(x)])2
其中 B i a s [ f ^ ( x ) ] = E [ f ^ ( x ) − f ( x ) ] Bias[\hat f(x)]=E[\hat f(x)-f(x)] Bias[f^​(x)]=E[f^​(x)−f(x)]

我们分别看一下泛化误差的这三个部分:

  • 模型预测值相对真实值的偏差:直观上它是算法预测值和样本真实值之间的偏离程度,它反映了模型的拟合能力,偏差越大则模型的拟合能力越差,偏差越小的模型拟合能力越好,但是如果偏差小到一定程度则模型就可能会出现过拟合
  • 模型预测值的方差:它反映模型在相同规模不同的训练集上的性能的波动情况,当模型具有低方差,则对于训练集变化的受影响较小,反之较大
  • 样本本身存在的噪声:它是真实情况中不可避免的,因此它属于不可约减的误差(irreducible error),它反映了当前的训练集上任意的算法所能达到的额期望误差的下界,刻画了学习问题本身的难度

下面我们通过一个例子具体看一下:假设靶的中心是样本的真实值,左图镖的位置距离中心远,表示偏差大,但是位置相对集中,则方差较小;右图镖的位置相对左图距离中心更近,表示偏差较小,但是位置分散,表示方差较大。

相对于前面的公式表示,我们用图像化表示后就可以很直观的看到偏差、方差和噪声的情况。

公式推导

那么前面 E ( ( y − f ^ ( x ) ) 2 ) = σ 2 + V a r [ f ^ ( x ) ] + ( B i a s [ f ^ ( x ) ] ) 2 E((y-\hat f(x))^2)=\sigma^2+Var[\hat f(x)]+(Bias[\hat f(x)])^2 E((y−f^​(x))2)=σ2+Var[f^​(x)]+(Bias[f^​(x)])2 是怎样的出来的呢?我们以最基本的回归问题为例,假设某一个数据集中样本的真实分布为 P r ( x , y ) P_{r}(x,y) Pr​(x,y),采用最常用的平方损失来度量预测效果,则模型的期望错误可以写成:
R ( f ) = E ( x , y ) ∼ p r ( x , y ) [ ( y − f ( x ) ) 2 ] \mathcal{R}(f)=\mathbb{E}_{(\mathbf{x}, y) \sim p_{r}(\mathbf{x}, y)}\left[(y-f(\mathbf{x}))^{2}\right] R(f)=E(x,y)∼pr​(x,y)​[(y−f(x))2]
那么最优的模型表示为 f ∗ ( x ) = E y ∼ p r ( y ∣ x ) [ y ] f^{*}(\mathrm{x})=\mathbb{E}_{y \sim p_{r}(y | x)}[y] f∗(x)=Ey∼pr​(y∣x)​[y] ,那么再将上面的期望错误进行分解
R ( f ) = E ( x , y ) ∼ p r ( x , y ) [ ( y − f ∗ ( x ) + f ∗ ( x ) − f ( x ) ) 2 ] = E x ∼ p r ( x ) [ ( f ( x ) − f ∗ ( x ) ) 2 ] + ε \begin{aligned} \mathcal{R}(f) &=\mathbb{E}_{(\mathbf{x}, y) \sim p_{r}(\mathbf{x}, y)}\left[\left(y-f^{*}(\mathbf{x})+f^{*}(\mathrm{x})-f(\mathrm{x})\right)^{2}\right] \\ &=\mathbb{E}_{\mathbf{x} \sim p_{r}(\mathbf{x})}\left[\left(f(\mathrm{x})-f^{*}(\mathrm{x})\right)^{2}\right]+\varepsilon \end{aligned} R(f)​=E(x,y)∼pr​(x,y)​[(y−f∗(x)+f∗(x)−f(x))2]=Ex∼pr​(x)​[(f(x)−f∗(x))2]+ε​

其中 ε = E ( x , y ) ∼ p r ( x , y ) [ ( y − f ∗ ( x ) ) 2 ] ​ \varepsilon=\mathbb{E}_{(\mathbf{x}, y) \sim p_{r}(\mathbf{x}, y)}\left[\left(y-f^{*}(\mathbf{x})\right)^{2}\right]​ ε=E(x,y)∼pr​(x,y)​[(y−f∗(x))2]​ ,第一项是可以通过学习优化的,第二项是由于噪声等原因造成的不可优化的误差。而第一项又可以作如下的分解:
E D [ ( f D ( x ) − f ∗ ( x ) ) 2 ] = E D [ ( f D ( x ) − E D [ f D ( x ) ] + E D [ f D ( x ) ] − f ∗ ( x ) ) 2 ] = ( E D [ f D ( x ) ] − f ∗ ( x ) ) 2 ⏟ ( bias  ) 2 + E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] ⏟ variance  \begin{aligned} \mathbb{E}_{\mathcal{D}} &\left[\left(f_{\mathcal{D}}(\mathrm{x})-f^{*}(\mathrm{x})\right)^{2}\right] \\=& \mathbb{E}_{\mathcal{D}}\left[\left(f_{\mathcal{D}}(\mathrm{x})-\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathrm{x})\right]+\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathrm{x})\right]-f^{*}(\mathrm{x})\right)^{2}\right] \\=& \underbrace{\left(\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathrm{x})\right]-f^{*}(\mathrm{x})\right)^{2}}_{(\text { bias })^{2}}+\underbrace{\mathbb{E}_{\mathcal{D}}\left[\left(f_{\mathcal{D}}(\mathrm{x})-\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathrm{x})\right]\right)^{2}\right]}_{\text { variance }} \end{aligned} ED​==​[(fD​(x)−f∗(x))2]ED​[(fD​(x)−ED​[fD​(x)]+ED​[fD​(x)]−f∗(x))2]( bias )2 (ED​[fD​(x)]−f∗(x))2​​+ variance  ED​[(fD​(x)−ED​[fD​(x)])2]​​​
综合上面的分析,期望错误可以写成 R ( f ) = ( b i a s ) 2 + variance  + ε \mathcal{R}(f)=(\mathrm{bias})^{2}+\text { variance }+\varepsilon R(f)=(bias)2+ variance +ε 。其中:
( b i a s ) 2 = E x [ ( E D [ f D ( x ) ] − f ∗ ( x ) ) 2 ] variance  = E x [ E D [ ( f D ( x ) − E D [ f D ( x ) ] ) 2 ] ] \begin{aligned}(\mathrm{bias})^{2} &=\mathbb{E}_{\mathrm{x}}\left[\left(\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathrm{x})\right]-f^{*}(\mathrm{x})\right)^{2}\right] \\ \text { variance } &=\mathbb{E}_{\mathrm{x}}\left[\mathbb{E}_{\mathcal{D}}\left[\left(f_{\mathcal{D}}(\mathrm{x})-\mathbb{E}_{\mathcal{D}}\left[f_{\mathcal{D}}(\mathrm{x})\right]\right)^{2}\right]\right] \end{aligned} (bias)2 variance ​=Ex​[(ED​[fD​(x)]−f∗(x))2]=Ex​[ED​[(fD​(x)−ED​[fD​(x)])2]]​
由于 ϵ \epsilon ϵ是不可优化的,所以最小期望错误就等于最小偏差和最小方差之和。

偏差-方差分解

模型的期望错误、偏差和方差随复杂度的变化情况如下所示,从中可以看出,最优的模型并不一定是偏差曲线和方差曲线的交点。

因此,想让模型同时拥有低偏差和低方差是不可能的,也被称为偏差-方差窘境。在模型训练的起始阶段,拟合效果差,则偏差较大,数据集的变化对于模型的影响也很小,表示方差较小;随着训练的深入,模型的拟合能力越来越强,偏差逐渐减小,方差逐渐增大;当模型训练的一定程度时,它的拟合能力非常强,这时的所有样本都可以很好的被拟合,偏差很小,但是训练集细微的变化都会对模型的效果产生很大的影响,方差就很大,则将发生过拟合。

一般来说:参数或者线性的机器学习算法一般都会有一个很高的偏差和一个很低的方差。但是,非参数或者非线性的机器学习算法一般都有一个很低的偏差和一个很高的方差。

所以,根据偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分的拟合数据,并且使方差较小,即使得数据扰动产生的影响小。故在实际使用中,我们需要在两者之间做一个权衡,使我们的模型效果达到最优。


Stanford机器学习-应用机器学习的建议
偏差(Bias)和方差(Variance)——机器学习中的模型选择
你真的理解机器学习中偏差 - 方差之间的权衡吗?
理解机器学习中的偏差与方差

模型的偏差、方差分析相关推荐

  1. 模型的偏差与方差的理解

    本文转载于http://blog.csdn.net/xmu_jupiter/article/details/47314927 版权声明:本文为博主原创文章,欢迎转载,但请注明出处~ 目录(?)[+] ...

  2. 机器学习面试必知:偏差-方差分析

    过拟合形象确实是最大似然方法的一个不好的性质,但我们在使用贝叶斯方法对参数进行求和或者积分时,过拟合不会出现.回归线性模型中的最小平方方法也同样会产生过拟合.虽然引入正则化可以控制具有多个参数的模型的 ...

  3. 模型优化的风向标:偏差与方差

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:机器学习算法那些事 前面讲到测试集的泛化性能是衡量学习模 ...

  4. 一文读懂机器学习中的模型偏差

    一文读懂机器学习中的模型偏差 http://blog.sina.com.cn/s/blog_cfa68e330102yz2c.html 在人工智能(AI)和机器学习(ML)领域,将预测模型参与决策过程 ...

  5. 机器学习模型中,偏差与方差的权衡及计算

    衡量一个机器学习模型的性能,可以用偏差和方差作为依据. 一个高偏差的模型,总是会对数据分布做出强假设,比如线性回归.而一个高方差的模型,总是会过度依赖于它的训练集,例如未修剪的决策树.我们希望一个模型 ...

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

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

  7. SPSS——方差分析(Analysis of Variance, ANOVA)——多因素方差分析(无重复试验双因素)

    简介 当遇到两个因素同时影响结果的情况,需要检验是一个因素起作用,还是两个因素都起作用,或者两个因素的影响都不显著 场景 某公司某种茶饮料的调查分析数据 统计了该茶饮料两种不同的包装(新设计的包装和旧 ...

  8. 3.2 实战项目二(手工分析错误、错误标签及其修正、快速地构建一个简单的系统(快速原型模型)、训练集与验证集-来源不一致的情况(异源问题)、迁移学习、多任务学习、端到端学习)

    手工分析错误 手工分析错误的大多数是什么 猫猫识别,准确率90%,想提升,就继续猛加材料,猛调优?     --应该先做错误分析,再调优! 把识别出错的100张拿出来, 如果发现50%是"把 ...

  9. 什么是高/低方差、高/低偏差、(推荐阅读)

    2021071 https://www.pianshen.com/article/71161696005/ 方差是对多个样本集的比较而言? 摘要:在现实任务中,我们往往有多种学习算法可供选择,甚至对同 ...

最新文章

  1. 他25岁当上985博导,今年秋季学生已招满
  2. Navicat——连接SQL Server数据库方法
  3. 类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类
  4. python 就业需求分析_python的就业前景如何?
  5. RAC环境在ASM上创建表空间出错ORA-569
  6. java getparametermap_重写getParameterMap后,报错 ,
  7. 信息学奥赛一本通(1008:计算(a+b)/c的值)
  8. Java-泛型T T与T的用法
  9. sqlserver2012安装教程
  10. 骁龙888打开“新象限” ,专业相机和游戏机直呼不讲武德
  11. ViewPage的基本使用以及动画效果的添加
  12. 关于python函数参数的描述中、错误的是_在Python中,以下关于函数的描述错误的是哪一项?...
  13. 关于微信小程序img标签不能显示图片的问题
  14. window 脚本文件.bat获取最高权限拷贝文件及c++调用.bat文件示例
  15. php 养宠物,养宠物必知的十个知识,关爱宠物注重细节
  16. WebSphere漏洞总结复现
  17. 怎么删除微信的手机充值服务器,微信怎么开启和取消自动充值话费功能?
  18. xposed绕过模拟器检测_《绝地求生》手游避开模拟器检测攻略分享
  19. emoji 表情包全套手机端pc都支持
  20. 爬虫软件尝试-后羿采集器:批量免费抓取网页数据

热门文章

  1. 服务器装系统进pe界面就死机了,进入PE后安装系统老是会卡住。是什么问题啊。...
  2. 定义了Circle圆形类,在此基础上派生出Cylinder圆柱体类。 Circle圆形类定义如下: class Circle { public: Circle(double r):radius(r
  3. Java类型转换(自动类型转换+强制类型转换)
  4. “天才少年”!华中科技大学这一研究生,刚毕业年薪201万!
  5. 贝加莱工控机维修主板维修5PC600.SX01-00常见故障排查
  6. 程序与进程的区别 和 联 系
  7. (附源码)APP+springboot垃圾自动分类管理系统 毕业设计 160846
  8. 分治算法,逆序对,三维偏序与CDQ分治
  9. 福建师范大学网络教育学院计算机应用基础第三次作业,福建师范大学网络教育学院《计算机应用基础》第三次作业...
  10. 什么是同态加密?为什么它不是主流加密算法?