pytorch损失函数之nn.CrossEntropyLoss()【内含softmax推导】

news/2024/7/4 13:08:01

目录

softmax函数推导

Logsoftmax

Nllloss

CrossEntropyLoss


简介:nn.CrossEntropyLoss()是nn.logSoftmax()和nn.NLLLoss()的整合

  • softmax函数推导:

公式:

1.定义一个分类模型

   one-hot code形式

利用这个模型,就很容易的把逻辑上的分类问题转换成数学上的向量问题了。

通项式:

对于T向量中的每个元素来说,表达式就是

2.定义一个概率模型

 

概率和为一:         

结合1和2两个例子:   表示的是向量中,第个元素等于1的概率。

因此可以求得期望E:

                                        

而向量中只有第三项为1,其余均为0,所以:

             

即期望值等于概率分布:

 

3.引入一个指示函数概念

这个函数的意义是,当 函数括号内表达式为真时,函数值为1。当 数括号内表达式为假时,函数值为0。所以,T 向量中的某个元素的值还可以表示成:

即当y=i时:

利用这个概念,我们将多项式分布转换为指数分布表达式,这一堆东西看起来很复杂,其实并不难理解。看不懂也没关系,继续往下看后面的注释

其中:

因此我们得到一个很有用的表达式:

 

4.开始推导

我们对其进行变换,变换过程如下:

对1式,我们对两边同时求和:

根据文中第二部分结论  得出:

因为1式中  ,联立两式的:

     

得出:

Softmax结果表示概率,在【0,1】

根据第二部分我们知道, 表示的是向量中,第个元素等于1的概率。因此softmax计算出的最后结果为:

代表的是一个概率值,对于一个分类问题来说,softmax函数的结果,表示一个“东西”属于每个类别的可能性。这也就是为什么softmax函数适用于解决分类问题的原因。

  • Logsoftmax

就是对softmax取对数,底数为e。

范围在【-∞,0】

  • Nllloss

NLLLoss的结果就是把经过log_softmax函数的值与标签对应的那个值拿出来求和,再求平均,最后取相反数

  • CrossEntropyLoss:

就是经过Softmax——Log_softmax——NllLoss。

Ps:使用了CrossEntropyLoss后模型的最后一层无需再用softmax激活。

交叉熵原理:交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。假设概率分布p为期望输出,概率分布q为实际输出,H(p,q)为交叉熵,则:

有借鉴其他博主文章,只是在撰写这篇博文时找不到当时看的文章了,如果原博主认为侵权,联系我即删除,谢谢!

 


http://www.niftyadmin.cn/n/4390461.html

相关文章

iphone两个备份合并_iphone数据如何备份?两大iPhone备份方法详解

有状况下以便信息内容的安全性指数,务必积极备份额据信息内容手机里里的数据信息内容,串接进就为大家儿详细介绍一下iPhone的备份额据信息内容数据信息内容的方法 。此外之外,iPhone或者iPad的数据信息内容备,可以根据iPhone提供的…

MySQL存储过程删数据,mysql 使用定时任务调用存储过程删除老数据

前言:由于项目需要,现需要做一个定时清理mysql老数据的功能。经再三考虑,决定通过调用数据库的存储过程来执行删除数据的任务,然后创建一个事件来定时调用存储过程。实现前提需要删除数据的表里必须有个字段,类型为dat…

华为路由器接口如何区分_华为路由的线路输出的两种不同方法简介

华为路由的线路输出的两种不同方法简介发布时间:2012-12-12 11:42:09 作者:佚名 我要评论对于路由器而言,我们可以根据不同的情况来采用不同的出口方式,尤其是在一些高端路由组成的网络环境中,我们更是需要设置好…

display隐藏与显示

2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"&…

下周,特斯拉新版本Autopilot 即将推出

CEO伊隆马斯克又通过其最爱的Twitter透露了这一最新消息。 近日&#xff0c;特斯拉CEO伊隆马斯克最近又在Twitter上爆料&#xff0c;公司将于12月最后一周推出最新的自动驾驶软件。他在Twitter上写到&#xff1a;“看起来我们已经做好了在下周为 HW2 推出大部分 Autopilot 功能…

【转载】深度学习中的遥感影像数据集~持续更新

强烈吹爆这篇blog 非常感谢博主分享 有很多国外资料 我查了好久也没找到 终于找到博主 感恩&#xff01; 内容很全了 数据集无论大小和新旧 都有 绝对值得收藏&#xff01; 赶紧分享给关注了我的小伙伴 &#xff01; https://blog.csdn.net/nominior/article/details…

luogu2402 奶牛隐藏

题目描述 在一个农场里有n块田地。某天下午&#xff0c;有一群牛在田地里吃草&#xff0c;他们分散在农场的诸多田地上&#xff0c;农场由m条无向的路连接&#xff0c;每条路有不同的长度。 突然&#xff0c;天降大雨&#xff0c;奶牛们非常混乱&#xff0c;想要快点去躲雨。已…

mysql注入内置函数,mysql注入内置函数

a. 原理由于load_file()函数相当于*nix中的cat函数,而在某些FreeBSD,Sunos系统中用cat / 命令可以列出根目录,而字符/ 的Ascii码是47,所以在MYSQL注入的时候......SQL注入常用_计算机软件及应用_IT/计算机_专业资料。MYSQL: MYSQL注释符: 上午插入记录的时候一直没有成功,郁闷不…