softmax函数

article/2025/10/6 21:26:28

输出层的设计

神经网络可以用在分类问题和回归问题上,不过需要根据情况改变输出层的激活函数。一般而言,回归问题用恒等函数,分类问题用softmax函数。机器学习的问题大致可以分为分类问题和回归问题。分类问题是数据属于哪一个类别的问题。比如,区分图像中的人是男性还是女性的问题就是分类问题。而回归问题是根据某个输入预测一个(连续的)数值的问题。比如,根据一个人的图像预测这个人的体重的问题就是回归问题(类似“57.4kg”这样的预测)。

恒等函数

恒等函数会将输入按原样输出,对于输入的信息,不加以任何改动地直接输出。因此,在输出层使用恒等函数时,输入信号会原封不动地被输出。另外,将恒等函数的处理过程用之前的神经网络图来表示的话,则如下图所示:

在这里插入图片描述
和前面介绍的隐藏层的激活函数一样,恒等函数进行的转换处理可以用一根箭头来表示。

softmax函数

softmax函数可以用下面的表达式表示:
在这里插入图片描述
exp(x)是表示ex的指数函数(e是纳皮尔常数2.7182 …)。上式表示假设输出层共有n个神经元,计算第k个神经元的输出yk。softmax函数的分子是输入信号ak的指数函数,分母是所有输入信号的指数函数的和。

在这里插入图片描述
从图可以看出,softmax函数的输出通过箭头与所有的输入信号相连。这是因为,输出层的各个神经元都受到所有输入信号的影响。python实现softmax函数如下:

def softmax(a):exp_a = np.exp(a)sum_exp_a = np.sum(exp_a)y = exp_a / sum_exp_areturn y

softmax函数的实现中要进行指数函数的运算,但是此时指数函数的值很容易变得非常大,会出现溢出问题。e100会变成一个后面有40多个0的超大值,e1000的结果会返回一个表示无穷大的inf。如果在这些超大值之间进行除法运算,结果会出现“不确定”的情况。所以我们需要对其进行改进:
在这里插入图片描述
在进行softmax的指数函数的运算时,加上(或者减去)某个常数并不会改变运算的结果。这里的C’可以使用任何值,但是为了防止溢出,一般会使用输入信号中的最大值。一般通过减去输入信号中的最大值实现softmax函数。

在这里插入图片描述
如上所示,softmax函数的输出是0.0到1.0之间的实数。并且,softmax函数的输出值的总和是1。输出总和为1是softmax函数的一个重要性质。正因为有了这个性质,我们才可以把softmax函数的输出解释为“概率”。

这里需要注意的是,即便使用了softmax函数,各个元素之间的大小关系也不会改变。这是因为指数函数(y = exp(x))是单调递增函数。实际上,上例中a的各元素的大小关系和y的各元素的大小关系并没有改变。一般而言,神经网络只把输出值最大的神经元所对应的类别作为识别结果。并且,即便使用softmax函数,输出值最大的神经元的位置也不会变。因此,神经网络在进行分类时,输出层的softmax函数可以省略。在实际的问题中,由于指数函数的运算需要一定的计算机运算量,因此输出层的softmax函数一般会被省略。python实现如下:

import numpy as np
import matplotlib.pylab as pltdef softmax(a):c = np.max(a)exp_a = np.exp(a - c)  # 溢出对策sum_exp_a = np.sum(exp_a)y = exp_a / sum_exp_areturn yx = np.arange(1, 11, 1)
y = softmax(x)
plt.ylim(0, 1)  # 指定y轴的范围
plt.plot(x, y)
plt.show()

http://chatgpt.dhexx.cn/article/11HuMJJj.shtml

相关文章

输出层的激活函数——softmax函数

概括 机器学习的问题大致可以分为分类问题和回归问题。分类问题是数据属于哪一个类别的问题。比如,区分图像中的人是男性还是女性的问题就是分类问题。而回归问题是根据某个输入预测一个(连续的)数值的问题。比如,根据一个人的图…

Softmax

又搬了个蒸馏相关~~ 神经网络中的蒸馏技术 “模型集成是一个相当有保证的方法,可以获得2%的准确性。“ —— Andrej Karpathy我绝对同意!然而,部署重量级模型的集成在许多情况下并不总是可行的。有时,你的单个模型可能太大(例如G…

初探softmax

什么是softmax Softmax,又称作归一化指数函数。主要用于分类任务,降多分类的结果以概率的形式展现 下图展示softmax计算方法 softmax本质上是归一化网络,目的是将多个标量映射为一个概率分布,其输出的每一个值范围在(0,1&#x…

神经网络之softmax(作用,工作原理【示例说明】,损失计算)

1、softmax作用 softmax将输出的分类结果映射到(0-1)之间,将神经网络的分类结果转化成对应的概率。不同的概率,表示此样本属于对应类别的可能性大小,概率越大,样本属于该分类的可能性越大。概率的总和为1。…

softmax算法详解

softmax简介 在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。 2.softmax函数的数学…

深度学习softmax函数理解

文章目录 一,引入二,softmax是什么?三,为什么 使用 e x e^x ex实现总结 一,引入 我们为什么要引入这个函数,我们知道在机器学习当中,一些问题大概可以分为两种,一种是分类问题&…

softmax详解

softmax又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来。它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类&#xff…

什么是事务的一致性?

事务的ACID特性 事务主要有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability) 下面我们分别来介绍着几种性质。 原子性 原子…

什么是事务,事务的用途,分布式事务

先看个例子: 客户A和客户B的银行账户金额都是10000元人民币,客户A需要把自己帐户中的5000元人民币转到客户B的账户上。 这个过程看似简单,实际上涉及了一系列的数据库操作,可以简单地视为两步基本操作,即从客户…

什么是事务和事务隔离级别

目录 1. 什么是事务2. 事务的作用3. 事务隔离所导致的一些问题4. 事务隔离级别 Isolation5. 事务传播行为 Propagation6. 事物隔离级别查看及修改 1. 什么是事务 事务是访问数据库的一个操作序列,数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得…

什么是事务的一致性?一致性和原子性的区别是什么?

(PS:黄色字体为二次修改的内容) 关于事务的一致性,《数据库系统概念》中是这样描述的 第二段说的三个特性是指原子性、隔离性、持久性。 就算这样,相信大家也是懵懵的,我也是,所以才会写下这篇博客。 看到别的博客说&#xff0…

数据库得事务控制详解,什么是事务回滚详解,通俗易懂

常用的存储引擎有InnoDB(MySQL5.5以后默认的存储引擎)和MyISAM(MySQL5.5之前默认的存储引擎),其中InnoDB支持事务处理机制,而MyISAM不支持 事务是一个整体, 由一条或者多条SQL语句组成, 这些SQL语句要么都执行成功, 要么就失败, 只要有一条SQL出现异常, 整个操作就会回滚…

什么是事务?如何执行一个事务?

什么是事务,为什么要使用事务? 事务是指将一系列数据操作捆绑成为一个整体进行统一管理,如果某一事务执行成功,则在该事物中进行的所有数据更改均会提交,成为数据库中的永久组成部分, 如果事务执行时遇到错…

什么是事务,事务的ACID特性

一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 事务的结束有两种…

SQL中什么是事务

SQL中什么是事务 事务的概念: 事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。事务就是一些SQL语句组(每条单独的SQL语句也算一个事务),其中事…

什么是事务?事务的特性?

在mysql中,事务是一种机制、一个操作序列,是访问和更新数据库的程序执行单元。事务中包含一个或多个数据库操作命令,会把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执…

粒子群优化算法求解函数最值

一、实验题目 计算如下二元函数的最小值: (其中自变量x、y的范围均为[-50, 50]) 用matlab代码实现。代码必须能一键运行。最后输出x,y和z的最优值及收敛到最优值所需的迭代步数。算法关键参数需要注释清楚(如权重因子、学习因子…

粒子群优化算法python

粒子群优化算法PSO 粒子群优化算法基本原理算法步骤代码实现 粒子群优化算法 一群鸟在随机搜索食物,在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是它们知道当前的位置离食物还有多远。那么,找到食物的最简单有效的方法就是搜寻离食物最近…

基于粒子群优化算法的函数寻优算法

文章目录 一、理论基础二、案例背景1、问题描述2、解题思路及步骤 三、MATLAB程序实现1、PSO算法参数设置2、种群初始化3、寻找初始极值4、迭代寻优5、结果分析 四、惯性权重1、惯性权重的选择2、 ω \omega ω变化的算法性能分析 五、参考文献 一、理论基础 粒子群算法(parti…

自适应粒子群优化算法的MATLAB性能仿真

UP目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 粒子群优化(PSO)是一种基于群体的随机优化技术。与其它基于群体的进化算法相比,它们均初始化为一组随机解,通过迭代搜寻最优解。不同的是:进化计算遵循…