当前位置:   article > 正文

分类损失函数 (一) torch.nn.CrossEntropyLoss()

分类损失函数 (一) torch.nn.CrossEntropyLoss()

1、交叉熵

  • 是一种用于衡量两个概率分布之间的距离或相似性的度量方法。
  • 机器学习中,交叉熵常用于损失函数,用于评估模型的预测结果和实际标签的差异。
  • 公式:Loss(y,{y}') =-\sum (y[i]]*log({y[i]]}']))  

      y:真是标签的概率分布,y':模型预测的概率分布

  • 交叉熵损失函数的目的:是最小化预测概率分布和真是概率分布之间的差异,使模型能够更好的学习到数据的内在规律和特征。

2、pytorch中的CrossEntropyLoss()

  • pytorch中的交叉熵包含两部分,softmax和交叉熵计算
  • softmax将预测值转化为概率值
  •  softmax =\frac{exp(x_{i}))}{\sum exp(x_{i}))}        
  • torch.nn.CrossEntropyLoss(logits,target)

        其中logits预测值是网络输出:[[0.8, 0.5, 0.2, 0.5],
                                                         [0.2, 0.9, 0.3, 0.2],
                                                         [0.4, 0.3, 0.7, 0.1],
                                                         [0.1, 0.2, 0.4, 0.8]]

       其中target标签可以是:列表:torch.tensor([[1, 0, 0, 0],
                                                                             [0, 1, 0, 0],
                                                                             [0, 1, 0, 0],
                                                                             [0, 0, 0, 1]], dtype=torch.float)

                                            索引:torch.tensor([0,1, 1, 3], dtype=torch.long)

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号