深度学习softmax函数理解

article/2025/10/6 23:42:22

文章目录

一,引入

我们为什么要引入这个函数,我们知道在机器学习当中,一些问题大概可以分为两种,一种是分类问题,一种是回归问题。
但,分类问题中可以有二分类问题和多分类问题。
对于而分类问题,我们可以很容易的想到使用逻辑回归算法。逻辑回归算法本身的逻辑并不复杂,最关键的步骤是将线性模型中输出值通过某种方式映射到[0,1]区间内。
在这里插入图片描述
通过sigmoid函数可以判断,根据头发等判断是否为男女,肿瘤问题等等。

对于softmax可以理解为就是解决多分类问题,将多分类问题结果通过概率的形式展现出来。

二,softmax是什么?

如果要说明softmax是什么的问题,就不得不提那种是非softmax的形式,举个例子,例如ReLu函数就是一种非softmax,而是一种hardmax。对于多分类问题(这里讨论的是两种分类以上),我么想要得到的信息是对于每种可能类别的可信度。即对每种可能结果赋予一个概率值。

下面给出softmax的定义:
在这里插入图片描述
z i z_i zi为第i个节点的输出值,C为节点的个数,可能输出结果的总数(分类类别数)。
通过上例中就可以将多分类问题的输出值(无论是多大)转化为范围在[0, 1]和为1的概率分布。

三,为什么 使用 e x e^x ex

认为最主要的是 对于 e x e^x ex,随着x的不断上升,斜率在不断的增大。当我们在x上有一点微小的变化时,都会导致y上的变化值较大。能够将输出的数值拉开距离,比较好的区分开来。
还有一个优点是在bp网络中求梯度,和使用各种梯度下降法去优化参数的时候, e x e^x ex求导为本身。
在这里插入图片描述

在pytroch中,Softmax与交叉熵损失函数同时实现。

实现

def softmax(X):""":param X::return:"""# 对向量中的每一个求他 e^x的值X_exp = torch.exp(X)# 对其进行一阶求和partition = X_exp.sum(1, keepdim=True) # 对求出的值任然保持维度return X_exp / partition #这里利用了一个广播机制, 将所有的数都进行除法的运算def net(X):# -1return softmax(torch.matmul(X.reshape((-1, W.shape[0])), W) + b)

总结

如果模型输出为非互斥类别,且可以同时选择多个类别,则采用Sigmoid函数计算该网络的原始输出值。如果模型输出为互斥类别,且只能选择一个类别,则采用Softmax函数计算该网络的原始输出值。


参考:
[1] https://zhuanlan.zhihu.com/p/105722023
[2] http://www.noobyard.com/article/p-voihadih-qc.html
[3] https://www.bilibili.com/video/BV1K64y1Q7wu?from=search&seid=9124491475035014829&spm_id_from=333.337.0.0
[4] https://blog.csdn.net/bitcarmanlee/article/details/82320853


http://chatgpt.dhexx.cn/article/wWJp0E2H.shtml

相关文章

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)是一种基于群体的随机优化技术。与其它基于群体的进化算法相比,它们均初始化为一组随机解,通过迭代搜寻最优解。不同的是:进化计算遵循…

PSO粒子群优化算法

1算法简介 粒子群优化算法,在1995年由Eberhart博士和kennedy博士提出,源于对鸟群捕食的行为研究。该算法最初是受到飞鸟集群活动的规律性启发,进而利用群体智能建立的一个简化模型。算法流程图如下所示。 核心公式( 更新速度和位…

PSO 粒子群优化算法

粒子群优化算法(PSO) Particle Swarm Optimization 1、 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由Eberhart 博士和kennedy 博士提出,源于对鸟群捕食的行为研究 。该算法最初是受到…

粒子群优化算法及MATLAB实现

上一篇博客是关于蚁群优化算法的,有兴趣的可以看下 https://blog.csdn.net/HuangChen666/article/details/115913181 1. 粒子群优化算法概述 2. 粒子群优化算法求解 2.1 连续解空间问题 2.2 构成要素 2.3 算法过程描述 2.4 粒子速度更新公式 …

粒子群优化算法(PSO)python实践

1 算法介绍和原理 1.1 算法原理 强烈推荐知乎大佬的这篇文章:粒子群优化算法(Particle Swarm Optimization, PSO)的详细解读 - 知乎 (zhihu.com)。该文章详细介绍了算法的原理、算法流程、参数解释和一些Tips,这里就不过多赘述了。 粒子群优化算法&am…

粒子群优化算法python实现

文章目录 前言一、粒子群优化算法是什么?二、算法流程三、算法的python实现实验结果 前言 首先简单介绍粒子群优化算法,粒子群优化算法的python实现(含代码) 一、粒子群优化算法是什么? 粒子群优化算法(Particle Swa…

【优化算法】粒子群优化算法简介

这里是引用 文章目录 1. 简介2. 涌现复杂性3. 鸟群智能建模4. 代码实现5. Conclusion参考资料 1. 简介 人工智能是计算机科学的一个大领域,它模拟计算机中的智能行为。在此基础上,提出了一种基于元启发式( metaheuristic)的粒子群…