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. day27-python之迭代器协议

    1.item系列方法 # class Foo: # def __getitem__(self, item): # print('getitem',item) # return self.__dict_ ...

  2. NSLog的各种打印格式符和打印CGRect相关结构体

    1.打印CG开头的数据类型,如CGRect,CGSize等方法 1.1 打印CGRect : NSLog(@"%@", NSStringFromCGRect(someCGRect) ...

  3. python智能提取省、市、区地址

    工具原文 https://github.com/DQinYuan/chinese_province_city_area_mapper 说明: https://blog.csdn.net/qq_3325 ...

  4. Python学习日记(三) 学习使用dict

    数据按类型可划分为: 不可变数据类型(可哈希):元祖.string.int.bool 可变数据类型(不可哈希):dict.list 集合本身是可变数据类型,元素是不可变数据类型 字典中的key必须是不 ...

  5. out string

    示例 当希望方法返回多个值时,声明 out 方法很有用.使用 out 参数的方法仍然可以将变量用作返回类型(请参见 return),但它还可以将一个或多个对象作为 out 参数返回给调用方法.此示例使 ...

  6. cal of easter egg

    在Linux中用cal命令查看1752年9月,发现3到13日全都消失了……

  7. 杭电OJ BestCoder28期1001Missing number问题(小技巧偏移法)

    1.先描述一下问题: 小yb有一个排列,但他不小心弄丢了其中的两个数字.现在他告诉你他现在手上还有哪些数字,需要你告诉他他丢了哪两个数字. 输入描述 有多组数据,第一行为数据组数T(T≤10). 对于 ...

  8. [LeetCode] 0279. Perfect Squares 完全平方数

    题目 Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9 ...

  9. SUSE 12安装详解

    1.部署步骤 1.1.启动安装程序 在启动页面上选择Installation,然后按Enter键,这将载入SUSE Linux服务器安装程序并以普通模式安装. 1.2.选择安装语言 Language和 ...

  10. springboot rabbitmq 死信队列应用场景和完整demo

    何为死信队列? 死信队列实际上就是,当我们的业务队列处理失败(比如抛异常并且达到了retry的上限),就会将消息重新投递到另一个Exchange(Dead Letter Exchanges),该Exc ...