1 类别不均衡问题
类别不均衡是指在机器学习的分类问题中,预测目标不同类别之间样本数量存在较大差异。如二分类中,正例1000个,负例10个,那模型只要简单将所有样本预测为正,就可以获得超高准确率,但是往往这并不是我们想要的结果。比如新冠感染者的检查,感染者明显是人群中的少数,采用上述策略,就会倾向于认为所有人都是未感染者,这是不可以的,因为这种情况下,感染者虽然是少数,但是带来的影响却是巨大的,因此我们需要模型在训练阶段更好地找出每个感染者,而不是一味追求准确率。
2 交叉熵损失
交叉熵损失是分类问题中使用最为普遍的损失函数,其公式如下:
其中,y是真实标签,p为预测概率。
在某个二分类问题中,假设正例样本数为a,负例样本数为b,那么,交叉熵损失为:
当a>>b时,对于所有样本,正样本对于损失函数的贡献就远大于负样本,因此模型会倾向于将样本预测为正例。所以样本不均衡问题的应对方法之一就是更换损失函数。
最简单的方式,就是为不均衡类别赋予不同的样本权重,让少数类别的样本获得更大的重要度,如下,通过引入权重来均衡正负样本对损失的影响:
3 Focal Loss
从另外一个角度来看类别不均衡问题,可以认为少数类样本是一种难以分类的样本,因为模型总容易把它们分错。定义一个指标来衡量样本的难易程度:
其中,p是模型预测值,y是真实值。
越大说明模型越容易分错。通常,简单样本是难样本的指数倍数。因此,即使难样本单个样本被分错,损失较大,但是奈何其群体数少,不能影响全局,模型会“战略性”放弃这些样本。为了在战略上重视错分个体,我们同样引入样本权重来进行操作:
其中,用来做类别均衡(同),用来均衡难易样本。而可以定义为指数函数:
最终,Focal Loss可以写成:
在何老师的原文中,通过实验发现=0.25,r=2时,模型能够取得比较好的效果。
网友评论