CrossEntropyloss function

两部分

Part One 绕绕,可以不看

Cross entropy loss function又称交叉熵损失,是基于one_hot编码的。
举个例子,我们现在来完成一个判别任务,是cat则1,否则为0。那么我们输入一张图片,会面临以下两种概率,其中yhat代表概率,并且只代表cat的概率。
在这里插入图片描述
然后根据最大似然知识,我们得出下面式子。
在这里插入图片描述
其他博客都略过了这里,所以我来尝试解释一下最大似然估计吧,根据概率论知识最大似然估计是用来估计yhat取某值的可能性的,例如我们现在随便设yhat=0.5,当p(x|y)=0的时候,说明yhat不可能等于0.5,当p(x|y)=1的时候说明yhat就等于0.5。但是现在比较特殊的情况是,当图片有猫,我们只能或只愿意设yhat=1,但是我自己说yhat等于1,孤证不立呀。所以我得拉拢p(x|y)来帮助我,p(x|y)的值越大,我就越有说服力。当p(x|y)=0.8的时候,yhat=1的概率就等于0.8。你们发现了没有,p(x|y)的概率就是最后的预测概率呀。也就是绕了一大个圈,p(x|y)意为判断正确的概率。那我们当然希望p(x|y)越大越好
上面这一段话很绕,很难懂,建议手推一下。好了,那我们再将最大似然那条式子取对数代进去。我们熟悉的Cross entropy loss function就出来了。

Part Two 清晰易懂,一定要看

下面是针对判断是否有(有无cat的二分类),其中y表示是否是该物体(有则y=1,无则y=0),yhat代表该物体的概率。
在这里插入图片描述
对于多分类,同理我们扩展了以下这个公式,其中y表示是否是该物体,yhat代表是该物体的概率,m代表物体的种类数目。
在这里插入图片描述
还需要说明的是:yhat是输入x经过神经网络,再经过softmax之后输出的概率。
最后是Pytorch的实现,需要注意的是无论是cat,dog还是其他animals,都必须转化为1,2,3之类的标签。这样系统才可以自行转化为one_hot进行训练。

loss_function = nn.CrossEntropyLoss()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__TAT__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值