pytorch加权交叉熵,python 交叉熵
以下仅为个人理解,如有不正之处还请指出,欢迎交流!
1.pytorch中的交叉熵损失函数如下:火炬。nn。功能性。cross _ entropy (input,target,weight=none,size _ average=none,ignore _ index=-100,reduce=none,reduction= mean )损失函数通过训练反映预测值(input)和真实值(target),损失收敛,使预测值能很好地反映真实值。
2.在实际使用中得到的预测值与真实值假设有A、B两类待检测目标,加上三类背景,得到如下预测结果:
张量([-0.0295,-0.0632,0.0223],[0.0209,0.3975,0.3867],[0.1598,0.2521,0.2419], [0.1016, 0.4600]
张量([2,1,1,0,0,0])可见一斑。对于每个候选盒,获得包含3个元素的预测结果,并且其真实值对应于0(背景)、1(A类)和2(B类)。
3.Softmax函数表达式在理解交叉熵损失函数之前,有必要澄清一下softmax函数,其表达式如下:
以上面的平方值为例,第一个目标标签的真实值为2,对应的是B类,其对应的预测概率为:
其余相同,三类预测概率之和为1。
另外,如果需要单独调用,界面如下:
torch . nn . functional . soft max(input,dim=无,_ stacklevel=3,dtype=无)4.理解交叉熵损失函数。其计算表达式为:
其中,p代表真值,并且是一个独热向量;q是对应于上述softmax的预测概率。
由于独热向量中的元素是1或0,交叉熵损失的表达式可以简化如下:
其中是真实值对应的类别的预测概率。
综上所述,交叉熵损失函数计算如下:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。