当前位置: 首页 > article >正文

逻辑回归与Softmax

Softmax函数是一种将一个含任意实数的K维向量转化为另一个K维向量的函数,这个输出向量的每个元素都在(0, 1)区间内,并且所有元素之和等于1。
因此,它可以被看作是某种概率分布,常用于多分类问题中作为输出层的激活函数。这里我们以拓展逻辑回归解决多分类的角度对Softmax函数进行理解:

假设共有 C C C 个类别,模型对输入 x \mathbf{x} x 输出 C C C个类别的得分,
则属于类别 c c c 的后验概率为:
P ( y = c ∣ x ) = e β c ⊤ x ∑ j = 1 C e β j ⊤ x P(y = c \mid \mathbf{x}) = \frac{e^{\beta_c^\top \mathbf{x}}}{\sum_{j=1}^{C} e^{\beta_j^\top \mathbf{x}}} P(y=cx)=j=1Ceβjxeβcx
其中 β c \beta_c βc 是第 c c c 类对应的参数向量, j j j 是求和的类别索引, x \mathbf{x} x 是输入特征向量。

为什么使用指数函数 e e e?

Softmax 函数的形式为:
σ ( z ) i = e z i ∑ j = 1 C e z j , \sigma(\mathbf{z})_i = \frac{e^{z_i}}{\sum_{j=1}^{C} e^{z_j}}, σ(z)i=j=1Cezjezi,
其中每个得分 z i z_i zi 的形式为:
z i = β i ⊤ x , z_i = \beta_i^\top \mathbf{x}, zi=βix,
表示输入特征向量 x \mathbf{x} x 与第 i i i 类对应的参数向量 β i \beta_i βi 的线性组合。

使用指数函数 e z i e^{z_i} ezi 有以下几点重要理由:

  • 非负性:对于任意实数 z i z_i zi,都有 e z i > 0 e^{z_i} > 0 ezi>0。这保证了 Softmax 输出的概率值始终为正数。

  • 保持序关系:指数函数是严格单调递增函数。若 z i > z j z_i > z_j zi>zj,则 e z i > e z j e^{z_i} > e^{z_j} ezi>ezj,从而保留了原始得分之间的相对大小关系。

  • 便于求导:指数函数具有良好的可导性,且其导数形式简单 ( d d x e x = e x ) \left(\frac{d}{dx}e^x = e^x\right) (dxdex=ex),这对基于梯度下降等优化算法非常友好。

  • 映射到概率分布:通过除以总和 ∑ j = 1 C e z j \sum_{j=1}^{C} e^{z_j} j=1Cezj,使得所有类别的输出加起来等于 1,形成一个合法的概率分布。

下面的示意图清晰地表示 Softmax 函数的原理和计算过程。以下是一个完整的推导流程示例,包括线性回归输出、Softmax 激活函数的应用,以及最终的分类结果。

( 0.5 0 0.7 0.5 0.5 0.9 0.1 0.1 0.6 0.6 0.1 0 ) X × ( − 0.15 0.95 2.2 ) β = ( 0.5 ⋅ ( − 0.15 ) + 0 ⋅ 0.95 + 0.7 ⋅ 2.2 0.5 ⋅ ( − 0.15 ) + 0.5 ⋅ 0.95 + 0.9 ⋅ 2.2 0.1 ⋅ ( − 0.15 ) + 0.1 ⋅ 0.95 + 0.6 ⋅ 2.2 0.6 ⋅ ( − 0.15 ) + 0.1 ⋅ 0.95 + 0 ⋅ 2.2 ) = ( 1.385 2.43 1.37 − 0.095 ) 线性输出  z \overset{X}{\begin{pmatrix} 0.5 & 0 & 0.7 \\ 0.5 & 0.5 & 0.9 \\ 0.1 & 0.1 & 0.6 \\ 0.6 & 0.1 & 0 \end{pmatrix}} \times \overset{\bm{\beta}}{ \begin{pmatrix} -0.15 \\ 0.95 \\ 2.2 \end{pmatrix}} =\begin{pmatrix} 0.5 \cdot (-0.15) + 0 \cdot 0.95 + 0.7 \cdot 2.2 \\ 0.5 \cdot (-0.15) + 0.5 \cdot 0.95 + 0.9 \cdot 2.2 \\ 0.1 \cdot (-0.15) + 0.1 \cdot 0.95 + 0.6 \cdot 2.2 \\ 0.6 \cdot (-0.15) + 0.1 \cdot 0.95 + 0 \cdot 2.2 \end{pmatrix}=\overset{\text{线性输出 } \mathbf{z}}{ \begin{pmatrix} 1.385 \\ 2.43 \\ 1.37 \\ -0.095 \end{pmatrix}}

相关文章:

逻辑回归与Softmax

Softmax函数是一种将一个含任意实数的K维向量转化为另一个K维向量的函数,这个输出向量的每个元素都在(0, 1)区间内,并且所有元素之和等于1。 因此,它可以被看作是某种概率分布,常用于多分类问题中作为输出层的激活函数。这里我们以拓展逻辑回归解决多分类的角度对Softmax函…...

vscode .husky/pre-commit: line 4: npx: command not found

目录 1. 修复 npx 路径问题(90% 的解决方案)2. 显式加载环境变量(nvm 用户必选)3. 修复全局 PATH 配置4. 重装 Husky 与钩子5. 使用 HUSKY_DEBUG 调试执行流程 🔧 核心解决方法(按优先级排序) …...

光电耦合器:数字时代的隐形守护者

在数字化、自动化高速发展的今天,光电耦合器正以一种低调却不可或缺的方式,悄然改变着我们的生活。它不仅是电子电路中的“安全卫士”,更是连接信号世界的“桥梁”,凭借出色的电气隔离能力,为各类设备提供稳定可靠的信…...

FPGA没有使用的IO悬空对漏电流有没有影响

结论: 1.在FPGA中,没有使用的IO悬空确实是可能对漏电流和功耗产生一定的影响。 2.这种影响特别是在低功耗设计中或者电流敏感的应用中需要注意。 问题一:未连接 IO(Floating IO)会不会产生漏电流? 1.会有影…...

11. vue pinia 和react redux、jotai对比

对比 Vue 的 Pinia,和 React 的 Redux、Jotai,分中英文简要介绍、特性、底层原理、使用场景。 简单介绍 1.1 Pinia(Vue) • 英文:Pinia is the official state management library for Vue 3, designed to be simple…...

手机如何防止ip关联?3种低成本方案

在当今数字化时代,手机已成为人们日常生活中不可或缺的工具,无论是社交、购物、支付还是工作,都离不开手机。然而,随着网络技术的不断发展,网络安全问题也日益突出,其中IP关联问题尤为常见。那么&#xff0…...

Pandas和Django的示例Demo

以下是一个结合Pandas和Django的示例Demo,展示如何在Django项目中读取、处理和展示Pandas数据。 Pandas和Django的示例Demo 前置条件: 安装python 基础设置 确保已安装Django和Pandas: pip install django pandasInstalling collected p…...

护网行动面试试题(1)

文章目录 1、描述外网打点的流程?2、举几个 FOFA 在外网打点过程中的使用小技巧?3、如何识别 CDN?4、判断出靶标的 CMS,对外网打点有什么意义?5、Apache Log4j2 的漏洞原理是什么?6、如何判断靶标站点是 wi…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信拓扑与操作 BR/EDR(经典蓝牙)和 BLE

目录 1. BR/EDR(经典蓝牙)网络结构微微网(Piconet)散射网(Scatternet)蓝牙 BR/EDR 拓扑结构示意图 2. BLE(低功耗蓝牙)网络结构广播器与观察者(Broadcaster and Observer…...

航道无人机巡检系统

随着长江干线、京杭运河等航道智慧化升级提速,传统人工巡检模式已难以满足高频次、大范围、高精度的航道管理需求。无人机凭借其灵活机动、多源感知、高效覆盖等优势,正成为航道巡检的“空中卫士”。本文将结合多地成功案例,从选型标准、技术…...

【JVM】Java虚拟机(一)——内存结构

目录 一、简介 二、程序计数器 三、虚拟机栈 栈帧结构: 特点: 四、本地方法栈 特点: 五、堆 堆结构: 特点: 对象分配过程: 六、方法区 方法区结构: 特点: 运行时常量池…...

从微积分到集合论(1630-1910)(历史简介)——第4章——现代积分理论的起源(Thomas Hawkins)

第 4 章 现代积分理论的起源 (The Origins of Modern Theories of Integration) Thomas Hawkins 目录 4.1 引言(Introduction) 4.2 Fourier分析与任意函数(Fourier analysis and arbitrary functions) 4.3 对Fourier问题的回应(Responses to Fourier)(1821-1854)…...

《Linux运维总结:宝德服务器RAID开启(方式一)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:Linux运维实战总结 一、背景信息 说明:从客户那里退回来的一台宝德服务器,硬盘不见了,现在需要用两个2T的硬盘…...

NY118NY120美光固态闪存NY124NY129

NY118NY120美光固态闪存NY124NY129 美光NY系列固态闪存深度解析:技术、性能与行业洞察 技术架构与核心创新 美光NY系列(包括NY118、NY120、NY124、NY129等型号)作为企业级存储解决方案的代表作,延续了品牌在3D NAND技术上的深厚…...

Odoo 19 路线图(新功能)

Odoo 19 路线图(新功能) Odoo 19 路线图是Odoo官方针对下一版本的发布计划,将在自动化、合规性、用户体验、碳排放报告及本地化等领域推出超过16项新功能。本路线图详细阐述了Odoo 19如何在过往版本基础上进一步提升,助力企业优化销售、财务、运营及客户…...

基于NXP例程学习CAN UDS刷写流程

文章目录 前言1.概述1.1 诊断报文 2.协议数据单元(N_PDU)2.1 寻址信息(N_AI)2.1.1 物理寻址2.1.2 功能寻址2.1.3 常规寻址(Normal addressing)2.1.4 常规固定寻址(Normal fixed addressing)2.1.5 扩展寻址&…...

RNN循环网络:给AI装上“记忆“(superior哥AI系列第5期)

🔄 RNN循环网络:给AI装上"记忆"(superior哥AI系列第5期) 嘿!小伙伴们,又见面啦!👋 上期我们学会了让AI"看懂"图片,今天要给AI装上一个更酷的技能——…...

Python训练第四十三天

DAY 43 复习日 作业: kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化 进阶:并拆分成多个文件 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms, models …...

基于有效集MPC控制算法的直线同步电机simulink建模与仿真,MPC使用S函数实现

目录 1.课题概述 2.系统仿真结果 3.核心程序 4.系统仿真参数 5.系统原理简介 6.参考文献 7.完整工程文件 1.课题概述 有效集算法通过迭代地选择一组 "有效" 约束,将约束优化问题转化为一系列无约束或等式约束优化问题。直线同步电机 (Linear Synch…...

让敏感数据在流转与存储中始终守护在安全范围

在企业数字化运营浪潮中,企业内部应用服务器面临着非法访问、数据泄露等风险,如何全面守护应用服务器文件安全,让敏感数据在流转与存储中始终守护在安全范围? 服务器白名单让数据流转安全又高效 天 锐 蓝盾的服务器白名单功能既…...

【Linux】find 命令详解及使用示例:递归查找文件和目录

【Linux】find 命令详解及使用示例:递归查找文件和目录 引言 find 是 Linux/Unix 系统中强大的文件搜索工具,用于在目录层次结构中递归查找文件和目录。它提供了丰富的搜索条件和灵活的操作选项,可以满足从简单到复杂的各种文件查找需求。 …...

Java转Go日记(五十九):参数验证

1. 结构体验证 用gin框架的数据验证,可以不用解析数据,减少if else,会简洁许多。 package mainimport ("fmt""time""github.com/gin-gonic/gin" )//Person .. type Person struct {//不能为空并且大于10Age …...

机器学习与深度学习14-集成学习

目录 前文回顾1.集成学习的定义2.集成学习中的多样性3.集成学习中的Bagging和Boosting4.集成学习中常见的基本算法5.什么是随机森林6.AdaBoost算法的工作原理7.如何选择集成学习中的基础学习器或弱分类器8.集成学习中常见的组合策略9.集成学习中袋外误差和交叉验证的作用10.集成…...

MySQL数据库表设计与索引优化终极指南

MySQL数据库表设计与索引优化终极指南 标签:MySQL 数据库设计 索引优化 性能调优 一、前言:为什么表设计和索引如此重要? 在数据库系统中,良好的表设计和高效的索引策略是保证系统性能的关键。据统计,约70%的数据库性…...

【论文阅读笔记】万花筒:用于异构多智能体强化学习的可学习掩码

摘要 在多智能体强化学习(MARL)中,通常采用参数共享来提高样本效率。然而,全参数共享的流行方法通常会导致智能体之间的策略同质,这可能会限制从策略多样性中获得的性能优势。为了解决这一关键限制,我们提出…...

负载均衡LB》》HAproxy

Ubuntu 22.04 安装HA-proxy 官网 资料 # 更新系统包列表: sudo apt update # 安装 HAproxy sudo apt install haproxy -y # 验证安装 haproxy -v # 如下图配置 Haproxy 在这里插入代码片》》》配置完之后 重启 Haproxy sudo systemctl restart haproxy 补充几…...

Vue 中组件命名与引用

Vue 中组件命名与引用 前言 在 vue 项目中,我们会发现在代码中,import 组件 和 components 组件注册中得命名方式与组件引用时的命名方式不一样,这种现象是由组件名的大小写转换规则造成的。如下示例: 组件引入与注册&#xff…...

UE 5 和simulink联合仿真,如果先在UE5这一端结束Play,过一段时间以后**Unreal Engine 5** 中会出现显存不足错误

提问 UE5报错如图。解析原因 回答 你遇到的这个错误提示是: “Out of video memory trying to allocate a rendering resource. Make sure your video card has the minimum required memory, try lowering the resolution and/or closing other applications tha…...

在uni-app中如何从Options API迁移到Composition API?

uni-app 从 Options API 迁移到 Composition API 的详细指南 一、迁移前的准备 升级环境: 确保 HBuilderX 版本 ≥ 3.2.0项目 uni-app 版本 ≥ 3.0.0 了解 Composition API 基础: 响应式系统:ref、reactive生命周期钩子:onMount…...

Rust 控制流

文章目录 Rust 控制流if 表达式循环实现重复用 loop 重复代码从循环返回值循环标签用于区分多层循环while 条件循环用 for 循环遍历集合 Rust 控制流 在大多数编程语言中,根据条件是否为真来运行某些代码,以及在条件为真时重复运行某些代码,是…...