详解softmax函数「建议收藏」

做过多分类任务的同学一定都知道softmax函数。softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法:下面为大家解释一下为什么softmax是这种形式。首先,我们知道概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。softmax就是将在负无穷到正无穷上的预测结果按照…

大家好,又见面了,我是你们的朋友全栈君。

做过多分类任务的同学一定都知道softmax函数。softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。下图展示了softmax的计算方法:

详解softmax函数「建议收藏」

下面为大家解释一下为什么softmax是这种形式。

首先,我们知道概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。

softmax就是将在负无穷到正无穷上的预测结果按照这两步转换为概率的。

1)将预测结果转化为非负数

下图为y=exp(x)的图像,我们可以知道指数函数的值域取值范围是零到正无穷。softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。

详解softmax函数「建议收藏」

2)各种预测结果概率之和等于1

为了确保各个预测结果的概率之和等于1。我们只需要将转换后的结果进行归一化处理。方法就是将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比。这样就得到近似的概率。

下面为大家举一个例子,假如模型对一个三分类问题的预测结果为-3、1.5、2.7。我们要用softmax将模型结果转为概率。步骤如下:

1)将预测结果转化为非负数

y1 = exp(x1) = exp(-3) = 0.05

y2 = exp(x2) = exp(1.5) = 4.48

y3 = exp(x3) = exp(2.7) = 14.88

2)各种预测结果概率之和等于1

z1 = y1/(y1+y2+y3) = 0.05/(0.05+4.48+14.88) = 0.0026

z2 = y2/(y1+y2+y3) = 4.48/(0.05+4.48+14.88) = 0.2308

z3 = y3/(y1+y2+y3) = 14.88/(0.05+4.48+14.88) = 0.7666

总结一下softmax如何将多分类输出转换为概率,可以分为两步:

1)分子:通过指数函数,将实数输出映射到零到正无穷。

2)分母:将所有结果相加,进行归一化。

下图为斯坦福大学CS224n课程中最softmax的解释:

详解softmax函数「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129700.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#编程,SQLServer提示将截断字符串或二进制数据「建议收藏」

    C#编程,SQLServer提示将截断字符串或二进制数据「建议收藏」如果你的数据类型是varchar,每一个字母占用1个字节,汉字两个字节,放在末尾的空格会自动Trim掉,如果你用nvarchar,且长度是20,当你的数据长度不足20的时候,会自动用空格填充,汉字和字母都占用一个字节。错误:将截断字符串或二进制数据。语句已终止。一般是要保存的数据长度,大于数据库字段设置的长度,连接上数据库,手动调整字段的长度信息。…

    2022年10月7日
    0
  • DOS命令:copy

    DOS命令:copycopy命令,将至少一个文件复制到另一个位置copy/?—查看官方帮助文档对COPYT的解释说明COPY[/D[1]][/V][/N][/Y|/-Y][/Z][/A|/B]source[/A|/B][+source[/A|/B][+…]][destination[/A|/B]]source指定要复制的文件。/A表示一个ASCII文本文件。/B表示一个二进位文件。/D允许解密要创建的目标文件dest…

    2022年7月18日
    14
  • tomcat7配置教程_Tomcat热部署

    tomcat7配置教程_Tomcat热部署1.Tomcat依赖于JDK,需要提前安装好JDK,参考另外一篇文章:JAVA安装部署2.到官网下载Tomcat7,解压到相关路径即可。Tomcat官网3.从Tomcat7之后的版本都不需要配置环境变量,在bin目录下,查看starup.bat:意思是如果bin目录下面存在catalina.bat文件,就可以访问tomcat页面了,代表安装成功了。PS:如果没…

    2025年6月13日
    0
  • 《数据结构导论自考知识点(自己总结)》「建议收藏」

    《数据结构导论自考知识点(自己总结)》「建议收藏」《数据结构导论自考知识点》一、线性表:1、插入:从后往前挪,删除:从前往后挪2、顺序存储(方式:for循环)3、链式存储:{单链表的一个结点由两部分组成,数据元素和指针。datanext^^数据指针}二、栈、队列:4、栈:top++入栈,top–出栈5、队列:顺序队列,出队操作队首,指针后移一位,front=(front+1)%习题:一个二维数组,…

    2022年8月18日
    3
  • Pycharm 提示:this license * has been cancelled – Python零基础入门教程

    Pycharm 提示:this license * has been cancelled – Python零基础入门教程目录一.前言一.找到hosts文件二.修改hosts文件三.检查hosts文件是否修改成功四.pycharm安装激活详细教程五.猜你喜欢一.前言零基础Python学习路线推荐:Python学习目录>>Python基础入门Pycharm安装激活过程中,提示thislicense****hasbeencancelled。这个问题并不是你的激活码不对,而是需要修改系统的hosts文件,下面详细讲解下如何修改hosts文件

    2022年8月26日
    2
  • 利用jQuery进行三行两列等高布局

    利用jQuery进行三行两列等高布局

    2021年9月17日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号