【漫话机器学习系列】146.Softmax 激活函数(Softmax Activation Function)
Softmax 激活函数详解
1. Softmax 函数概述
Softmax 函数(Softmax Activation Function)是一种常用于多分类任务的激活函数,广泛应用于机器学习和深度学习模型,特别是在神经网络的输出层。它的主要作用是将输入的多个实数值转换为 0 到 1 之间的概率分布,使得输出的所有数值之和等于 1,从而可以用作分类任务的概率预测。
Softmax 与 Sigmoid 函数类似,Sigmoid 适用于二分类任务,而 Softmax 适用于多分类任务。由于其能够标准化输入并强调最大值,Softmax 在处理多个类别的情况下比 Sigmoid 更加有效。
2. Softmax 公式
Softmax 公式如下所示:
其中:
-
表示第 i 类的输入值(logits)。
-
是指数运算,使得较大的输入值被放大。
-
分母部分
代表所有类别输入值的指数和,确保最终输出的归一化性质,使得所有类别的输出概率总和为 1。
3. Softmax 的数学特性
3.1 指数函数的作用
Softmax 使用指数函数(exponential function),这使得输入值之间的差异被放大。例如,假设输入的 logits 值较大,则其指数值会增长得更快,从而增加类别之间的区分度,使得最大类别的概率更接近 1,而其余类别趋向于 0。这种特性使得 Softmax 既能保持连续性,又能有效进行类别归一化。
3.2 归一化
Softmax 通过分母部分的归一化操作,确保所有类别的概率之和为 1。这一点非常重要,因为它将原始的数值映射为一个有效的概率分布,便于模型进行分类决策。
4. Softmax 的应用场景
Softmax 函数在深度学习的多个领域中都有广泛的应用,以下是几个常见的应用场景:
4.1 神经网络的分类任务
在深度学习模型(如 CNN、RNN)中,Softmax 常用于最后一层的输出单元,以计算每个类别的概率。例如,在图像分类任务(如 MNIST 数据集)中,Softmax 负责将模型输出的 logits 值转换为不同数字类别(0-9)的概率分布。
4.2 语言模型
在 NLP(自然语言处理)任务中,Softmax 在词汇预测、情感分析等任务中起到关键作用。例如,在 Transformer 和 BERT 这样的神经网络结构中,Softmax 主要用于计算注意力权重(attention weights)和词汇分布概率。
4.3 强化学习
在强化学习(Reinforcement Learning, RL)中,Softmax 可用于策略梯度方法(Policy Gradient Methods),将不同动作的 Q 值转换为概率分布,以决定下一步的动作选择。
5. Softmax 与 Hardmax 的区别
在分类任务中,Softmax 并不会直接选择最大值作为输出,而是将其转换为概率分布。相比之下,Hardmax 是直接选择最大值的类别:
-
Softmax 赋予每个类别一个概率值,使得输出更加平滑,适用于梯度下降优化。
-
Hardmax 直接取最大值类别的索引,可能会导致梯度消失,不适用于反向传播。
Softmax 之所以比 Hardmax 更常用,是因为 Softmax 在分类过程中提供了更细腻的概率预测,而不是直接选取最大值。
6. 结论
Softmax 作为一种重要的激活函数,广泛应用于神经网络的多分类任务中。它的指数特性可以放大数值之间的差异,使得类别之间的区分更加明显,同时归一化操作确保所有输出值形成一个有效的概率分布。在深度学习的多个领域,如计算机视觉、自然语言处理和强化学习等,Softmax 都是不可或缺的重要工具。
相关文章:
【漫话机器学习系列】146.Softmax 激活函数(Softmax Activation Function)
Softmax 激活函数详解 1. Softmax 函数概述 Softmax 函数(Softmax Activation Function)是一种常用于多分类任务的激活函数,广泛应用于机器学习和深度学习模型,特别是在神经网络的输出层。它的主要作用是将输入的多个实数值转换…...
解决:ModuleNotFoundError: No module named ‘_sqlite3‘
报错: from _sqlite3 import * ModuleNotFoundError: No module named _sqlite3安装sqlite3支持组件: sudo apt-get install libsqlite3-dev进入之前下载的python包下,重新编译和安装Python ./configure --enable-loadable-sqlite-extensions make &a…...
C++差分风暴:区间修改终极模板
目录 🔥 差分核心价值 🌟 一维差分模板 1. 核心思想 2. 代码实现 3. 动态图示 📦 二维差分模板 1. 核心公式 2. 代码实现 3. 二维修改示意图 🚨 六大避坑指南 💡 复杂度对比 🌈 LeetCode实战 &…...
easypoi导入Excel兼容日期和字符串格式的日期和时间
问题场景 在使用easypoi导入Excel时,涉及到的常用日期会有yyyy-MM-dd HH:mm:ss、yyyy-MM-dd和HH:mm:ss,但是Excel上面的格式可不止这些,用户总会输入一些其他格式,如 如果在定义verify时用下面这种格式定义,那么总会…...
《保险科技》
自己在保险行业工作很多年,只是接触了一些数据的内容,对于保险业务的知识了解的很少,想通过这本书补充一下,但是发现这本书就是一些知识的拼接。 先将保险的历史,后讲保险的定义,然后就是吹嘘保险行业和互联…...
QT编程之HTTP服务端与客户端技术
一、HTTP 服务器实现方案 QtWebApp 集成 将QtWebApp源码的 httpserver 目录导入项目,并在 .pro 文件中添加 include ($$PWD/httpserver/httpserver.pri)。配置 WebApp.ini 文件定义服务参数(IP、端口、线程池等),通过 HttpL…...
每日一题--计算机网络
一、基础概念类问题 1. TCP 和 UDP 的区别是什么? 回答示例: TCP:面向连接、可靠传输(通过三次握手建立连接,丢包重传)、保证数据顺序(如文件传输、网页访问)。 UDP:无…...
IIS 服务器日志和性能监控
Internet Information Services (IIS) 是 Microsoft 提供的一款功能强大、灵活且可扩展的 Web 服务器,用于托管网站、服务和应用程序。IIS 支持 HTTP、HTTPS、FTP、SMTP 和更多用于提供网页的协议,因此广泛用于企业环境。 IIS 的…...
Unity学习之Shader总结(一)
一、Lesson1 1、渲染流水线 (1)应用阶段 模型->模型处理(应用阶段)–>输入结构 应用阶段主要操作:粗粒度剔除、进行渲染设置、准备基本数据、输出到几何阶段 (2)几何阶段 输入结构-&…...
java,poi,提取ppt文件中的文字内容
注意,不涉及图片处理。 先上pom依赖: <!-- 处理PPTX文件 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version></dependency><!--…...
matlab R2024b下载教程及安装教程(附安装包)
文章目录 前言一、matlab R2024b 安装包下载二、matlab R2024b安装教程 前言 为帮助大家顺利安装该版本软件,特准备matlab R2024b下载教程及安装教程,它将以简洁明了的步骤,指导你轻松完成安装,开启 MATLAB R2024 的强大功能之旅…...
设计模式之外观模式:原理、实现与应用
引言 外观模式(Facade Pattern)是一种结构型设计模式,它通过提供一个统一的接口来简化复杂系统的使用。外观模式隐藏了系统的复杂性,使得客户端可以通过一个简单的接口与系统交互。本文将深入探讨外观模式的原理、实现方式以及实…...
移远QuecPython模组中的看门狗技术:如何提升设备可靠性
概述 对蜂窝通信模组而言,看门狗(Watchdog)是一种硬件或软件的监控机制,用于监测模组的运行状态。当模组因为外界干扰或程序错误陷入死循环时,看门狗会自动触发模组重启,从而恢复模组的运行状态。 对看门…...
汽车感性负载-智能高边钳位能量计算
随着汽车电子技术的发展,新的电子电气架构下,越来越多的执行部件在车身出现,比如电磁阀、风机、水泵、油泵、雨刮继电器等常用的执行器, 它们一般都表现为感性特点。驱动这些负载的最简单和最常见的方法是将它们连接到高边侧开关(…...
Kubernetes之ETCD
ETCD 是 Kubernetes 的核心组件之一,它是一个分布式键值对存储数据库,专为高可用性和一致性设计。它在 Kubernetes 中的主要作用是存储所有集群数据,包括配置数据和状态信息。ETCD 是 Kubernetes 的“大脑”,其稳定性对整个集群至…...
通过Geopandas进行地理空间数据可视化
目录 引言 安装与导入 数据加载与探索 数据预处理 基本地图可视化 添加其他数据到地图上 空间分析与查询 地图叠加与分组 空间缓冲区 交互式地图可视化 实际应用案例 城市规划 环境监测 结论 引言 在数据科学领域,地理空间数据可视化扮演着至关重要的角色。它不…...
堆(heap)
堆?对于初学者来说,或许是一个陌生十足的概念。 但!堆不可怕。 什么是堆? 学术上,常常是这样说的(一个完全二叉树)。 没毛病,要想更好的理解堆(heap),确实需要好好掌…...
Leetcode-回溯-组合型
22. 括号生成 - 力扣(LeetCode) 这题并没有才有恢复现场的做法 而是直接覆盖 题目核心是看穿本质 在代码执行过程中左括号必须大于等于右括号 以及回溯最底层的递归条件是递归长度已经达到2n 还有做括号要小于n 又因为i左右 因此右等于i-左 ope…...
Modbus通信协议基础知识总结
1. 数据类型与存储区分类 Modbus协议将数据分为四类存储区,通过存储区代号区分: 输出线圈(0x):可读写,对应二进制开关量(如继电器状态),地址范围000001-065536ÿ…...
python pip 最最开始新手教程/pip安装jupyter
pip 安装 直接安排了python即安装了pip,一般找pip的是安装了python之后用不了的,出现问题的,我也是因为这个所以写了这篇文章。 一、找不到pip,在C盘的cmd 输入pip -- version显示没有的是因为pip不能直接使用,需要额外配置环境变量 在系统…...
MATLAB 控制系统设计与仿真 - 28
MATLAB状态空间控制系统分析 - 极点配置 就受控系统的控制律的设计而言,由状态反馈极点配置和输出反馈极点配置。 状态反馈极点配置问题就是:通过状态反馈矩阵K的选取,使闭环系统的极点,即(A-BK)的特征值恰好处于所希望的一组给定闭环极点的位置。 另外,线性定常系统可…...
[leetcode] 面试经典 150 题——篇3:滑动窗口
[leetcode] 面试经典 150 题——篇3:滑动窗口 方法概述基本原理适用场景示例说明 1. [中等] 长度最小的子数组(leetcode 209题)题目描述解题思路python代码 2. [中等] 无重复字符的最长子串(leetcode 5题)题目描述解题思路python代码 方法概述 滑动窗口是一种常用的…...
华为云虚拟化技术
华为云底层的虚拟化技术是一种将物理资源(如服务器、存储设备和网络)抽象成虚拟资源的技术。通过这种技术,用户可以将物理资源划分为多个虚拟资源,从而提高资源利用率和灵活性1。 华为云底层虚拟化的定义和作用 华为云底层…...
在Pycharm配置conda虚拟环境的Python解释器
〇、前言 今天在配置python解释器时遇到了这样的问题 经过一下午自行摸索、上网搜寻后,终于找到的解决的方案,遂将该方法简要的记录下来,以备后用,并希望能帮助到有同样问题或需求的朋友:) 我所使用的软件的版本如下,假…...
【AI】在AWS AI芯片服务上部署运行Qwen 2.5模型
推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 准备选项 1:在 Amazon EC2 Inf2 上部署 TGI选项 2:在 SageMaker 上部署 TGI清理Qwen 2.5 多语言大型语言模型(LLMs) 是一系列预先…...
如何用日事清做研发目标、需求、规划、迭代、Bug、效能、复盘、绩效一站式管理
近年来,受监管环境趋严、盈利模式转型、市场竞争加剧等影响,互联网行业逐步进入深度变革与持续创新阶段。在此过程中,项目进度延期、需求频繁变更、开发流程混乱等痛点问题频发,导致部分互联网企业创新升级的步伐停滞不前。 企业…...
手搓智能音箱——语音识别及调用大模型回应
一、代码概述 此 Python 代码实现了一个语音交互系统,主要功能为监听唤醒词,在唤醒后接收用户语音问题,利用百度语音识别将语音转换为文本,再调用 DeepSeek API 获取智能回复,最后使用文本转语音功能将回复朗读出来。 …...
Docker安装mysql——Linux系统
拉取mysql镜像 docker pull mysql 查看镜像 docker images 运行镜像(这一步的作用:数据持久化,通过挂载卷将日志、数据和配置文件存储在主机上,避免容器删除导致数据丢失) docker run -p 3306:3306 --name mysql …...
Redis 面试思路
分布式redis面试思路俩点 高性能 高并发 高性能 1.存储在内存 所以速度快 2. 线程模型 io多路复用 监控多个客户端socket 放入队列里面 只是文件分发机制是单线程的 处理队列中的数据 根据不同类型 分发给不同处理器 后面处理的过程 也是多线程的 3. 内存回收机制 定期懒惰 …...
Oracle GoldenGate 全面解析
Oracle GoldenGate 全面解析 Oracle GoldenGate 是一种实时数据集成和复制解决方案,广泛应用于数据同步、数据库迁移、高可用性和灾难恢复等场景。以下将详细解答您提出的关于 Oracle GoldenGate 的一系列问题。 1. Oracle GoldenGate 的架构组成及其核心组件的作用 架构组成…...
【QT:控件】
目录 控件状态:编辑 geometry : window frame windowlcon: qrc机制 qrc的使用方式: window opacity cursor font: ToolTip focusPolicy: styleSheet: 按钮类控件: PushButton: 给按钮添加图标: 给按钮添加快捷键…...
掌握xtquant:实时行情订阅与数据处理的实战指南
掌握xtquant:实时行情订阅与数据处理的实战指南 🚀量化软件开通 🚀量化实战教程 在量化交易领域,实时行情的获取和处理是构建有效交易策略的关键。本文将深入探讨如何使用xtquant库进行实时行情的订阅与数据处理,帮…...
解决 Nginx 访问 /root/下 403 Forbidden 问题
文章目录 解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Nginx 配置 可能的原因/root 目录权限问题SELinux 限制 解决方案方案 1:移动文件到 /data/或 /var/www/(推荐方案)方案 2:修改 /root 目录权限(不推荐)方案…...
免费实用工具,wps/office/永中通吃!
很多小伙伴在使用办公套件的过程中,往往会选择安装一些插件来提高工作效率。在众多的插件中,Excel和Word的插件非常常见,能够帮助用户进行数据分析、文档处理、格式美化等操作。然而,支持PPT(PowerPoint)的…...
Bash环境定制git分支提示符暨JDK版本切换脚本
一、在Bash提示符中显示Git分支 实现方法 编辑Bash配置文件 打开 ~/.bashrc 文件,添加以下代码: # 显示当前 Git 分支 parse_git_branch() {git branch 2>/dev/null | sed -e /^[^*]/d -e s/* \(.*\)/(\1)/ } export PS1\[\033[01;35m\]$PPX\[\033[0…...
使用fasterwhisper加速
背景 最近申请到一张8卡的gpu 机器用来验证音频转文本,发现whisper的处理速度很慢,于是有了下面的几种验证方法 配置信息 8张A30 第一次尝试 使用whisper对一个95M 的mp4文件进行解码 import time import whisperdef transcribe_audio(audio_path…...
IntelliJ IDEA 调试技巧指南
在日常开发中,调试是不可或缺的一部分。掌握调试工具的使用可以让我们更高效地定位和解决问题。本文将介绍一些在 IntelliJ IDEA 中常用的调试技巧,希望能帮助你在开发过程中更顺畅地解决问题。 1. 方法断点:快速定位实现类 方法断点可以帮…...
蓝桥杯Python赛道备赛——Day5:算术(一)(数学问题)
笔者计划用两期博客对蓝桥杯中所涉及的算术(数学问题)进行解释,本期博客包括:GCD(最大公约数)、LCM(最小公倍数)、质数判断、埃氏筛法、线性筛法(欧拉筛)和质…...
Android的消息机制
Android的消息机制-从入门到精通 前言Android消息机制概述Android 的消息机制分析ThreadLocal 的工作原理消息队列的工作原理Looper的工作原理Handler的工作原理 主线程的消息循环 前言 作为开发者,提及Android的消息机制,必然绕不开Handler,…...
Three.js 阴影 (Shadow) 知识点整理
阴影主要由 castShadow 和 receiveShadow 控制,并通过不同类型的光源 (DirectionalLight、SpotLight、PointLight) 生成。我们将系统地整理与阴影相关的知识点。 1️⃣ 基础概念 castShadow 🎭:物体是否投射阴影。receiveShadow Ἵ…...
从C语言开始的C++编程生活(1)
前言 本系列文章承接C语言的学习,需要有C语言的基础才能学会哦。 第1篇主要讲的是有关于C的命名空间、输入和输出。 C才起步,都很简单呢! 目录 前言 命名空间namespace 基本语法 作用 使用命名空间 域作用限定符 :: 基本语法 using n…...
【数据库】如何用索引优化查询性能
引言 在数据库查询中,索引是提升性能的关键工具。合理使用索引可以显著减少数据扫描量,加快查询速度。然而,索引的使用也需要谨慎,错误的索引策略可能导致性能下降甚至系统崩溃。本文将深入探讨如何通过索引优化查询性能…...
【Go每日一练】随机密码生成器
👻创作者:丶重明 👻创作时间:2025年3月17日 👻擅长领域:运维 目录 1.😶🌫️题目:随机密码生成器2.😶🌫️密码生成可用资源3.😶&…...
【QA】模板方法模式在Qt中有哪些应用?
在 Qt 框架中,模板方法模式(Template Method Pattern)被广泛应用于框架的设计中,通过定义算法骨架并允许子类在不改变结构的情况下重写部分步骤。以下是 Qt 中典型的应用场景及示例: 1. 事件处理(Event Ha…...
VSTO(C#)Excel开发13:实现定时器
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
Vue:单文件组件
Vue:单文件组件 1、 什么是单文件组件? 在传统的Vue开发里,我们接触的是非单文件组件,它们通常被定义在同一个HTML文件中,随着项目规模的扩大,代码会变得杂乱无章,维护起来极为困难。而单文件…...
网络编程---创建客户端和服务端以及协议包
一,创建客户端和服务端的思维导图 首先我们要知道客户端和服务端在网络中进行通信是依靠IP地址和端口号的,所以第一步就是创建一个套接字存储ip和port。通过套接字建立连接后通过read,write函数实现两者之间的交流(套接字的描述符…...
云安全相关博客阅读(四)
How we built Pingora, the proxy that connects Cloudflare to the Internet 基于 Rust 构建 Pingora,作为 Nginx 的替代方案; Nginx 作为常用代理服务,广泛应用于 CDN、WAF、Stream、Tunnel 等场景,是基础网络设施 然而&…...
靶场(十三)---小白心得思路分享---Levram
启程: 老样子开扫端口,22端口自动忽略,看到8000端口搭载着Gerapy服务 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 256 b9:bc:8f:01:3f:85:5d:f9…...
高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
如果有遗漏,评论区告诉我进行补充 面试官: Eureka是什么? 我回答: 在Java高级面试中,关于Eureka的讨论通常会涵盖其基本概念、组件与架构、工作原理、高级特性以及与其他服务发现工具的比较等多个方面。以下是结合提供的内容对Eureka进行的详细解析和…...