ML&MLDS笔记:偏差 vs 方差
原文地址: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 方差的更多相关文章
- [ML学习笔记] 回归分析(Regression Analysis)
[ML学习笔记] 回归分析(Regression Analysis) 回归分析:在一系列已知自变量与因变量之间相关关系的基础上,建立变量之间的回归方程,把回归方程作为算法模型,实现对新自变量得出因变量 ...
- [ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest)
[ML学习笔记] 决策树与随机森林(Decision Tree&Random Forest) 决策树 决策树算法以树状结构表示数据分类的结果.每个决策点实现一个具有离散输出的测试函数,记为分支 ...
- ubuntu之路——day7.1 衡量模型好坏的因素偏差和方差bias&variance 以及在深度学习中的模型优化思路
Error | 误差 Bias | 偏差 – 衡量准确性 Variance | 方差 – 衡量稳定性 首先我们通常在实际操作中会直接用错误率或者与之对应的准确率来衡量一个模型的好坏,但是更加准确的做法 ...
- stanford coursera 机器学习编程作业 exercise 5(正则化线性回归及偏差和方差)
本文根据水库中蓄水标线(water level) 使用正则化的线性回归模型预 水流量(water flowing out of dam),然后 debug 学习算法 以及 讨论偏差和方差对 该线性回归 ...
- 斯坦福大学公开课机器学习:advice for applying machine learning | diagnosing bias vs. variance(机器学习:诊断偏差和方差问题)
当我们运行一个学习算法时,如果这个算法的表现不理想,那么有两种原因导致:要么偏差比较大.要么方差比较大.换句话说,要么是欠拟合.要么是过拟合.那么这两种情况,哪个和偏差有关.哪个和方差有关,或者是不是 ...
- 过拟合VS欠拟合、偏差VS方差
1. 过拟合 欠拟合 过拟合:在训练集(training set)上表现好,但是在测试集上效果差,也就是说在已知的数据集合中非常好,但是在添加一些新的数据进来训练效果就会差很多,造成这样的原因是考虑影 ...
- [ML学习笔记] XGBoost算法
[ML学习笔记] XGBoost算法 回归树 决策树可用于分类和回归,分类的结果是离散值(类别),回归的结果是连续值(数值),但本质都是特征(feature)到结果/标签(label)之间的映射. 这 ...
- [ML学习笔记] 朴素贝叶斯算法(Naive Bayesian)
[ML学习笔记] 朴素贝叶斯算法(Naive Bayesian) 贝叶斯公式 \[P(A\mid B) = \frac{P(B\mid A)P(A)}{P(B)}\] 我们把P(A)称为"先 ...
- 偏差和方差以及偏差方差权衡(Bias Variance Trade off)
当我们在机器学习领域进行模型训练时,出现的误差是如何分类的? 我们首先来看一下,什么叫偏差(Bias),什么叫方差(Variance): 这是一张常见的靶心图 可以看左下角的这一张图,如果我们的目标是 ...
随机推荐
- 小程序BUTTON点击,去掉背景色
添加hover-class <button form-type="submit" hover-class="btn-hover"></but ...
- 利用select单线程点对点聊天
select的优点与使用方法 select用单线程的方法遍历所有待读写的I/O接口, 当有接口可用时就会返回. select可设置电脑阻塞或非阻塞. 特别注意: 每次select前都要重新初始化集合和 ...
- QTP与QC整合
QC-QTP整合 在本节中,我们将学习如何将QTP和QC整合.通过整合,在QTP自动化脚本可以直接从Quality Center执行.建立连接,第一个步骤是安装所需的加载项.我们将了解如何通过采取样品 ...
- Java管理Cookie增删改查操作。
Cookie属性 了解这几个属性之后,就知道如何进行Cookie的操作了. name Cookie的名称. value Cookie的值. maxAge Cookie的失效时间,有以下几种值,默认为- ...
- 插件化框架解读之Android 资源加载机制详解(二)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680Android提供了一种非常灵活的资源系统,可以根据不同的条件提供 ...
- matplotlib系列——中文显示
幕布视图:https://mubu.com/doc/alG8r_3iSw 参考文献:嵩天的Python课程讲义 方式一: 示例 rcParams的属性 方式二:(推荐使用) 示例: 中文字体种类
- Resultset获取行数和列数
在Java中,获得ResultSet的总行数的方法有以下几种. 第一种:利用ResultSet的getRow方法来获得ResultSet的总行数 Statement stmt = con.create ...
- linux ---pgbouncer的安装和配置
pgbouncer是一款轻量级针对postgresql的数据库连接工具,可以对客户端的连接做限制,防止恶意连接,另外也可以减少数据库的实际连接数,从而减少数据库的开销. 环境: centos 6.5 ...
- Android Paint类介绍以及浮雕和阴影效果的设置(转)
转自:https://blog.csdn.net/lpjishu/article/details/45558375 Paint类介绍 Paint即画笔,在绘制文本和图形用它来设置图形颜色, 样式等绘制 ...
- eclipse调试代码无法查看jdk变量解决方法
1.无法查看jdk变量原因 oracle在公司在编译jdk的时候,把debug给关闭了,现在需要我们自己重新打包编译一次 2.eclipse创建一个普通java项目,取名叫jdk 3.导入jdk源码, ...