机器学习中的训练集,开发集与测试集

简单介绍以及他们的作用

进行机器学习,必须要准备数据集。一般情况下,所有的数据要求独立同分布(iid)。然后分成三个部分:

  • 训练集(Train Set)
  • 开发集(Dev Set)
  • 测试集(Test Set)

顾名思义,训练集主要用来训练机器学习模型的参数。开发集用来对不同的超级参数进行选择,而且这一过程是个迭代过程,因为事先不知道哪个参数比较适合当前的问题,需要多次尝试。最后,测试集用来验证最终的机器学习系统的性能。

三个集合的比例

在机器学习发展的早期,数据量不是太大,一般几千到几万条数据,这三者的比例大约是:

Train Set Dev Set Test Set
60% 20% 20%

而现如今随着互联网的发展,海量数据的获得成为可能,百万级别的数据已经比较平常,所以比例可以这样划分:

Train Set Dev Set Test Set
98% 1% 1%

非独立同分布的case

现实工程实践中,有时候训练集和另外两种允许来自不同的分布,通俗的说,就是产生的数据方式不同,但是另外两种数据集,即开发集与测试集必须保持是同分布。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容