假设我正在为一个二元分类任务训练一个神经网络,它具有 A 类和 B 类,它是使用带有交叉熵损失函数的梯度下降来训练的。数据集是不平衡的,A 的示例是 B 的两倍。因此,我的训练将偏向于 A 类,并且会“更努力地”预测 A,而牺牲 B 类。
对此有两种可能的解决方案:
(1) 在损失函数中加入一个系数,在梯度计算时降低 A 的样本权重。
(2) 不要在网络输出上使用 0.5 的阈值来确定预测的类别,而是更改此阈值,以便 A 类的预测需要比 B 类的预测“更有信心”。
这两种解决方案看似相关,但也大相径庭。
这两者之间有什么关系?(1)中的系数实际上与(2)中的阈值相同吗?