zoukankan      html  css  js  c++  java
  • ubuntu之路——day10.3 train/dev/test的划分、大小和指标更新

     train/dev/test的划分

    我们在前面的博文中已经提到了train/dev/test的相关做法。比如不能将dev和test混为一谈。同时要保证数据集的同分布等。

    现在在train/dev/test的划分中,我们依然要旧事重提关于same distribution即同分布的概念。

    假设我们现在有一种商品来自8个国家,如果我们将四个国家作为train和dev,将另外四个国家作为test,这种做法显然是错的。

    因为我们建立的模型的靶点是为了逼近前四个国家的结果,但是在真正测试的时候我们移动了靶点,所以结果肯定是不好的。(当然这其实引入了火热的transfer learning的目标,但显然的我们不能直接这么做)

    更好的方法是将这8个国家的样本全部进行组合,然后随机抽取一部分作为开发集,另一部分作为测试集,这就保证了同分布,也保证了目标的一致性。

    开发集和测试集的大小

    在ML的早期:train set 70% + test set 30% 或者 train set 60% + dev set 20% + test set 20%

    这种划分方式在早期的机器学习中是合理的,因为早期的数据是小规模的比如100、1000、10000条数据的时候

    在DL的时代:train set 98% + dev set 1% + test set 1%

    因为在深度网络的大数据时代,当我们有了几十万条、一百万条甚至更多的数据的时候,利用其中1%作为测试已经是很大的数据了。

    开发集的更新和评价指标的更新:

    在上面的猫图片分类例子中,如果一个error小的算法看起来比较好,但是它会提供比如porn图等不可接受的服务时,我们就要更改评价指标,比如图中的加权公式,让其在将特定的porn图分类为猫时扩大错误权重,这样最终的error就会变大。

    其次有关于train set的更新,比如图片分类如果我们在开发阶段引入了高质量、专业精美的图片,但是在测试时用户上传了手机的低分辨率,表情怪异,光线过度等图片时,其模型的准确率并不高,此时就要更新开发阶段使用的集合。这仍旧是一种同分布的问题。

  • 相关阅读:
    每周总结
    4月9日学习日志
    4月8日学习日志
    4月7日学习日志
    4月6日学习日志
    Cypress存取时间为10纳秒的异步SRAM
    超低功耗MCU如何降低功耗
    集成铁电存储器MCU为物联网应用提供出色性能
    读取优先和SRAM-MRAM混合结构
    磁阻式随机存储器MRAM基本原理
  • 原文地址:https://www.cnblogs.com/NWNU-LHY/p/11207150.html
Copyright © 2011-2022 走看看