2018-12-28

接上一章:机器学习之优化指标和满意度指标

通常我们在遇到一个新问题的时候,很难提前知道哪种解决方法最有效,即使是有经验的机器学习研究员,在找到最佳解决方案前也要尝试各种大量方法。在建立机器学习系统时,我通常会:

1. 首先,想想如何构建一个系统(idea)

2. 然后将这个想法付诸实践,变成编码(code)

3. 做个实验(experiment)以判断这个想法是否行得通。(通常我的第一个想法都没怎么有用!)在此基础上学习总结,从而产生新想法,并保持这一迭代过程,如下图所示:

如图,这其实是一个迭代的过程,这个过程循环得越快,你进步的速度就越快。此时,恰好就说明了拥有一个开发集、测试集和评价指标的重要性:你每一个新想法,在开发集上来进行评价可以帮助你快速判断你当前的方向是否正确。

假设你没有特定的开发集和评价指标,那么,每当你的团队新开发了一个猫猫分类器,你都必须将其嵌入到你的app中,然后在app中使用,以确定新的分类器性能是否有所提升。这种速度简直太慢了。那么,如果你的团队想让新的分类器的准确率从95%提升到95.1%,你在app的运行中是无法检测到这1%的提升的。然而,系统性能的提升大部分都是在这一次次的0.1%的积累中获取的。拥有一个开发集和评价指标可以促使你快速检测出哪些想法可以成功给你带来或小或大的提升,从而快速确定下一步要研究或者要放弃的方向。


大家好,我是AI搬运工
致力于将国外的AI好文,翻译成大家都懂的中国话!
本文属于AI搬运工自行翻译,如有错误,欢迎指正!
原文摘自于:Machine Learning Yearning(Technical Strategy for AI Engineers, In the Era of Deep Learning)(Draft Version)

往期回顾
01 谈及监督学习时,我们在谈什么?
02 监督学习之回归分析法:预测连续数值
03 监督学习之分类算法
04 验证集和测试集与机器学习有什么关系
05 开发集和测试集应该来自于同一分布吗?
06 开发集和测试集需要多少个样本数据?
07 如何建立单一数字评价指标以优化算法性能
08 机器学习之优化指标和满意度指标

你可能感兴趣的:(2018-12-28)