PyTorch 多分类损失函数

网友投稿 1129 2022-05-29

Pytorch提供了丰富的损失函数,而多分类任务用到最多的就是nn.CrossEntropyLoss和nn.NLLLoss了,不妨讨论一下。

nn.CrossEntropyLoss

CrossEntropy顾名思义就是交叉熵,概念来自香农的信息论,用于度量两个概率分布间的差异性信息,可以认为是在给定的真实分布下,使用非真实分布的策略消除系统的不确定性所需要付出的努力的大小。交叉熵越小,证明计算出的非真实分布越接近真实分布。

公式如下:

PyTorch 多分类损失函数

H(p,q)=−∑k=1N(pk∗logqk)H(p,q)=−∑k=1N(pk∗logqk)

在PyTroch的文档中明确指出它和nn.NLLLoss之间的关系,后面我们会进行测试。

This criterion combines nn.LogSoftmax() and nn.NLLLoss() in one single class.

nn.NLLLoss

全名是负对数似然损失函数(Negative Log Likelihood),在PyTorch的文档中有如下说明:

Obtaining log-probabilities in a neural network is easily achieved by adding a LogSoftmax layer in the last layer of your network. You may use CrossEntropyLoss instead, if yo

pytorch 机器学习

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Qt 解析Json
下一篇:uniapp框架之如何修改接口传参的参数
相关文章