pytorch - Pytorch NLLLOSS的理解

标签 pytorch classification loss-function

PyTorch 的负对数似然损失,nn.NLLLoss定义为:

enter image description here

因此,如果以单批处理的标准重量计算损失,则损失的公式始终为:

-1 * (prediction of model for correct class)

示例:

enter image description here

正确类别 = 0

正确类别的模型预测 = 0.5

损失 = -1 * 0.5

那么,如果计算损失时没有涉及对数函数,为什么它被称为“负对数似然损失”?

最佳答案

确实没有 log 被用来计算 nn.NLLLoss 的结果,所以这可能有点令人困惑。但是,我相信之所以这样调用它是因为它期望接收对数概率:

The input given through a forward call is expected to contain log-probabilities of each class. - docs

最后,将它包含在名称中没有多大意义,因为您可能还想将此函数应用于非对数概率...

关于pytorch - Pytorch NLLLOSS的理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69325760/

相关文章:

machine-learning - 如何从实时视频流中提取一组固定帧用于 PyTorch 中的机器学习预测?

python - 将不平衡学习与 Pandas DataFrame 结合使用

tensorflow - 即使尺寸不匹配,自定义损失函数也有效

tensorflow - keras 结合两个损失与可调权重

python - 人工神经网络预测出错

tensorflow - TensorFlow/Keras 的 fit() 函数的 class_weight 参数如何工作?

python - 如何扩展 Pytorch 损失函数

python - 如何将 PReLU 合并到量化模型中?

r - 基于广播中播放的音乐流派分类

machine-learning - 如何解释weka中的朴素贝叶斯结果?