Error | 误差

Bias | 偏差 – 衡量准确性

Variance | 方差 – 衡量稳定性

首先我们通常在实际操作中会直接用错误率或者与之对应的准确率来衡量一个模型的好坏,但是更加准确的做法是误差衡量时综合考虑偏差和方差的共同作用。

所谓偏差Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度。Variance反映的是模型每一次输出结果与模型输出期望值之间的误差,即模型的稳定性

举个例子,对于一个二分类问题,比如测试图片是不是猫,是猫的话就是1,不是猫就是2。

现在给定一个初始条件,人眼分类猫图片时的错误是0,也就是说最优误差为0(optimal error = 0)有时也说bayes error = 0,统统是一个意思。

那么对于训练集和训练验证集给定如下结果:

train set error: 1%    15%    15%    0.5%

dev set error: 15%     16%    30%    1%

对于第一种结果我们说:这是high variance的,因为显然地在训练集上过度拟合了数据,所以在验证集上表现很差

对于第二种结果我们说:这是high bias的,在训练集上发生了欠拟合,所以拟合度不够高,错误率较高。

对于第三种结果我们说:这是high bias & high variance的,在训练集上欠拟合的同时,在验证集上的表现更糟糕,这是最糟糕的情况。

对于第四种结果我们说:这是low bias & low variance,这是很优秀的模型。

*.注意我们以上的四种结果的前提都是假设了最优误差为0的情况

那么在deep learning中

首先我们判断模型的bias高不高,如果高的话:

1.如果是自建的数据集或者是清洗过的数据集,评估训练集自身的问题或者是数据清洗时保留特征的问题。

2.使用更大的网络,比如更多的hidden layer,更多的hidden unit,更多的时间等等

3.使用全新的神经网络架构,比如卷积、循环、胶囊等等。甚至可以从别的神经网络中抽取一两个不同的层加入进来。

接下来我们判断模型的variance高不高,如果高的话(也就是过拟合发生的情况下):

1.增大数据集的规模,在传统ml中这不一定有用,但是在dl中,使用更多的数据往往会提高效果。

2.正则化 regularization

3.同上第三条,使用全新的架构。

最终我们的目标是找到一个low bias & low variance的模型

ubuntu之路——day7.1 衡量模型好坏的因素偏差和方差bias&variance 以及在深度学习中的模型优化思路的更多相关文章

  1. 深度学习中的序列模型演变及学习笔记(含RNN/LSTM/GRU/Seq2Seq/Attention机制)

    [说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![认真看图][认真看图] [补充说明]深度学习中的序列模型已经广泛应用于自然语言处理(例如机器翻 ...

  2. 模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理、分类及应用

    模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理.分类及应用 lqfarmer 深度学习研究员.欢迎扫描头像二维码,获取更多精彩内容. 946 人赞同了该文章 Atte ...

  3. 【转】[caffe]深度学习之图像分类模型AlexNet解读

    [caffe]深度学习之图像分类模型AlexNet解读 原文地址:http://blog.csdn.net/sunbaigui/article/details/39938097   本文章已收录于: ...

  4. [caffe]深度学习之图像分类模型VGG解读

    一.简单介绍 vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper.跟googlenet不同的是.vgg继承了lenet以及alexnet ...

  5. 深度学习 vs. 概率图模型 vs. 逻辑学

    深度学习 vs. 概率图模型 vs. 逻辑学 摘要:本文回顾过去50年人工智能(AI)领域形成的三大范式:逻辑学.概率方法和深度学习.文章按时间顺序展开,先回顾逻辑学和概率图方法,然后就人工智能和机器 ...

  6. 深度学习中的Normalization模型

    Batch Normalization(简称 BN)自从提出之后,因为效果特别好,很快被作为深度学习的标准工具应用在了各种场合.BN 大法虽然好,但是也存在一些局限和问题,诸如当 BatchSize ...

  7. 时间序列深度学习:seq2seq 模型预测太阳黑子

    目录 时间序列深度学习:seq2seq 模型预测太阳黑子 学习路线 商业中的时间序列深度学习 商业中应用时间序列深度学习 深度学习时间序列预测:使用 keras 预测太阳黑子 递归神经网络 设置.预处 ...

  8. [优化]深度学习中的 Normalization 模型

    来源:https://www.chainnews.com/articles/504060702149.htm 机器之心专栏 作者:张俊林 Batch Normalization (简称 BN)自从提出 ...

  9. 深度学习的seq2seq模型——本质是LSTM,训练过程是使得所有样本的p(y1,...,yT‘|x1,...,xT)概率之和最大

    from:https://baijiahao.baidu.com/s?id=1584177164196579663&wfr=spider&for=pc seq2seq模型是以编码(En ...

随机推荐

  1. mysql 安装与基本管理

    目录 mysql 安装与基本管理 MySQL介绍 下载安装 登录设置密码 破解密码 统一字符编码 mysql参数配置 mysql 常用指令 mysql 安装与基本管理 MySQL介绍 MySQL是一个 ...

  2. UCOSII软件定时器

    API函数 //创建 OS_TMR *OSTmrCreate (INT32U dly, INT32U period, INT8U opt, OS_TMR_CALLBACK callback, void ...

  3. python实战项目

    没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用到实际开发中更是不得而知了! 以上就是我们在学习过程中必须要有项目实战开发经验的原因,其实无论项 ...

  4. laravel——表操作集成操作

    背景:通过判断不同的请求参数,返回不同的需要的数据 一.准备工作: 数据库新建一个表 DROP TABLE IF EXISTS `tb_category2`; CREATE TABLE IF NOT ...

  5. typescript_类

    //类的定义 class Animal{ id:string;//默认访问修饰符为 public : 类本身.子类.类外部可访问 public name:string; // public : 类本身 ...

  6. 设置Layer模态框的 z-index

    $.get(url, {}, function(data){ layui.use(['layer'],function () { var layer = layui.layer,$=layui.$; ...

  7. Flask之基础

    一,flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求 ...

  8. 快速构建ceph可视化监控系统-转载

    前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_exp ...

  9. PTA-多项式A除以B

    多项式A除以B 这仍然是一道关于A/B的题,只不过A和B都换成了多项式.你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数. 输入格式: 输入分两行,每行给出一个非零多项式,先给出A, ...

  10. mysql 数据库的时间与字符串转换

    .当前日期.时间 now() 获取 当前日期和时间 :: curdate() 当前日期, curtime() 当前时间 :: current_time() : //同curtime(),current ...