原文地址: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. Oralce常用系统函数

    dual:Oracle系统内部提供的一个用于实现临时数据计算的特殊表,它只有一个列DUMMY (VARCHAR2(1)) 字符类函数: concat--连接字符串 initcap--每个单词首字母大写 ...

  2. 显示等待WebDriverWait+lambda

    代码,关键代码标红 参考文章:https://www.cnblogs.com/yoyoketang/p/6517477.html #coding:utf-8 ''' 这里写了一个百度搜索页的pageo ...

  3. Bootstrap 学习笔记2 栅格系统 辅助类下拉框

    辅助类和响应式工具: 颜色和字体相同 响应式工具: 图标菜单按钮组件: btn-group 按钮式下拉菜单

  4. qtp的三种录制模式(转)

    QTP提供三种不同的录制方式:正常录制(Normal Recording).模拟录制(Analog Recording)和低级录制(Low Level Recording). 1.正常录制(Norma ...

  5. box-shadow 制作单边阴影效果,不影响其它边的效果

    box-shadow 制作单边阴影效果,不影响其它边的效果:  https://blog.csdn.net/u010289111/article/details/53171128 CSS 样式实现单边 ...

  6. 搭建 webpack、react 开发环境(一)

    基本介绍   Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源,它可以将多种静态资源 JavaScript.css.le ...

  7. Python之基本的日期与时间转换 datetime、 dateutil模块

    简单举例datetime模块 from datetime import timedelta,datetime a = timedelta(days=2, hours=6) b = timedelta( ...

  8. JS中有趣的知识

    1.分号与换行 function fn1(){ return { name: 'javascript' }; } function fn2(){ return { name: 'javascript' ...

  9. 【异常】Caused by: java.lang.IllegalStateException: Method has too many Body parameters

    出现此异常原因是引文使用feign客户端的时候,参数没有用注解修饰 1.1GET方式错误写法 @RequestMapping(value="/test", method=Reque ...

  10. 【归纳】springboot中的IOC注解:注册bean和使用bean

    目前了解的springboot中IOC注解主要分为两类: 1. 注册bean:@Component和@Repository.@Service.@Controller .@Configuration 共 ...