【大白话 AI 答疑】第9篇 深入浅出:sigmoid函数公式设计原理——为何是$e^{-x}$而非$e^x$

【大白话 AI 答疑】第9篇 深入浅出:sigmoid函数公式设计原理------为何是e−xe^{-x}e−x而非exe^xex

在神经网络的激活函数家族中,sigmoid函数是当之无愧的"元老级"成员。它凭借输出值域稳定在(0,1)(0,1)(0,1)的特性,成为二分类任务中概率预测的经典工具。很多初学者会疑惑:sigmoid函数为什么是σ(x)=11+e−x\sigma(x)=\frac{1}{1+e^{-x}}σ(x)=1+e−x1这个形式?为什么偏偏选用e−xe^{-x}e−x,而不是更直观的exe^xex? 本文从数学本质和神经网络任务需求出发,拆解这个公式的设计逻辑。

一、 sigmoid函数的核心目标:将任意输入映射为(0,1)区间的概率值

在二分类任务中,我们需要一个函数满足两个核心要求:

  1. 输入无界 :能接收任意实数输入(x∈(−∞,+∞)x\in(-\infty,+\infty)x∈(−∞,+∞)),适配神经网络线性层的输出范围;
  2. 输出有界 :输出严格落在(0,1)(0,1)(0,1)之间,可直接解释为"预测为正类的概率"。

指数函数y=ety=e^ty=et的特性恰好能实现这个目标------它的值域是(0,+∞)(0,+\infty)(0,+∞),通过分母叠加常数的方式,就能把输出压缩到(0,1)(0,1)(0,1)区间。

由此,我们可以先确定sigmoid函数的基础框架
σ(x)=11+f(x)\sigma(x)=\frac{1}{1 + f(x)}σ(x)=1+f(x)1

其中f(x)f(x)f(x)需要满足:值域为(0,+∞)(0,+\infty)(0,+∞) ,这样分母1+f(x)1+f(x)1+f(x)的范围就是(1,+∞)(1,+\infty)(1,+∞),最终11+f(x)\frac{1}{1+f(x)}1+f(x)1的输出才会落在(0,1)(0,1)(0,1)。

二、 为什么选择f(x)=e−xf(x)=e^{-x}f(x)=e−x?从单调性和任务逻辑说起

满足"值域为(0,+∞)(0,+\infty)(0,+∞)"的函数有很多,比如x2x^2x2(x≠0x\neq0x=0)、exe^xex、e−xe^{-x}e−x等。sigmoid函数最终选择f(x)=e−xf(x)=e^{-x}f(x)=e−x,核心是为了满足单调递增的特性,这和二分类任务的逻辑强绑定。

1. 标准设计:f(x)=e−xf(x)=e^{-x}f(x)=e−x,实现单调递增的概率映射

将f(x)=e−xf(x)=e^{-x}f(x)=e−x代入基础框架,得到标准sigmoid公式:
σ(x)=11+e−x\sigma(x)=\frac{1}{1+e^{-x}}σ(x)=1+e−x1

我们分三种输入情况分析函数行为:

xxx的取值趋势 e−xe^{-x}e−x的变化 分母1+e−x1+e^{-x}1+e−x的变化 σ(x)\sigma(x)σ(x)的输出 任务逻辑匹配度
x→+∞x\to+\inftyx→+∞ e−x→0e^{-x}\to0e−x→0 1+e−x→11+e^{-x}\to11+e−x→1 σ(x)→1\sigma(x)\to1σ(x)→1 输入越大,正类概率越接近1
x=0x=0x=0 e−0=1e^{-0}=1e−0=1 1+e−0=21+e^{-0}=21+e−0=2 σ(x)=0.5\sigma(x)=0.5σ(x)=0.5 输入为0时,正/负类概率相等
x→−∞x\to-\inftyx→−∞ e−x→+∞e^{-x}\to+\inftye−x→+∞ 1+e−x→+∞1+e^{-x}\to+\infty1+e−x→+∞ σ(x)→0\sigma(x)\to0σ(x)→0 输入越小,正类概率越接近0

显然,当f(x)=e−xf(x)=e^{-x}f(x)=e−x时,sigmoid函数是单调递增 的------输入xxx越大,输出概率越高,完全契合"输入特征越强,预测为正类的概率越高"的二分类需求。

2. 反向尝试:若选择f(x)=exf(x)=e^xf(x)=ex,函数趋势完全颠倒

如果我们将f(x)f(x)f(x)替换为exe^xex,得到的函数是:
σ′(x)=11+ex\sigma'(x)=\frac{1}{1+e^{x}}σ′(x)=1+ex1

同样分析三种输入情况:

xxx的取值趋势 exe^{x}ex的变化 分母1+ex1+e^{x}1+ex的变化 σ′(x)\sigma'(x)σ′(x)的输出 任务逻辑匹配度
x→+∞x\to+\inftyx→+∞ ex→+∞e^{x}\to+\inftyex→+∞ 1+ex→+∞1+e^{x}\to+\infty1+ex→+∞ σ′(x)→0\sigma'(x)\to0σ′(x)→0 输入越大,正类概率反而越接近0
x=0x=0x=0 e0=1e^{0}=1e0=1 1+e0=21+e^{0}=21+e0=2 σ′(x)=0.5\sigma'(x)=0.5σ′(x)=0.5 输入为0时,概率仍为0.5
x→−∞x\to-\inftyx→−∞ ex→0e^{x}\to0ex→0 1+ex→11+e^{x}\to11+ex→1 σ′(x)→1\sigma'(x)\to1σ′(x)→1 输入越小,正类概率越接近1

此时函数变为单调递减 ,输出概率和输入xxx的大小完全负相关。这意味着:特征越强(xxx越大),预测为正类的概率反而越低,和二分类任务的直观逻辑完全相悖。

3. 补充:e−xe^{-x}e−x的等价变形------本质是exe^xex的另一种写法

我们可以对标准sigmoid公式做等价变换:
σ(x)=11+e−x=exex+1\sigma(x)=\frac{1}{1+e^{-x}} = \frac{e^x}{e^x+1}σ(x)=1+e−x1=ex+1ex

这个变形后的公式里,分子和分母都出现了exe^xex,但函数的单调性和值域没有任何变化。这说明:不是不能用exe^xex,而是需要搭配对应的分子分母结构,最终实现单调递增的效果 。而11+e−x\frac{1}{1+e^{-x}}1+e−x1是最简洁的写法。

三、 额外优势:e−xe^{-x}e−x让sigmoid的导数推导更简洁

除了匹配任务逻辑,选择e−xe^{-x}e−x还有一个隐藏优势------简化导数计算,这对神经网络的反向传播至关重要。

sigmoid函数的导数公式为:
σ′(x)=σ(x)⋅(1−σ(x))\sigma'(x)=\sigma(x)\cdot(1-\sigma(x))σ′(x)=σ(x)⋅(1−σ(x))

这个简洁的推导结果,核心依赖于指数函数ete^tet的导数特性:(et)′=et(e^t)'=e^t(et)′=et。

如果换成其他函数(比如x2x^2x2)作为f(x)f(x)f(x),导数公式会变得极其复杂,大幅增加反向传播的计算成本。

四、 总结

sigmoid函数的公式设计σ(x)=11+e−x\sigma(x)=\frac{1}{1+e^{-x}}σ(x)=1+e−x1,是数学特性任务需求共同作用的结果:

  1. 选用指数函数e−xe^{-x}e−x,是为了保证函数单调递增,让输出概率和输入特征强度正相关,匹配二分类任务逻辑;
  2. 分母1+e−x1+e^{-x}1+e−x的结构,将任意输入映射到(0,1)(0,1)(0,1)区间,赋予输出概率含义;
  3. e−xe^{-x}e−x的导数特性,简化了反向传播中的梯度计算。

至此,我们彻底搞懂了sigmoid函数公式的设计巧思------每一个符号的选择,都不是偶然。

写在最后

sigmoid函数虽然经典,但也存在梯度消失的问题。在深度学习的实际应用中,ReLU函数家族逐渐成为主流。但理解sigmoid的设计原理,是掌握神经网络激活函数设计思想的关键一步。


相关推荐
Java后端的Ai之路2 小时前
【AI编程工具】-CodeBuddy设置鼠标配合快捷键放大字体
人工智能·aigc·ai编程·codebuddy
龙腾AI白云2 小时前
DNN案例一步步构建深层神经网络(4)
人工智能
爱笑的眼睛112 小时前
超越翻转与裁剪:面向生产级AI的数据增强深度实践与多模态演进
java·人工智能·python·ai
百泰派克生物科技2 小时前
N端测序质谱分析
人工智能·科研·生物信息学分析·生化学
码上掘金2 小时前
基于YOLO与大语言模型的中医智能舌诊系统
人工智能·yolo·语言模型
大模型真好玩2 小时前
LangGraph1.0速通指南(二)—— LangGraph1.0 条件边、记忆、人在回路
人工智能·langchain·agent
*星星之火*2 小时前
【大白话 AI 答疑】第8篇 BERT与传统机器学习(如贝叶斯)在文本分类中的区别及效果对比
人工智能·机器学习·bert
安徽正LU o561-6o623o72 小时前
露-数显式脑立体定位仪 大动物定位仪 小动物脑定位仪
人工智能
andwhataboutit?2 小时前
pytorch-CycleGAN-and-pix2pix学习
人工智能·pytorch·学习