PyTorch 多分类损失函数
PyTorch提供了丰富的损失函数,而多分类任务用到最多的就是nn.CrossEntropyLoss和nn.NLLLoss了,不妨讨论一下。
nn.CrossEntropyLoss
CrossEntropy顾名思义就是交叉熵,概念来自香农的信息论,用于度量两个概率分布间的差异性信息,可以认为是在给定的真实分布下,使用非真实分布的策略消除系统的不确定性所需要付出的努力的大小。交叉熵越小,证明计算出的非真实分布越接近真实分布。
公式如下:
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
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/104665912
- 点赞
- 收藏
- 关注作者
评论(0)