原文地址:https://www.jianshu.com/p/a02c6bd5d5e9

error来自哪?来自于偏差Bias和方差Variance。

就如打靶时瞄准一个点\(\overline{f}\),打出的点\(f^*\)分布在该点周围。那么,\(\overline{f}\)与实际靶心\(\hat{f}\)的距离就是偏差Bias,打出的点\(f^*\)与\(\overline{f}\)的分布距离就是方差Variance。
可将偏差理解为没瞄准,方差理解为瞄准了但是打得太散。

简单模型的方差小于复杂模型的方差。因为简单模型比较集中,其权重\(W\)不太会受到data变化的影响,可考虑极端例子\(f(x)=c\),该模型方差为0。

简单模型的偏差大于复杂模型的偏差。因为模型是个函数/假设集,定好模型后,function只能在里面挑选。而简单模型的space小,很可能不包含\(\hat{f}\);复杂模型的space大,很可能包含\(\hat{f}\)。

偏差大意味欠拟合,方差大意味过拟合。

If your model cannot even fit the training examples, then you have large bias.
If you can fit the training data, but large error on testing data, then you probably have large variance.
For bias,redesign your model:

  • Add more features as input;
  • A more complex model.

For variance:

  • More data;
    Very effective, but not always practical.
    给的数据不够,很难准确地找到目标假设。但实际操作中,数据往往没那么“充足”。
  • Regularization.
    限制\(||W||\),较小/短的\(W\)意味着函数较平滑:输入变化,输出变化小。
    may increase bias.

正则化可防止选模型时选出抖动得很厉害的模型。多数情况下,抖动得太厉害的function很可能不对。function中常数项bias对function是否平滑无影响。


模型选择就是在方差和偏差之间寻找平衡。
但以下做法不推荐:
用训练数据训练出不同模型后,根据这些模型在测试数据上的表现好坏进行模型选择选出所谓的最佳模型。
因为其偷看了测试数据,该最佳模型往往在real的测试数据上表现得不好。

推荐使用交叉验证:
将训练数据分为训练数据和验证数据2部分,通过验证数据选择模型。
这时,在public测试数据上的表现和在private测试数据上的表现差不多。
原则上,越少根据public测试数据上的结果去调整模型,public测试数据和private测试数据上的表现相差越少。

为降低偶然性,可使用\(N\)折交叉验证。

ML&MLDS笔记:偏差 vs 方差的更多相关文章

  1. [ML学习笔记] 回归分析(Regression Analysis)

    [ML学习笔记] 回归分析(Regression Analysis) 回归分析:在一系列已知自变量与因变量之间相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,实现对新自变量得出因变量 ...

  2. [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)

    [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...

  3. ubuntu之路——day7.1 衡量模型好坏的因素偏差和方差bias&variance 以及在深度学习中的模型优化思路

    Error | 误差 Bias | 偏差 – 衡量准确性 Variance | 方差 – 衡量稳定性 首先我们通常在实际操作中会直接用错误率或者与之对应的准确率来衡量一个模型的好坏,但是更加准确的做法 ...

  4. stanford coursera 机器学习编程作业 exercise 5(正则化线性回归及偏差和方差)

    本文根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归 ...

  5. 斯坦福大学公开课机器学习:advice for applying machine learning | diagnosing bias vs. variance(机器学习:诊断偏差和方差问题)

    当我们运行一个学习算法时,如果这个算法的表现不理想,那么有两种原因导致:要么偏差比较大.要么方差比较大.换句话说,要么是欠拟合.要么是过拟合.那么这两种情况,哪个和偏差有关.哪个和方差有关,或者是不是 ...

  6. 过拟合VS欠拟合、偏差VS方差

    1. 过拟合 欠拟合 过拟合:在训练集(training set)上表现好,但是在测试集上效果差,也就是说在已知的数据集合中非常好,但是在添加一些新的数据进来训练效果就会差很多,造成这样的原因是考虑影 ...

  7. [ML学习笔记] XGBoost算法

    [ML学习笔记] XGBoost算法 回归树 决策树可用于分类和回归,分类的结果是离散值(类别),回归的结果是连续值(数值),但本质都是特征(feature)到结果/标签(label)之间的映射. 这 ...

  8. [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)

    [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...

  9. 偏差和方差以及偏差方差权衡(Bias Variance Trade off)

    当我们在机器学习领域进行模型训练时,出现的误差是如何分类的? 我们首先来看一下,什么叫偏差(Bias),什么叫方差(Variance): 这是一张常见的靶心图 可以看左下角的这一张图,如果我们的目标是 ...

随机推荐

  1. Volatile 只保证可见性,并不保证原子性

    [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/52525724   在说明Java多线程内存可见性之前,先来简单了解一下J ...

  2. Vue.config.silent = true

    Vue.config   vue的全局配置文件 silent默认值是false Vue.config.silent = true 取消Vue所有的日志和警告

  3. [unity基础教程]Unity3D实现动态载入游戏资源(转)

    用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态载入.比方想载入一个大场景的资源,不应该在游戏的開始让用户长时间等待全部资源的载入完成.应该优先载入用户附近的场景资源.在游 ...

  4. 51.Lowest Common Ancestor of a Binary Tree(二叉树的最小公共祖先)

    Level:   Medium 题目描述: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes ...

  5. 定时任务crond介绍

    定时任务cornd crond介绍: crond是linux系统中用来定期(或周期性)执行命令或指定程序任务脚本的一种程序. 查看crontab帮助: [root@db01 ~]# crontab - ...

  6. Hadoop伪分布式环境安装

    一.环境准备 阿里云ECS(Centos7).已预装JDK8 Hadoop安装包 hadoop-2.7.7.tar.gz 二. 安装步骤 1.确认JDK环境的安装位置 命令 echo $JAVA_HO ...

  7. Sql Server Management Studio 18 打开闪退问题

    解决方案 找到MSSMS安装位置,例如我是安装到了D:\Program Files (x86)\Microsoft SQL Server Management Studio 18 将D:\Progra ...

  8. web前端架构师学习流程

    JavaScript 开发(高级) 系统知识 1.1ECMAScript标准的发展过程,ES6语言对JavaScript的改进: 1.2ES6中语法层面的新特性(let.const.参数扩展.模块化等 ...

  9. 第十章 Ingress

    一.资料信息 Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx Ingress-Nginx 官方网站:https: ...

  10. 解决error: Microsoft Visual C++ 14.0 is required 问题

    1.https://964279924.ctfile.com/fs/1445568-239446865 2.重新安装 .Net framework 更高的版本:https://support.micr ...