36.何时使用不同分布的数据集 翻译自 吴恩达新书-Machine Learning Yearning

吴恩达新书《机器学习年鉴》中文版单页版本

吴恩达新书《机器学习年鉴》全书目录导航

机器学习:让机器学会打游戏系列教程(含视频)

你的猫咪图片应用中,用户已经上传了10,000张图片,你手工标注出哪些图片中含有猫,那些图片中没有猫。此外你还有一个更大的从网上下载而来的数据集,这个书记包含了200,000张图片。你应该如果定义训练/开发/测试样本集呢?

由于用户上传的10,000张图片,反应了真实数据的概率分布,你可能会将其用作开发/测试样本集。如果你训练的模型需要大量的数据,你可能会使用从互联网上采集的200,000图片用作训练。现在,你的训练样本集和开发/测试样本集的概率分布是不同的。这会对你的工作造成什么影响呢?

在没有分割数据之前,我们总共有210,100张图片,我们可以将他们随机打乱,并放入到训练/开发/测试样本集中。这样所有的数据来自同一分布了。但我并不推荐这么做,因为这么有会,开发/训练样本集中会有200,000/210,000 = 95%来自互联网的图片,这些图片并不能反映实际的数据分布。记住我们所说的选择开发/测试样本集的建议:

将能反映将来真实数据的样本放到开发/测试样本集中

机器学习学术文献中,大多假设训练/开发/测试样本集服从统一分布。在机器学习的早期,数据是比较缺乏的。我们通常只从一个概率分布中采集数据,因此我们随机将数据分割成训练/开发/测试样本集,这种情况,假设所有数据来自同一分布是成立的。

但是在大数据时代,我们可以访问大量的数据,比如可以从互联网上下载大量的猫类图片。尽管训练数据集相对开发/测试数据集来自不同的分布,但是我们仍然会在机器学习中使用它们,因为它可给我们提供很多的信息。

针对猫咪检测例子,我们会放置5000张用户上传的图片到开发/测试集中,而不是直接将用户上传的10,000图片到开发/测试集中。我们会把用户上传剩余的5000张图片放到训练样本集中,这样训练样本集中就包含了5000张来自用户上传的数据和200,000张从互联网上下载来的数据,共计205,000张图片。我们会在后续的章节中说明,为什么这么做有效。

我们再想想第二个例子,假如你要做一个语音识系统,将街道地址转录成文本,用于语音控制的地图或导航应用。你有20,000用户的所说的街道样本。但是你还有500,000个其他样本,这些样本中,用户再讨论其他话题。你可以将10,000个街道语音样本放入开发/测试集中,将剩余的10,000个样本和其他的500,000个样本放入训练样本集中。

我们继续假设开发样本集中的数据和测试样本集中的数据来自同一分布。但是理解训练样本集和开发/测试样本分布不一致非常重要,因为这会给你带来一些特殊的挑战。

更多好玩的机器学习教程: 进入袋马学院领一份 ,全部免费.

你可能感兴趣的:(吴恩达-YEARNING)