数据集不平衡时,多类分类最佳损失函数是什么?

我目前使用的是交叉熵损失函数,但由于数据集不平衡,性能表现不佳。

有没有更好的损失函数?


回答:

这是一个非常广泛的主题,但在我看来,你应该尝试焦点损失:它是由Tsung-Yi Lin、Priya Goyal、Ross Girshick、Kaiming He 和 Piotr Dollar引入的,用于处理目标检测中的不平衡预测。自引入以来,它也被用于分割的背景下。
焦点损失的理念是减少正确(或几乎正确)预测的损失和梯度,同时强调错误的梯度。

如图所示:
enter image description here

蓝色曲线是常规的交叉熵损失:一方面,对于分类良好的示例,它仍然有不可忽视的损失和梯度;另一方面,对于错误分类的示例,它的梯度较弱。
相比之下,焦点损失(所有其他曲线)对于分类良好的示例有较小的损失和较弱的梯度,而对于错误分类的示例则有更强的梯度。

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注