在11.2中,我们提到了一种数据划分的方法,那么怎么衡量这种数据划分方法中的误差呢?

来看一个例子:有20w条各种领域的语音识别数据,2w条汽车语音定位数据

train+dev+test,其中train是20w原始数据+1w汽车数据,dev和test各自都是5k条汽车数据

显然地,train和dev/test此时是不同分布的,如果出现以下情况

基准情况:

train error:1%

dev error:10%

我们不知道如何评估这种误差,因为train和dev是不同分布的,存在可能模型本来很好但是由于汽车数据的噪音等等所以错误上升了。但是也有可能模型本来就不好,所以很难判断真实问题是什么。

情况一:

所以引入train-dev集合,请看下面的划分:

train的20w原始数据+1w汽车数据打乱并random shuffle到train/train-dev中,比如此时train有20w打乱后的数据,train-dev有1w打乱后的数据,dev和test不变,请看以下情况:

train error:1%

train-dev:9%

dev error:10%

此时,train和train-dev是同分布的,所以可以看出这两者的方差variance较大,即使在train集上表现较好,依然无法将其泛化到同分布的train-dev集上,所以我们可以使用改进variance的方法对模型进行改进。

情况二:

train error:1%

train-dev:1.5%

dev error:10%

此时,可以看到variance的问题已经不存在了,但此时将其放入不同分布的dev集合上误差变大,所以我们说这就是数据不匹配的问题

情况三:

train error:10%

train-dev:11%

dev error:12%

注意:此时以human performance为代表的bayes optimal error为0

所以此时出现了可避免误差bias的情况,因为在train集上,误差相较于最优误差有很大差距。

情况四:

train error:10%

train-dev:11%

dev error:20%

注意:此时以human performance为代表的bayes optimal error为0

所以此时出现了两种问题:一.可避免误差bias高;二.数据不匹配

结论:

human performance(bayes error):a%

train error:b%

train-dev:c%

dev error:d%

test error:e%

1.通过衡量a与b的差距,可以看出偏差bias的高低

2.通过衡量b与c的差距,可以看出方差variance的高低

3.通过衡量c与d的差距,可以看出是否存在数据不匹配的问题

4.通过衡量d与e的差距,可以看出模型是否在dev上存在过拟合的问题,如果存在可能需要更大更全面的dev set

最后全新的问题出现了,数据不匹配怎么办?

不幸的是目前为止没有系统性的方案解决这一问题,但是我们仍旧有一些方式可以对这一问题有所帮助,请看11.4 定位数据不匹配

ubuntu之路——day11.3 不匹配数据划分的偏差和方差的更多相关文章

  1. ubuntu之路——day11.4 定位数据不匹配与人工合成数据

    1.人工检验train和dev/test之间的区别: 比如:汽车语音识别中的噪音.地名难以识别等等 2.使得你的训练集更靠近(相似于)dev/test,收集更多类似于dev的数据: 比如:dev中存在 ...

  2. ubuntu之路——day11.7 end-to-end deep learning

    在传统的数据处理系统或学习系统中,有一些工作需要多个步骤进行,但是端到端的学习就是用一个神经网络来代替中间所有的过程. 举个例子,在语音识别中: X(Audio)----------MFCC----- ...

  3. ubuntu之路——day11.6 多任务学习

    在迁移学习transfer learning中,你的步骤是串行的sequential process 在多任务学习multi-task learning中,你试图让单个神经网络同时做几件事情,然后这里 ...

  4. ubuntu之路——day11.5 迁移学习

    在深度学习领域中,最强力的理念之一就是可以将神经网络学习的一种知识应用到另一个独立的任务中. 看上面的例子,首先我们有一个已经完成训练的神经网络,其目标是图像识别,我们有了绿色的1000000张图片并 ...

  5. ubuntu之路——day11.2 快速搭建系统并进行迭代、在不同的划分上进行训练和测试

    快速搭建系统并进行迭代 1.建立dev/test set,并确定你的目标 2.快速建立初始化的系统 3.使用前面提到的bias/variance分析和错误分析来进行模型优化和迭代 针对以上的过程,An ...

  6. ubuntu之路——day11.1 如何进行误差分析

    举个例子 还是分类猫图片的例子 假设在dev上测试的时候,有100张图片被误分类了.现在要做的就是手动检查所有被误分类的图片,然后看一下这些图片都是因为什么原因被误分类了. 比如有些可能因为被误分类为 ...

  7. python之路-Day11

    引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程,这哥俩的优势和劣势都非常的明显,我们一起来回顾下 协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程: ...

  8. #leetcode刷题之路44-通配符匹配

    给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配.'?' 可以匹配任何单个字符.'*' 可以匹配任意字符串(包括空字符串).两个字符串完全匹配才算匹配成 ...

  9. #leetcode刷题之路10-正则表达式匹配

    匹配应该覆盖整个字符串 (s) ,而不是部分字符串.说明:s 可能为空,且只包含从 a-z 的小写字母.p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *. 示例 1:输入:s = & ...

随机推荐

  1. JavaScript中匿名函数this指向问题

    this对象是在运行时基于函数执行环境绑定的,在全局函数中,this=window,在函数被作为某个对象的方法调用时,this等于这个对象. 但是匿名函数的执行环境是全局性的,所以匿名函数的this指 ...

  2. HashMap的put()与扩容

    1. put() final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { HashMap.Nod ...

  3. 阿里云ACA—— I

    ACA 阿里云大数据助理工程师 阿里云大学 大数据助理工程师课程笔记分享, 本资料仅供个人学习,不允许用作商业用途,侵权必删 == Alibaba Cloud Certification Associ ...

  4. Find 命令记录

    当需要查找一个时间的文件时 使用find [文件目录] -mtime [时间] 例如:查看mysql.bak目录下的1天前的文件 find mysql.bak -mtime 找到此文件之后需要将它移动 ...

  5. Linux kernel启动选项(参数)

    在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...

  6. ISM无需授权使用的无线频率

  7. /sys 和 /dev 区别

    参考:What's the “/sys” directory for? Directory - /sys in linux 前言 各种Linux发行版下面似乎都有/sys目录,tree查看下面内容,会 ...

  8. HTML&CSS基础-属性选择器

    HTML&CSS基础-属性选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  9. linux上如何删除文件名乱码的文件

    这里写图片描述今天在服务上发现了两个文件名是乱码的文件,如图所示.这里写图片描述于是想用rm命令把它们删掉,但提示没有此文件. 网上搜了一下,找到解决方法,首先执行ls -i命令,此时在文件前面会出现 ...

  10. HL7入门书

    由我翻译HL7书,写给大忙人的HL7 链接:https://pan.baidu.com/s/16MkTj3EIDfFpqRCAIbiC2w 提取码:ndfw