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

【深度学习|学习笔记】从背景→公式→性质→梯度→何时用哪一个→数值稳定性与常见坑方面描述sigmoid和softmax函数!(一)

【深度学习|学习笔记】从背景→公式→性质→梯度→何时用哪一个→数值稳定性与常见坑方面描述sigmoid和softmax函数!(一)

【深度学习|学习笔记】从背景→公式→性质→梯度→何时用哪一个→数值稳定性与常见坑方面描述sigmoid和softmax函数!(一)


文章目录


欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文。详细信息可扫描博文下方二维码 “学术会议小灵通”或参考学术信息专栏:https://blog.csdn.net/2401_89898861/article/details/148877490


1) 背景与直觉

  • sigmoid 用于“二分类/单神经元输出”的概率映射:把一个实数 logit 映到 (0,1)。
  • softmax 用于“多分类(互斥)/多神经元输出”的概率归一化:把一个 logits 向量 映到 K 维概率单纯形(各分量∈(0,1),且总和=1)。

从优化角度看:

  • 二分类逻辑回归 ←→ sigmoid + 二分类交叉熵。
  • 多分类逻辑回归 ←→ softmax + 多分类交叉熵。

2) 定义与公式

Sigmoid(logistic 函数)

定义:

在这里插入图片描述

性质:
  • 输出范围 (0,1);对称点在 x=0⇒σ(0)=0.5x=0 ⇒ σ(0)=0.5x=0σ(0)=0.5;单调递增、两端饱和。
导数:

在这里插入图片描述

导数:损失(带 logits 的二分类交叉熵)(数值稳定写法,标签 y∈0,1y∈{0,1}y0,1,logit = z)

在这里插入图片描述

Softmax

  • 对 K 维 logits 向量 z=(z1,…,zK)z=(z_1,…,z_K)z=(z1,,zK)
    在这里插入图片描述
性质:
  • 输出为概率分布,所有分量相加为 1。
  • 雅可比矩阵(梯度):

在这里插入图片描述

  • 损失(多分类交叉熵)(数值稳定写法,真类索引为 yyy):
    在这里插入图片描述
  • 常用 log-sum-exp trick:先减去 max(z)max(z)max(z) 再取 exp,避免上溢。
  • 联系: softmax 在 K=2 时退化为 sigmoid:
    在这里插入图片描述
  • 若固定 z2=0z_2=0z2=0p(y=1)=σ(z1)p(y=1)=σ(z_1)p(y=1)=σ(z1)

3) 使用场景与差异

场景该用谁说明
二分类(单输出概率)sigmoid每个样本一个 logit→概率;配 BCE(带 logits)。
多分类(互斥)softmaxK 个互斥类别;输出归一的 K 维概率;配交叉熵。
多标签(非互斥)多个 sigmoid每个类别独立是/否;不互斥;每类配一个 BCE。

阈值与决策:

  • Sigmoid:常用 0.5 或根据 ROC/PR 调整阈值。
  • Softmax:取 argmax(也可做温度缩放与阈值化)。

温度(Temperature):

在这里插入图片描述

  • τ→0:更“尖锐”,趋近 one-hot;
  • τ→∞:更“平滑”,接近均匀分布。

4) 数值稳定性与训练注意

永远对 logits 使用稳定接口:

  • PyTorchBCEWithLogitsLossCrossEntropyLoss(二者都直接吃 logits,内部自带 sigmoid/softmax + 稳定计算)。
  • 自己实现 softmax 时:先 z -= z.max(axis)np.exp(z)

饱和与梯度消失:

  • sigmoid 在 ∣x∣ 大时梯度 →0。深层网络里更偏向使用 ReLU 系列做隐藏层激活,仅在输出层用
    sigmoid/softmax。

类别不平衡:

  • 可用加权损失、focal loss 或重采样策略。

校准:

  • Softmax 概率有时过度自信,可用温度缩放(后处理)改善校准。

文章转载自:

http://0gk64mlz.ttnfc.cn
http://38ndvWeN.ttnfc.cn
http://B52NFdiW.ttnfc.cn
http://mdN6iYie.ttnfc.cn
http://jdusO4sZ.ttnfc.cn
http://KX4m2mJm.ttnfc.cn
http://91Vwj8rs.ttnfc.cn
http://ZQ34JGZ7.ttnfc.cn
http://MaEVNKGM.ttnfc.cn
http://GtTRlJV2.ttnfc.cn
http://4lFCb5PP.ttnfc.cn
http://8du8qlUC.ttnfc.cn
http://LHKdwGaK.ttnfc.cn
http://fAdKGCET.ttnfc.cn
http://HZvGJZp2.ttnfc.cn
http://hwTrKZsJ.ttnfc.cn
http://glwemh8F.ttnfc.cn
http://4PrPGzVs.ttnfc.cn
http://aZF2nnFA.ttnfc.cn
http://CTy3c37q.ttnfc.cn
http://1NGIW5OR.ttnfc.cn
http://BcQ5Hzag.ttnfc.cn
http://W9rEFbOG.ttnfc.cn
http://nS8AY6QB.ttnfc.cn
http://JShcEVZj.ttnfc.cn
http://KI7gGgtZ.ttnfc.cn
http://FomKfvZR.ttnfc.cn
http://gRxKq58m.ttnfc.cn
http://XYecC33Y.ttnfc.cn
http://uI8ecmvK.ttnfc.cn
http://www.dtcms.com/a/383014.html

相关文章:

  • C++宽度优先搜索算法:队列与优先级队列
  • 同步降压转换器原理
  • 人工智能训练师三级备考笔记
  • <基于深度学习的条纹图分析及其不确定性估计>-论文总结
  • 【愚公系列】《人工智能70年》020-语音识别的历史性突破(深度学习带来历史性突破)
  • 网络操作系统与分布式操作系统的区别
  • Spring Cloud Alibaba 实战:从 0 到 1 构建可监控的微服务体系
  • 分布式推理与量化部署
  • Kafka 实现从网络层到日志与位点的“全景拆解”
  • Python入门教程之赋值运算符
  • 机器学习系统设计:从需求分析到模型部署的完整项目流程
  • SpringMVC架构解析:从入门到精通(1)
  • Why Language Models Hallucinate 论文翻译
  • 从 WPF 到 Avalonia 的迁移系列实战篇5:Trigger、MultiTrigger、DataTrigger 的迁移
  • easyExcel动态应用案例
  • 目标计数论文阅读(2)Learning To Count Everything
  • 贪心算法应用:速率单调调度(RMS)问题详解
  • 【传奇开心果系列】基于Flet框架实现的用窗口管理器动态集中管理多窗口自定义组件模板特色和实现原理深度分析
  • [Android] 汉语大辞典3.2
  • 《嵌入式硬件(八):基于IMX6ULL的点灯操作》
  • css的基本知识
  • AOP 切面日志详细
  • 软件工程实践二:Spring Boot 知识回顾
  • 从美光暂停报价看存储市场博弈,2026年冲突加剧!
  • Bean.
  • Kafka 入门指南:从 0 到 1 构建你的 Kafka 知识基础入门体系
  • 从qwen3-next学习大模型前沿架构
  • 【Linux】深入Linux多线程架构与高性能编程
  • Python爬虫-爬取拉勾网招聘数据
  • Python|Pyppeteer解决Pyppeteer启动后,页面一直显示加载中,并显示转圈卡死的问题(37)