MxNet学习笔记(2)-softmax和log_softmax的区别、CrossEntropyLoss()与NLLLoss()的区别、Log似然代价函数

本文深入探讨了深度学习中Softmax函数的作用及其如何转换实数向量为概率分布,解释了log_softmax函数及CrossEntropyLoss与NLLLoss损失函数的区别与联系。通过Log似然代价函数说明了分类任务中损失计算的本质。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1  softmax

函数Softmax(x)是一个non-linearity,但它的特殊之处在于它通常是网络中的一次操作,这是因为它接受了一个实数向量并返回一个概率分布,其定义如下,定义x是一个实数的向量(正数或负数都无所谓,没有限制)。然后,第i个Softmax(x)的组成是

输出是一个概率分布:每个元素都是非负的,并且所有元素的总和都是1

2  log_softmax

在softmax的结果上再做多一次log运算

(效果在查)

3  nn.CrossEntropyLoss()与NLLLoss()

NLLLoss的输入是一个对数概率向量和一个目标标签,它不会为我们计算对数概率。适合网络的最后一层是log_softmax。损失函数nn.CrossEntropyLoss()与NLLLoss()相同。唯一不同的是它为我们去做softmax。

4  Log似然代价函数

其中,ak表示第k个神经元的输出值;yk表示第k个神经元对应的真实值,取值为0或1.实际上,做分类的时候,只有一个yi为1,其他均为0,最终结果是C=-yklogak(ak对应着正确的那一个分类,log默认是e为底,ak在[0,1],当ak最大的时候,C=0),即损失为0。

未完待续

参考博客:

https://blog.youkuaiyun.com/hao5335156/article/details/80607732

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值