吴恩达《Machine_Learning_Yearning》中文版 第9、10、11、12章

查看数: 6123 | 评论数: 1 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-5-23 11:16

正文摘要:

本帖最后由 howtodown 于 2018-5-28 13:57 编辑 问题导读 1.如何让机器学习算法准确率高,运行时间短? 2.在建立一个机器学习系统时,我们通常怎么做? 3.何时修改开发集、测试集和度量指标? 上一篇 ...

回复

howtodown 发表于 2018-5-28 13:54:12
进一步补充:

小结:建立开发集和测试集

  • 选择作为开发集和测试集的数据,应当与你预期在将来获取并良好处理的数据有着相同的分布,但不需要和训练集数据的分布一致。
  • 开发集和测试集的分布应当尽可能一致。
  • 为你的团队选择一个单值评估指标进行优化。需要考虑多项目标时,不妨将它们整合到一个表达式里(比如对多个误差指标取平均),或者定义满意度指标和优化指标。
  • 机器学习是一个高速迭代的过程:在最终令人满意的方案出现前,你可能要尝试很多想法。
  • 拥有开发集、测试集和单值评估指标可以帮你快速评估一个算法,从而加速迭代过程。
  • 当你探索一个全新的应用时,尽可能在一周内建立你的开发集、测试集和指标,而在成熟的应用上则可以花费更长的时间。
  • 传统的 70% / 30% 训练集/测试集划分对大规模数据并不适用,实际上开发集和测试集的比例会远低于 30%。
  • 开发集的规模应当大到能够检测出算法精度的细微改变,但也不用太大;测试集的规模应该大到能够使你对系统的最终性能作出一个充分的估计。
  • 当开发集和评估指标不再能给团队一个正确的导向时,就尽快修改它们:(i) 如果你在开发集上过拟合,则获取更多的开发集数据。(ii) 如果开发集和测试集的数据分布和实际关注的数据分布不同,则获取新的开发集和测试集。 (iii) 如果评估指标不能够对最重要的任务目标进行度量,则需要修改评估指标。





关闭

推荐上一条 /2 下一条