MXNet中的CrossEntropy和NegativeLogLikelihood有什么区别?

时间:2018-06-21 13:42:04

标签: python classification mxnet loss-function cross-entropy

我正尝试使用mxnet.metric模块以对数损失指标评估我的分类模型。

我遇到了两个类:CrossEntropyNegativeLogLikelihood,它们具有相同的定义和非常相似的实现。两者具有用于计算指标值的相同核心代码:

self.sum_metric += (-numpy.log(prob + self.eps)).sum()

如果它们本质上是相同的指标,那么在库中维护这两个功能的目的是什么?二进制和多类别分类首选哪种度量标准?

1 个答案:

答案 0 :(得分:2)

实际上,不仅在MXNet中,而且在总体上,这些东西之间没有太大的区别。阅读此Quora可获得更多直观信息:https://www.quora.com/What-are-the-differences-between-maximum-likelihood-and-cross-entropy-as-a-loss-function

至于MXNet中用于多类别分类的内容,那么在大多数示例中,我已经看到人们使用SoftmaxCrossEntropyLoss。在此处查看示例:https://gluon.mxnet.io/chapter02_supervised-learning/softmax-regression-gluon.html