ubuntu之路——day11.2 快速搭建系统并进行迭代、在不同的划分上进行训练和测试
快速搭建系统并进行迭代
1.建立dev/test set,并确定你的目标
2.快速建立初始化的系统
3.使用前面提到的bias/variance分析和错误分析来进行模型优化和迭代
针对以上的过程,Andrew Ng建议在搭建第一个系统的时候遵循quick and dirty的思路
不要过度复杂化初始系统,显然地无论如何都要进行多次迭代的情况下,如果过度复杂化了初始系统,也许会提前走向偏移正确道路的方向
在不同的划分上进行训练和测试
深度学习对于train数据有很大的胃口,因此越来越多的团队倾向于收集大量的数据,不管这些数据和测试数据是不是same distribution的,针对这种情况请看下面的例子:

现在假设抓取了200000张来自网络的图片,拥有10000张用户上传的图片。这两部分图片显然是不同分布的,但是我们又需要大量的图片作为训练集。
第一种做法:不建议
将两部分图片混合后,这210000张图片再random shuffle(随机分配)到train/dev/test中,205000/2500/2500
这种方法的好处:此时遵循了same distribution
这种方法的坏处:test的2500张图片必然有大部分来自于网络而不是我们真正关心的用户数据,可能只有数学期望值为2500*10000/210000=119张图片来自用户。
这绝对不是我们想要的,因为设立test集合的目标就是测试真实环境下模型的表现。
第二种做法:建议
train/dev/test中,205000/2500/2500,只不过此时的train包含了全部的20w张网络图片和5k张用户图片,而dev和test集合的所有图片均来自于用户
这种方法的好处:长期而言,这种基于目标的划分可以带来模型的精准化迭代
这种方法的坏处:此时并不遵循same distribution,但是在后面我们会介绍一些方法来改善这个问题,请看11.3
ubuntu之路——day11.2 快速搭建系统并进行迭代、在不同的划分上进行训练和测试的更多相关文章
- 使用ASP.NET MVC+Entity Framework快速搭建系统
详细资料: http://www.cnblogs.com/dingfangbo/p/5771741.html 学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和 ...
- Ubuntu 16 Java Develop环境快速搭建
安装JDK 1. 更新apt-get: $ sudo apt-get update 2. 安装jdk: $ sudo apt-get install openjdk-8-jdk 部分eclipse现只 ...
- ubuntu之路——day11.7 end-to-end deep learning
在传统的数据处理系统或学习系统中,有一些工作需要多个步骤进行,但是端到端的学习就是用一个神经网络来代替中间所有的过程. 举个例子,在语音识别中: X(Audio)----------MFCC----- ...
- Ubuntu 18.04.1 下快速搭建 LNMP环境
1.Nginx的安装 Nginx安装是属于最简单的,只需要在命令行执行 sudo apt-get install nginx 就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当 ...
- ubuntu之路——day11.6 多任务学习
在迁移学习transfer learning中,你的步骤是串行的sequential process 在多任务学习multi-task learning中,你试图让单个神经网络同时做几件事情,然后这里 ...
- ubuntu之路——day11.5 迁移学习
在深度学习领域中,最强力的理念之一就是可以将神经网络学习的一种知识应用到另一个独立的任务中. 看上面的例子,首先我们有一个已经完成训练的神经网络,其目标是图像识别,我们有了绿色的1000000张图片并 ...
- ubuntu之路——day11.4 定位数据不匹配与人工合成数据
1.人工检验train和dev/test之间的区别: 比如:汽车语音识别中的噪音.地名难以识别等等 2.使得你的训练集更靠近(相似于)dev/test,收集更多类似于dev的数据: 比如:dev中存在 ...
- ubuntu之路——day11.3 不匹配数据划分的偏差和方差
在11.2中,我们提到了一种数据划分的方法,那么怎么衡量这种数据划分方法中的误差呢? 来看一个例子:有20w条各种领域的语音识别数据,2w条汽车语音定位数据 train+dev+test,其中trai ...
- ubuntu之路——day11.1 如何进行误差分析
举个例子 还是分类猫图片的例子 假设在dev上测试的时候,有100张图片被误分类了.现在要做的就是手动检查所有被误分类的图片,然后看一下这些图片都是因为什么原因被误分类了. 比如有些可能因为被误分类为 ...
随机推荐
- Java 之 Servlet 基础入门
Servlet 一.什么是 Servlet 1.概念 Servlet:server applet,是指运行在服务器端的小程序 2.Servlet servlet 就是一个接口,定义了 Java 类 ...
- cscope安装
安装 # apt-get install cscope .vimrc中添加 if has("cscope") set csprg=/usr/bin/cscope set csto= ...
- Ane技术大全 - Devil程序员
来源:http://www.th7.cn/Program/Android/201405/206863.shtml 一.Ane概况 1.Ane是什么? Ane是为了解决 as3(flash)与Java代 ...
- Struts框架笔记03_OGNL表达式与值栈
目录 1. OGNL 1.1 OGNL概述 1.1 什么是OGNL 1.1.2 OGNL的优势 1.1.2 OGNL使用的要素 1.2 OGNL的Java环境入门[了解] 1.2.1 访问对象的方法 ...
- 绘图 Matplotlib Numpy Pandas
丈夫气力全,一个拟当千.猛气冲心出,视死亦如眠. 绘图 Matplotlib可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法. 能将数据进行可视化,更直观的呈现使数据更 ...
- Linux磁盘管理——BIOS和UEFI
参考:BIOS and UEFI - CompTIA A+ 220-901 - 1.1 BIOS and UEFI As Fast As Possible 严格上来说BIOS和UEFI除了在搜索boo ...
- yum 异常解决一例
http://mirrors.cloud.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 ...
- Codeforces Round #588 (Div. 2)-E. Kamil and Making a Stream-求树上同一直径上两两节点之间gcd的和
Codeforces Round #588 (Div. 2)-E. Kamil and Making a Stream-求树上同一直径上两两节点之间gcd的和 [Problem Description ...
- Kotlin构造方法详解与初始化过程分析
在上一次https://www.cnblogs.com/webor2006/p/11192025.html已经初识了Kolin的面向对象,先来回顾一下: 介绍了primary 构造方法,其特点回忆一下 ...
- 牛客NOIP暑期七天营-提高组1 解题报告
https://ac.nowcoder.com/acm/contest/920#question A 构造+双指针 发现m的限制是1e5,而点数是5e4,所以不能构造太多的边,思考一下最短路树的定义. ...