• 偏差造成的误差-准确率和欠拟合
  • 方差-精度和过拟合
  • Sklearn代码
  • 理解bias &variance

在模型预测中,模型可能出现的误差来自两个主要来源,即:因模型无法表示基本数据的复杂度而造成的偏差(bias),或者因模型对训练它所用的有限数据过度敏感而造成的方差(variance)。我们会对两者进行更详细的探讨。

一、偏差造成的误差-准确率和欠拟合

如前所述,如果模型具有足够的数据,但因不够复杂而无法捕捉基本关系,则会出现偏差。这样一来,模型一直会系统地错误表示数据,从而导致准确率降低。这种现象叫做__ 欠拟合(underfitting)__。

简单来说,如果模型不适当,就会出现偏差。举个例子:如果对象是按颜色和形状分类的,但模型只能按颜色来区分对象和将对象分类(模型过度简化),因而一直会错误地分类对象。

或者,我们可能有本质上是多项式的连续数据,但模型只能表示线性关系。在此情况下,我们向模型提供多少数据并不重要,因为模型根本无法表示其中的基本关系,我们需要更复杂的模型。

二、方差-精度和过拟合

在训练模型时,通常使用来自较大训练集的有限数量样本。如果利用随机选择的数据子集反复训练模型,可以预料它的预测结果会因提供给它的具体样本而异。在这里,方差(variance)用来测量预测结果对于任何给定的测试样本会出现多大的变化。

出现方差是正常的,但方差过高表明模型无法将其预测结果泛化到更多的数据。对训练集高度敏感也称为__ 过拟合(overfitting)__,而且通常出现在模型过于复杂或我们没有足够的数据支持它时。

通常,可以利用更多数据进行训练,以降低模型预测结果的方差并提高精度。如果没有更多的数据可以用于训练,还可以通过限制模型的复杂度来降低方差。

三、Sklearn代码

3.1 学习曲线 Learning_Curve

现在你理解了偏差和方差的概念,让我们学习一下如何辨别模型表现的好坏。sklearn中的学习曲线函数可以帮到我们。它可以让我们通过数据点来了解模型表现的好坏。

可以先引入这个模块

from sklearn.learning_curve import learning_curve # sklearn 0.17
from sklearn.model_selection import learning_curve # sklearn 0.18

文档中一个合理的实现是:

 learning_curve(
estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)

这里estimator是我们正在用来预测的模型,例如它可以是GaussianNB(),X和y是特征和目标。cv是交叉验证生成器,例如KFold(),'n_jobs'是平行运算的参数,train_sizes是多少数量的训练数据用来生成曲线。

四、理解方差和偏差

一图顶万字

要详细了解偏差和方差,建议阅读 Scott Fortmann-Roe 撰写的这篇文章

【Udacity】误差原因——方差variance与偏差bias的更多相关文章

  1. 偏差(Bias)和方差(Variance)——机器学习中的模型选择zz

    模型性能的度量 在监督学习中,已知样本 ,要求拟合出一个模型(函数),其预测值与样本实际值的误差最小. 考虑到样本数据其实是采样,并不是真实值本身,假设真实模型(函数)是,则采样值,其中代表噪音,其均 ...

  2. 标准差(bias) 方差(variance)

    偏差(bias) 偏差度量了学习算法的期望预测与真实结果的偏离程序, 即 刻画了学习算法本身的拟合能力 . 方差(variance) 方差度量了同样大小的训练集的变动所导致的学习性能的变化, 即 刻画 ...

  3. C++ - Vector 计算 均值(mean) 和 方差(variance)

    Vector 计算 均值(mean) 和 方差(variance) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24623187 ...

  4. 【概率论】4-3:方差(Variance)

    title: [概率论]4-3:方差(Variance) categories: - Mathematic - Probability keywords: - Variance - Standard ...

  5. 模型的偏差bias以及方差variance

    1. 模型的偏差以及方差: 模型的偏差:是一个相对来说简单的概念:训练出来的模型在训练集上的准确度. 模型的方差:模型是随机变量.设样本容量为n的训练集为随机变量的集合(X1, X2, ..., Xn ...

  6. 机器学习(二十四)— 偏差Bias 与方差Variance

    1.首先 Error = Bias + Variance  Error反映的是整个模型的准确度, Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度, Variance反映的是模 ...

  7. 机器学习中的偏差(bias)和方差(variance)

    转发:http://blog.csdn.net/mingtian715/article/details/53789487请移步原文 内容参见stanford课程<机器学习>   对于已建立 ...

  8. Android开发 - 掌握ConstraintLayout(五)偏差(Bias)

    比如实现这样一个场景: "在屏幕宽度的1/4的地方放置一个View" 使用传统布局时,实现按照屏幕的宽度(高度),或者相对两个View之间距离的一个比例来进行布局,就显得非常麻烦, ...

  9. 方差variance, 协方差covariance, 协方差矩阵covariance matrix

    https://www.jianshu.com/p/e1c8270477bc?utm_campaign=maleskine&utm_content=note&utm_medium=se ...

随机推荐

  1. JAVA数据结构--哈希表的实现(分离链接法)

    哈希表(散列)的定义 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度 ...

  2. js高级程序设计 笔记 --- 引用类型

    一,变量和作用域 1, js变量可以保存两种类型,基本类型.引用类型和symbol类型,基本类型有5种:undefined.null.boolean.number.string,它们都有以下的特征 基 ...

  3. db2 tsm backup fails with rc–50(1)

    2015-01-05-19.21.54.477532+000 E8484227A347       LEVEL: Error PID     : 10027058             TID  : ...

  4. PHP面向对象的基本思路

    第一步:识别对象 ——任何实体都可以被识别为一个对象 第二步:识别对象的属性 ——对象里面存储的数据被识别为属性 ——对于不同的业务逻辑,关注的数据不同,独享里面存储的属性也不同 第三步:识别对象的行 ...

  5. 【C语言】-返回指针的函数与指向函数的指针

    本文目录 前言 一.返回指针的函数 二.指向函数的指针 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.i ...

  6. git学习笔记5

    查看保存的进度 git stash list 恢复进度 git stash pop 测试运行哪些文件会被删除 git clean -nd 强制删除 git clean -fd 保存当前的工作进度,会保 ...

  7. pow() 函数

    pow() 函数用来求 x 的 y 次幂(次方),其原型为: double pow(double x, double y); #include<iostream> #include< ...

  8. Linux修改命令行样式

    Linux修改Shell命令提示符及颜色 Linux修改Shell命令提示符及颜色 1. Linux登录过程中加载配置文件顺序: /etc/profile → /etc/profile.d/*.sh ...

  9. JavaScript中Undefined 和 Null的区别

    Undefined 这个值表示变量不含有值. 可以通过将变量的值设置为 null 来清空变量. 例如: <script> var person; var car="Volvo&q ...

  10. golang搭建web服务器

    一个最简单的golang web服务器 package main import ( "net/http" "fmt" ) func sayHelloWorld( ...