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

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

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

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

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

下图为y=exp(x)的图像,我们可以知道指数函数的值域取值范围是零到正无穷。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函数(超简单)相关推荐

  1. 微信云服务器发长视频朋友圈,今天才知道,微信朋友圈还能发5分钟长视频,超简单,一看就会...

    原标题:今天才知道,微信朋友圈还能发5分钟长视频,超简单,一看就会 朋友圈里不仅可以晒照片 还能分享一些好玩的小视频 但通常来说 小视频最多只能拍15秒 有些长时间的视频就发不了了 今天,厦门银龄教您 ...

  2. 深入理解softmax函数

    Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签  可以取两个以上的值.Softmax模型可以用来给不同的对象分配概率.即使在之后,我们训练更加精细 ...

  3. C语言 system函数超简单讲解+整活

    在CSDN查(抄)代码的时候经常会遇到有大佬写出 system("pause") 这个语句. 后来又接触到 system("cls") 这使我非常好奇,于是查了 ...

  4. Excel隔列求和如何操作,2分钟就能掌握超简单方法。

    我们在使用Excel表格时,怎么进行隔列求和呢?今天用常用的speedoffice和大家分享一下. 步骤: 1,打开Excel表格,输入示例内容,对表中不同颜色相邻的列分别求和,即隔列求和. 2,点击 ...

  5. softmax函数名字的由来(代数几何原理)——softmax前世今生系列(2)

    导读: softmax的前世今生系列是作者在学习NLP神经网络时,以softmax层为何能对文本进行分类.预测等问题为入手点,顺藤摸瓜进行的一系列研究学习.其中包含: 1.softmax函数的正推原理 ...

  6. matlab中ode45函数的用法_带你理解Excel中COUNTIF函数的简单用法

    每天5分钟,每天学一点. COUNTIF函数是Excel中最常用的统计函数之一,它的作用主要是用于根据特定条件对数据进行统计.假如,你想统计一下本周总共做了几次健身/瑜伽,或者统计上了几次培训课,那么 ...

  7. 对Softmax函数的理解

    目录 1.名字理解 2.优点 3.缺点 4.应用 5.总结 1.名字理解 1)软最大,相较于硬最大来说.硬最大非黑即白,只能输出一个最大值:软最大输出的是--每个类别最大的概率分布. 2)eg就像一篇 ...

  8. softmax函数理解

    该节课中提到了一种叫作softmax的函数,因为之前对这个概念不了解,所以本篇就这个函数进行整理,如下: 维基给出的解释:softmax函数,也称指数归一化函数,它是一种logistic函数的归一化形 ...

  9. php _call call_user_func_array,PHP call_user_func和call_user_func_array函数的简单理解与应用分析...

    本文实例讲述了PHP call_user_func和call_user_func_array函数的简单理解与应用.分享给大家供大家参考,具体如下: call_user_func():调用一个回调函数处 ...

最新文章

  1. 多平台Gstreamer Multiplatform
  2. python 错误--UnboundLocalError: local variable '**' referenced before assignment
  3. 正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
  4. PMP中关于配置管理系统和配置管理项
  5. c语言顺序结构程序设计第4章答案,第4章顺序结构程序设计习题及答案.doc
  6. 数据结构实验之链表六:有序链表的建立
  7. 面向对象三大特性,六个原则
  8. PCL:PCL1.9.0更新
  9. nagios监控mysql主机,nginx,cpu,网卡流量
  10. k8s的认证和service account简述
  11. 漫画:去掉一个数,如何让剩余的数乘积最大?
  12. 弹性计算安全组最佳实践及新特性介绍
  13. vscode 转到实现方法失效_动图炫技23个鲜为人知的VS Code快捷键
  14. 抖音无水印视频批量下载助手
  15. 激光雷达RPLIDAR A1使用教程
  16. steam好友服务器当前处于离线状态,steam怎么修改在线状态-steam设置离线、想交易、隐身等状态的方法 - 河东软件园...
  17. 【产品】 产品设计之结构设计:注塑件产生气纹的原因
  18. 上海计算机协会-10月月赛-丙组-T5-组队竞赛
  19. 计算机总是提示网络电缆没有插,网络电缆没有插好原因与解决方法【图文教程】...
  20. WIN10 2004 打印机无法共享的设置办法

热门文章

  1. 转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别
  2. 文本编辑器创建工具栏
  3. 访问tomcat html,访问云服务器tomcat里html界面
  4. 源码安装python
  5. python redis 消息队列
  6. python date time
  7. Leetcode 剑指 Offer 03. 数组中重复的数字 (每日一题 20210614)
  8. 深度学习核心技术精讲100篇(五十二)-用户画像系统构建全思路解析
  9. Hadoop-2.2.0学习之三YARN简介
  10. python把图片另存为_pycharm sciview的图片另存为操作