【19】什么时候该改变开发集和评估指标

举一个例子,假如模型是识别猫的照片并推送给用户,A的错误率为3%,B的错误率为5%。正常情况我们应该选择A模型。但是发现A会把很多色情图片分类为猫,这里显然A模型是不能接受的,这个时候我们需要改变评估指标了。我们希望新的评估指标 B的得分比A高,这样我们就可以选择B模型了。正常情况下我们在评估模型时,可以写成这样

上述表示统计的错误样本的比率,m是总的选择出来的认为是猫的样本数(照片数)。即Error=选出来是猫的照片中不是猫的数目/选出来的数目。
当我们把色情图片的问题考虑到评估指标

 

添加一个权重项wi,当为错误样本且为色情图片时,我们可以设置为10,当为普通的错误样本设为1,相当于将把色情图片识别为猫的惩罚加大十倍。如果我们想要得到归一化结果可以使用

这样可以保证错误率仍在区间(0,1) 。

因而我们在处理机器学习问题时,通过两步,第一步是弄清楚如何定义一个指标来衡量模型的表现,第二步是逼近目标,优化参数修改指标。
继续刚才的例子,假如两个模型A和B错误率率分别为3%和5%,然后实际应用时,由于用户上传的照片图像质量较差,这是你会发现模型B表现较好,那么我们就需要修改指标或者开发集(dev)

posted @ 2020-02-25 13:39  刘通1997  阅读(194)  评论(0编辑  收藏  举报