更多好玩的机器学习教程: 进入袋马学院领一份 ,全部免费?.
假如从互联网上下载了200,000张图片,然后有获取了用户从手机APP上传的5,000张图片,这两种数据的比例是40:1。理论上,只要你训练最够大的神经网络,然后在205,000张图片上训练足够长的时间,这样就可以让你的算法,在网络图片和手机上传的图片上,都能有很好的识别效果。
但是在实践中,相对于手机上传的图片,网络图片要多出40倍,这意味着,相比用5,000图片训练模型,我们要多耗费40倍(或更多)的计算资源。如果你没有足够多的计算资源,则可以妥协以下,你可以给网络图片设置非常小的权重。
比如,假设你要优化的目标是平方误差(对于分类任务来说,这个不是很好的选择,但是它非常简单,且易于解释)。因此我们的学习算法会做出如下优化:
公式中的第一项为5000张手机图片的损失和,第二项为网上200,000张图片的损失和。你可以通过额外的参数 ?来优化这个式子:
如果 ?被设置成1/40,你的算法会给5,000张手机图片和200,000张网络图片相同的权重。你可以依据算法在开发测试集上的表现,将 ?设置成其他值。
通过让网络图片的权重降低,你不需要一个大型的网络,来让算法在两种数据类型上都表现很好。这种重新定义权重的方法,只有在额外添加的数据(网络图片)与开发/测试样本集数据分布存在很大差异时,或额外添加的数据比开发/测试集中的数据多很多的时候,才会用到。
更多好玩的机器学习教程: 进入袋马学院领一份 ,全部免费?.