交叉熵的简单理解

1 篇文章 0 订阅
1 篇文章 0 订阅

交叉熵损失计算示例

交叉熵损失公式

单个指标损失
其中y为label,p^为预测的正类别概率,即在二分类中通过sigmoid函数得出的正类别概率大小。
二分类
多分类
举例:

criterion = nn.CrossEntropyLoss()
input = torch.randn(3, 5, requires_grad=True)
target = torch.empty(3, dtype=torch.long).random_(5)
loss = criterion(input, target)

上述代码即为求交叉熵损失的示例,输入为随机生成的三个具有5个标签的样本,目标标签为同样随机生成的3个具有唯一正确标签的样本,loss即为函数torch.nn.CrossEntropyLoss()求得的交叉熵损失。

torch.nn.CrossEntropyLoss()内的核心代码如下:

batch_loss = 0.
for i in range(input.shape[0]):   # 遍历样本数
    numerator = np.exp(input[i, target[i]])	  # 对每个目标标签求指数
    denominator = np.sum(np.exp(input[i, :])) 	 # 每个目标标签所在样本总体指数之和			   
    loss = -np.log(numerator / denominator)    # 损失函数对数公式
    batch_loss += loss  # 所有样本损失之和

其中,公式中损失函数只有对数log(numerator / denominator)原因是,其他标签默认系数为0,因此代码中省略,因此代码也可写成如下:

for i in range(input.shape[0]):
	Loss[i]=-input[i, target[i]+sum(math.exp(input[i][:]))
loss = sum(Loss)

单个损失

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
交叉熵损失函数作为损失函数有以下几个优点: 1. 相似性度量:交叉熵损失函数可以衡量真实标记的分布和模型预测标记分布之间的相似性。通过最小化交叉熵损失,可以使得模型的预测结果更接近真实标记,提高模型的准确性和性能。\[2\] 2. 避免学习速率下降问题:使用交叉熵损失函数结合sigmoid函数进行梯度下降,可以避免均方误差损失函数学习速率下降的问题。这是因为学习速率可以被输出的误差所控制,从而更好地优化模型参数。\[2\] 3. 数学解释简单交叉熵损失函数的数学解释相对简单,可以通过最大似然估计的角度来理解。最大似然估计是一种常用的参数估计方法,通过最大化观测数据的似然函数来估计模型参数。在交叉熵损失函数中,最小化负对数似然函数等价于最大化似然函数,从而得到更好的模型拟合效果。\[3\] 综上所述,交叉熵损失函数作为损失函数具有相似性度量、避免学习速率下降问题和数学解释简单等优点。这些优点使得交叉熵损失函数在机器学习中被广泛应用,并取代了二次代价函数作为常用的损失函数。 #### 引用[.reference_title] - *1* [交叉熵损失函数的优点(转载)](https://blog.csdn.net/weixin_39529903/article/details/111499257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [如何简单通俗的理解交叉熵损失函数?](https://blog.csdn.net/weixin_39788572/article/details/111499275)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值