Menu

前百度首席科学家吴恩达 – 机器学习训练秘籍第六章

  • 软文     2018-6-30
<返回列表

6 开发集和测试集应该服从同一分布

根据公司的核心市场情况,你将猫咪 app 的图像数据划分为“美国”、“中国”、“印度”和“其它地区”四个区域。在设立开发集和测试集时,可以尝试将美国和印度的数据归于开发集,而中国和其它地区的数据归于测试集。也就是说我们可以随机地将其中两个区域分配给开发集,另外的两个区域分配给测试集。这样做对吗?

http://holidaysimages.org/everything-you-think-is-wrong-day.html

当然不对!

一旦定义了开发集和测试集,你的团队将专注于提高开发集的性能表现,这就要求开发集能够体现任务的核心:使算法在四个地区都表现优异,而不仅仅是其中的两个。

开发集和测试集的分布不同还将导致第二个问题:你的团队开发的系统可能在开发集上表现良好,但在测试集上却表现不佳。我目睹过这样的事情发生,这将让人十分沮丧并且浪费大量的时间,因此希望你不要重蹈覆辙。

举个例子,假设你的团队开发了一套能在开发集上运行性能良好,却在测试集上效果不佳的系统。如果开发集和测试集分布相同,那么你就会非常清楚地知道问题在哪:在开发集上过拟合了(overfit)。解决方案显然就是获得更多的开发集数据。

但是如果开发集和测试集来自不同的分布,解决方案就不那么明确了。此时可能存在以下一种或者多种情况:1. 在开发集上过拟合了。2. 测试集比开发集更难进行预测,尽管算法做得足够好了,却很难有进一步的改进空间。3. 测试集不一定更难预测,但与开发集性质不同(分布不同)。因此在开发集上表现良好的算法不一定在测试集上也能够表现良好。如果是这种情况,大量改进开发集性能的工作将会是徒劳的。

构建机器学习应用已是一件难事,而开发集和测试集分布的不匹配又会引入额外的不确定性,即提高算法在开发集上的性能表现,是否也会提升其在测试集的性能表现?在这样的情况下很难弄去清楚哪些工作是有效的,哪些工作是在浪费时间,从而会影响到工作的优先级确定。

在处理第三方基准测试(benchmark)问题时,提供方可能已经指定了服从不同分布的开发集和测试集数据。与数据分布一致的情况相比,此时运气带来的性能影响将超过你所使用的技巧带来的影响。找到能够在某个分布上进行训练,并能够推广到另一个分布的学习算法,是一个重要的研究课题。但如果你想要在特定的机器学习应用上取得进展,而不是搞研究,我建议你尝试选择服从相同分布的开发集和测试集数据,这会让你的团队更有效率。


更多阅读

直击泛家居产行业20强的品牌定位策略

软文 2019-5-22
大材研究注意到,近几年来,有不少公司重塑定位,或者放大原来的优势定位。此事,如果做好了,少则省几千万,多则可省几个亿的广告费。 ...

卖家成长 选取关键词得注意 前期关键词调研更重要

软文 2019-5-22
如今在亚马逊上开个店看似很容易,但要保证出单,持续的出单却很难。原因有很多,老话说的没错,三分靠运气七分靠打拼,而做亚马逊前期...

国庆假期借势海报 杜蕾斯发挥正常 宝马海报无文案 ofo大手笔

软文 2019-5-22
文 | PR天下 今年国庆假期与去年最大不一样的地方在于,期间还要累加一天中秋节假期,共计八天,而这竟成为数家品牌借势创意的发力点。...
返回列表
扫描二维码分享到微信
确 认

Copyright © 2015-2021 发稿网

     
扫码二维码立即咨询
确 认