权衡交叉熵损失

时间:2019-01-25 13:11:49

标签: tensorflow keras deep-learning pytorch cross-entropy

比方说,我在训练中有两个类别,即A类(100个样本)和B类(100个样本),但是在测试时,A类有(1000个样本)而B类有(100个样本)。 我应该如何计算和使用加权CrossEntropy损失的权重。如果将其设置为0.5、0.5,我会感到困惑。我该如何表示真实分布?

1 个答案:

答案 0 :(得分:0)

最佳设置通常没有权重。

您显然在类分配之间存在偏差(1:1与10:1)。 如果您无能为力,则将A类的权重设置为10,将B的权重设置为1以正确表示最终分布。它们不必加1,如果使用较高的值(这只是损失成分的乘数),则可以降低学习率。

这是一个粗略的修正,正确的选择是修正采样,以使您在训练输入集中也具有相同的不平衡(并且它们应该与您在实践中看到的相匹配)。

如果在实践中在B中犯错误比在A中犯错误要严重得多,那么上述情况是不正确的(即,错过股票上涨只是错失的机会,但是购买股票却没有得到股票上涨)花费您的钱)。在这种情况下,您确实希望对B承担更高的罚款。