”Unstanding the Bias-Variance Tradeoff“主题内容翻译
对预测模型讨论,预测误差(error)分两类:偏差(bias)造成的误差与方差(variance)造成的误差。最小化偏差与方差的一个权衡。理解这两类误差有利于诊断模型结果和避免过拟合和欠拟合。
偏差与方差
三种方式定义偏差与方差:概念、图形、数学
概念定义:
偏差造成的误差:预期/平均预测值 和 尝试正确预测的值之差。预期/平均预测值作何理解?多次建模,新数据新分析建立模型,由于数据随机,预测会产生一系列预测。偏见度量模型预测(models' predictions) 远离 正确值(the correct value)的程度.
方差造成的误差:对于给定数据点,模型预测的可变性。重复多次,方差就是对于给定点预测,在模型的不同实现之中变化的多少。
图形定义:
由靶心图可视化偏差与方差。靶心完全预测正确,偏离靶心预测差。训练中数据偶然变化。好的时候,集中在靶心;坏,outlier、非标准值(non-standard values)。散点图
图:

高/低 偏差/方差
数学定义:
The Elements of Statistical Learning中的定义:
Variable:预测Y,协变量(covariate)X,存在一种关系,Y=f(X)+e,误差项e为零均值正态分布。
对f(X)估计一个模型f`(X)(利用线性回归或其他建模技术),故在一点x处的期望的预测误差的平方如下:Err(x)=E[(Y-f`(x))2].
误差可以分解为偏差项和方差项:
Err(x)=(E[f`(x)]-f(x))2+E[(f`(x)-E[f`(x)])2]+sigma_e2
Err(x)=Bias2+Variance+Irreducible Error
解释:第三项,束缚误差,噪音项,对于任何模型都无法从根本上降低。给真实模型和无限数据校准,应期盼使偏差项和方差项为0.但实际由于模型不完美及数据有限,采用一种减少偏差和最小化方差之间的权衡。
举例说明:投票
为下次选举投票共和党的人所占百分比建模。便于说明偏差和方差之间的差异。
50个电话,问卷调查投给谁,得到如下数据:
共和:13,民主:16,无回应:21 总:50
根据数据,投共和的概率:13/(13+16)=44.8%,民主会以高十个点赢得选举,但实际选举来临时,他们却以十个点输了。疑问:模型哪里有问题?
问卷的人不能代表所有人/没有跟进受访者,没有用加权等,样本量少。
把众多导致错误的原因归并到一个箱子中,它们实际上是造成偏差的不同来源,同时导致了方差。
电话采访/不与受访者跟进 偏差来源、小样本 方差来源。样本量增大,偏差依旧高,但方差减小。
用于训练模型的数据集 提供先验,建模无法依靠增大数据量以减小方差。折中:偏差与方差,以减小总误差。
选民政党登记(属性信息)
选民属性:政党、财富、宗教
图,查看分布特性。坐标轴,财富、宗教
利用K近邻
查看某人最近的k个投票,利用距离测量,评估他的投票结果。
k近邻的关键:K的选取。
k=1,划分曲线参差不齐,k变大,过渡更平滑,岛块消失,k过大,分类区别模糊,边界线划分不能匹配。
k太小,岛块太多,方差太大。K太大,划分不准,高偏差。
此处k的选择可以看成是方差与偏差的一种权衡。
分析偏差和方差:

方差项为束缚误差的函数,k的方差误差随着k变大而下降。偏差项是函数粗糙到何种程度的模型空间。
处理偏差与方差
靠直觉
Bagging和重采样
随机森林
算法的渐近性质
渐进一致性、渐进效率。训练样本的规模趋于无穷时,偏差下降到0。
过拟合和欠拟合
处理偏差和方差实际上是处理过拟合和欠拟合。偏差越小,方差对应增加模型的复杂性。随着参数越来越多添加到模型,模型复杂度上升和方差成为首要关注问题。如:更多的多项式项。偏差对应响应的负一阶导数。方差对应响应模型的复杂度。

找一个点:

超过此点,过拟合,未到此点,欠拟合。要选整体误差最小的。
重采样,交叉验证。
文章来源:http://scott.fortmann-roe.com/docs/BiasVariance.html
”Unstanding the Bias-Variance Tradeoff“主题内容翻译的更多相关文章
- 机器学习总结-bias–variance tradeoff
bias–variance tradeoff 通过机器学习,我们可以从历史数据学到一个\(f\),使得对新的数据\(x\),可以利用学到的\(f\)得到输出值\(f(x)\).设我们不知道的真实的\( ...
- 2.9 Model Selection and the Bias–Variance Tradeoff
结论 模型复杂度↑Bias↓Variance↓ 例子 $y_i=f(x_i)+\epsilon_i,E(\epsilon_i)=0,Var(\epsilon_i)=\sigma^2$ 使用knn做预测 ...
- [转]理解 Bias 与 Variance 之间的权衡----------bias variance tradeoff
有监督学习中,预测误差的来源主要有两部分,分别为 bias 与 variance,模型的性能取决于 bias 与 variance 的 tradeoff ,理解 bias 与 variance 有助于 ...
- On the Bias/Variance tradeoff in Machine Learning
参考:https://codesachin.wordpress.com/2015/08/05/on-the-biasvariance-tradeoff-in-machine-learning/ 之前一 ...
- Bias/variance tradeoff
线性回归中有欠拟合与过拟合,例如下图: 则会形成欠拟合, 则会形成过拟合. 尽管五次多项式会精确的预测训练集中的样本点,但在预测训练集中没有的数据,则不能很好的预测,也就是说有较大的泛化误差,上面的右 ...
- Error=Bias+Variance
首先 Error = Bias + Variance Error反映的是整个模型的准确度,Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,Variance反映的是模型每一次输 ...
- 【笔记】偏差方差权衡 Bias Variance Trade off
偏差方差权衡 Bias Variance Trade off 什么叫偏差,什么叫方差 根据下图来说 偏差可以看作为左下角的图片,意思就是目标为红点,但是没有一个命中,所有的点都偏离了 方差可以看作为右 ...
- Bias, Variance and the Trade-off
偏差,方差以及两者权衡 偏差是由模型简化的假设,使目标函数更容易学习. 一般来说,参数化算法有很高的偏差,使它们学习起来更快,更容易理解,但通常不那么灵活.反过来,它们在复杂问题上的预测性能更低,无法 ...
- 训练/验证/测试集设置;偏差/方差;high bias/variance;正则化;为什么正则化可以减小过拟合
1. 训练.验证.测试集 对于一个需要解决的问题的样本数据,在建立模型的过程中,我们会将问题的data划分为以下几个部分: 训练集(train set):用训练集对算法或模型进行训练过程: 验证集(d ...
随机推荐
- mysql 解决忘记密码 mysql5.7 远程登录不上MySQL(解决腾讯服务器初始mysql密码问题)
一.修改MySQL启动配置文件 #如果不知道配置文件,先查找find / -name my.cnf#编辑配置文件 vim /etc/my.cnf 在[mysql] 下面第一行加入 skip-gran ...
- C#中使用WCF一些常见问题及解决方案
最近在学习WCF,在这过程当中我遇到了很多的问题,简单说说我遇到的问题已经可能有效的解决方案. 1.在C#中,同一个解决方案下无法引用别的项目,引用之后会有一个警告,查看属性找不到引用的路径,这种情况 ...
- Maven+Docker 部署
Maven+Docker 部署 安装jdk8镜像 docker pull openjdk:8-jdk-alpine maven插件推送方式 修改/etc/docker/daemon.json文件,加入 ...
- webservice 概念+测试案例
webservice的概念?(一句话概括什么是WebService) WebService是一种跨编程语言.跨操作系统平台的远程调用技术.远程调用技术: 远程调用是指一台设备上的程序A可以调用另一台设 ...
- UCOSIII(二)
#include "sys.h" #include "delay.h" #include "usart.h" #include " ...
- Java进阶知识18 Spring对象依赖关系的几种写法
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 51nod 1076
* 无向图的割边将图分为不连通的两部分 * 对于是否有不想交的两条路径将s -> t 相连 * 只需判断是否处于同一部分 * Tarjan即可 #include <bits/stdc++. ...
- [Luogu] 产生数
题面:https://www.luogu.org/problemnew/show/P1037 题解:https://www.zybuluo.com/wsndy-xx/note/1145473
- 如何在vue中使用svg
1.安装依赖 npm install svg-sprite-loader --save-dev 2.在config文件中配置 const path = require('path'); func ...
- Python学习日记(八)—— 模块一(sys、os、hashlib、random、time、RE)
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...