当数据集不平衡时,用于多类分类的最佳损失函数?

时间:2018-09-04 07:27:37

标签: tensorflow machine-learning deep-learning computer-vision pytorch

我目前正在使用交叉熵损失函数,但由于数据集不平衡,因此性能不佳。

有更好的功能丧失吗?

1 个答案:

答案 0 :(得分:10)

这是一个非常广泛的主题,但是恕我直言,您应该尝试focal lossTsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He and Piotr Dollar引入了它来处理对象检测中的不平衡预测。自介绍以来,它也用于细分的背景。
焦点损失的想法是减少损失和梯度,以进行正确(或几乎正确)的预测,同时强调误差的梯度。

您可以在图中看到:
enter image description here

蓝色曲线是规则的交叉熵损失:一方面,即使对于分类良好的示例,其损失和梯度也可以忽略不计;另一方面,对于错误分类的示例,其梯度较弱。
相反,对于分类良好的示例,焦点损失(所有其他曲线)具有较小的损耗和较弱的梯度,对于分类错误的示例,其具有较强的梯度。