原文地址: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. 重新认识Maven

    PS:第一次接触maven大约是两年前吧,隐约记得之前都是人工寻找并下载很多jar,放在项目的lib中(表示太年轻,没有接触过Ant或者其他类似的工具,就不找别人写的比较了).懒人永远有着自己的小聪明 ...

  2. Nginx负载均衡之TCP/UDP流

    负载均衡是指在多个后端服务器之间有效地分配网络流量. 从NGINX Plus R5[1] 版本开始可以代理和负载均衡传输控制协议(Transmission Control Protocol,TCP)通 ...

  3. js获取近十二个月

    1.获取近十二个月 var dataArr = []; var data = new Date(); var year = data.getFullYear(); data.setMonth(data ...

  4. Excel中数字和字母混合时提取某些字符进行排序

    在excel中,当数字和字母混合在一起的时候,会出现排序错误的情况 比如下图的这种情况.我们希望的是2排在1后面,但是实际上10却排在了1的后面.这时候我们就需要把字符串中的数字提取出来进行排序 第一 ...

  5. JavaScript 获取function的参数

    function getArgs(func) { // 先用正则匹配,取得符合参数模式的字符串. // 第一个分组是这个: ([^)]*) 非右括号的任意字符 var args = func.toSt ...

  6. 这么简单的 Redis 面试题都不懂,怎么拿offer?

    来源:mp.weixin.qq.com/s/daBkliC8dAT_zYyoLiS7WA 随着系统访问量的提高,复杂度的提升,响应性能成为一个重点的关注点.而缓存的使用成为一个重点.redis 作为缓 ...

  7. ubuntu下MySQL的安装及远程连接配置(转)

    1.命令窗口中输入sudo apt-get install mysql-server mysql-client 即可(配置文件位置:/etc/mysql/my.cnf 启动文件位置:/etc/init ...

  8. go 复合数据类型

    数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成.因为数组的长度是固定的,因此在Go语言中很少直接使用数组. 数组声明方式: #第一种 ] int balance ...

  9. vue - blog开发学习6

    1.问题,如下图,使用iviewui中的card导致页面不能出现滚动条(不太会弄,在网上查了一个vue组件vuescroll,因此使用这个做滚动条) 2.安装vuescroll cnpm instal ...

  10. sql 根据身份证判断年龄是否小于18岁

    SELECT *, Age= datediff(yy,cast(case when substring(PersonalId,,) ') /*若第7位不是'1'或'2'则表示是15位身份证编码规则*/ ...