zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    JS jQuery显示隐藏div的几种方法
    PHP 二维数组去重(保留指定键值的同时去除重复的项)
    Java面试题解析(一)
    Java :面向对象
    使用 Spring Framework 时常犯的十大错误
    Spring Boot 面试的十个问题
    《深入理解 Java 内存模型》读书笔记
    Spring Boot 2.0 迁移指南
    MaidSafe区块链项目白皮书解读
    20190712共学问题归纳
  • 原文地址:https://www.cnblogs.com/NWNU-LHY/p/11212147.html
Copyright © 2011-2022 走看看