吴恩达机器学习训练秘籍整理三十六到四十三章(六)训练数据

第三十六章:

何时在不同的分布上训练与测试。

用户上传的10000张图片。网上收集的200000张图片。用户上传的5000张用来做开发集和测试集。205000用来做训练集。这样可以让他们的数据集的分布尽可能的相同。

第三十七章:

现有100000张用户上传的图片和200000张网络收集到的图片。这两种图片的分布是不一样的。早期的学习算法是不能将200000张图片用来训练的。但是基于深度学习的算法则可以将这些图片都传到网络里面进行训练。因为你为网络提供了更多的猫的外貌特征。

第三十八章:

如何决定是否添加不一致的数据?

假设你想要学习预测纽约市的房价。考虑房子的大小(输入特征 x),你需要预测价格(目的标签 y)。纽约市的房价非常高。假设你在密歇根州的底特律有第二个住房价格数据集,就会发现那里的房价要低得多。应该把这些数据包含在你的训练集里吗?

这种情况下最好是把不一致的数据忽略掉。

第三十九章:

给数据加权重

假设你有 20 万张来自互联网的图片,还有来自移动应用用户的 5000 张照片。数据集的大小之间有一个 40:1 的比率。这时候你可以增大移动应用的图片的权重来进行网络的训练。只有当你怀疑这些额外的数据与开发/测试集分布不一致,或者额外的数据规模比与相同分布的开发/测试集数据规模大得多时,这种类型的权重加权才需要。

第四十章:

从训练集泛化到开发集

数据不匹配问题:网络模型可以很好地泛化与训练集相同分布的未知数据上,但是不能很好地泛化到开发集上面。

第四十一章:

辨别偏差,方差和数据不匹配误差

通过了解算法最容易产生哪些类型的误差,你将能够更好地决定是否聚焦于减少偏差、减少方差或减少数据不匹配的技术。

假设在猫咪检测任务中,人类获得了近乎完美的性能(0%误差),因此最优错误率大约为 0%。假设你有:

  • 1% 的训练集误差

  • 5% 的训练开发集误差

  • 5% 的开发集误差

这表明了什么?你知道你有很高的方差。先前章节描述的减少方差的技术应该能使你取得进展。

现在,假设你的算法达到了:

  • 10% 的训练集误差

  • 11% 的训练开发集误差

  • 12% 的开发集误差

这表明你在训练集上有很高的可避免偏差。该算法在训练集上做得很差,偏差降低技术应该能有所帮助。

在上面的两个例子中,该算法只存在高可避免偏差或高方差。一个算法有可能同时受到高可避免偏差、高方差和数据不匹配的子集的影响。例如:

  • 10% 的训练集误差

  • 11% 的训练开发集误差

  • 20% 的开发集误差

该算法存在高可避免偏差和数据不匹配问题。

第四十二章:

解决数据不匹配问题

I)尝试理解数据属性在训练集和开发集分布之间的差异。(ii)尝试找到更多的训练数据,以便更好地匹配你的算法碰到的开发集样本。

第四十三章:

人工合成数据

当你在合成数据时,请考虑一下你是否真的在合成一组具有代表性的样本。

猜你喜欢

转载自blog.csdn.net/donkey_1993/article/details/83090653