我正尝试使用mxnet.metric模块以对数损失指标评估我的分类模型。
我遇到了两个类:CrossEntropy
和NegativeLogLikelihood
,它们具有相同的定义和非常相似的实现。两者具有用于计算指标值的相同核心代码:
self.sum_metric += (-numpy.log(prob + self.eps)).sum()
如果它们本质上是相同的指标,那么在库中维护这两个功能的目的是什么?二进制和多类别分类首选哪种度量标准?
答案 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