Python深度学习入门:Sigmoid、Tanh、ReLU与Softmax激活函数详解
本文系统梳理Python深度学习中的四种核心激活函数:Sigmoid、Tanh、ReLU和SoftMax。通过数学公式、Python代码实现及函数图像,详细解析各函数的值域、梯度特性及适用场景,重点对比Sigmoid与Tanh的梯度消失问题,以及ReLU在收敛速度上的优势,并探讨SoftMax在多分类概率转化中的应用与数值稳定性处理。
Python深度学习中的四种激活函数概览
本文旨在整理深度学习入门阶段涉及的四种主要激活函数,将从数学公式、Python代码实现以及可视化图像三个维度进行详细阐述。首先明确这四种函数分别为:
- Sigmoid函数
- Tanh函数
- ReLu函数
- SoftMax函数
激活函数的核心作用
理解激活函数的核心作用
观察图像A,这是一个典型的线性可分问题。对于蓝点和绿点这两类数据,仅通过一条直线即可实现完全分类。

图像A代表了最理想且最简单的二分类场景。然而,现实世界中的问题往往更为复杂,存在大量线性不可分的情况。例如图像B中,无法找到任何一条直线将蓝点和绿点完全分开,必须借助封闭曲线才能完成分类。
激活函数正是用于“绘制”这种非线性封闭曲线的关键工具。引入激活函数后,算法的处理能力显著增强,从而能够有效解决线性不可分问题。
Sigmoid函数:原理、特性与局限
Sigmoid函数
在介绍逻辑回归时曾提及Sigmoid函数,其数学表达式为:

其中e为自然对数的底数(纳皮尔常数),数值约为2.7182... 该函数的图像表现如下:

从图像中可以观察到以下显著特征:
- 曲线的值域严格限制在(0,1)之间
- 当输入x等于0时,Sigmoid函数的输出值为0.5
- 随着x值不断增大,Sigmoid函数值无限趋近于1
- 随着x值不断减小,Sigmoid函数值无限趋近于0
在梯度下降法中,信息更新主要依赖梯度。Sigmoid函数的一个显著缺陷是:当函数值极度接近0或1时,由于曲线趋于平缓,梯度几乎为0。这导致权重更新极其缓慢,极易造成模型无法收敛。
Sigmoid函数的Python代码如下:
import numpy as np
def tanh(x):
return (exp(x)-exp(-x))/(exp(x)+exp(-x))
Tanh函数:与Sigmoid的异同
Tanh函数
Tanh函数即双曲正切函数,其数学表达式为:

Tanh函数与Sigmoid函数在形态上高度相似,这一点从图像中可见一斑:

两者的共同点在于:当输入x极大或极小时,输出y值趋于饱和且相近,同样存在梯度极小、不利于权重更新的缺点。不同之处在于:Tanh函数的值域为(-1,1),且当x=0时,输出值为0。
Tanh函数的Python代码如下:
import numpy as np
def tanh(x):
return (exp(x)-exp(-x))/(exp(x)+exp(-x))
ReLu函数:优势与广泛应用
ReLu函数
ReLu(Rectified Linear Unit)即线性整流函数,又称修正线性单元,其数学表达式为:

Tanh是一个分段函数,其图像如下:

图像直观易懂:若输入x小于0,则输出为0;若输入x大于0,则直接输出x值。需注意,ReLu函数在x=0处不连续(不可导),但这并不影响其作为激活函数的使用。
与Sigmoid和Tanh函数相比,ReLu函数的一个显著优点是在应用梯度下降法时收敛速度更快。当输入值为整数时,不会出现梯度饱和问题,因为大于0的部分呈现线性关系。这一优势使ReLu成为目前应用最为广泛的激活函数之一。
ReLu函数的Python代码如下:
import numpy as np
def relu(x):
return np.maximum(0,x)
SoftMax函数:多分类与数值稳定性
SoftMax函数
分类问题可分为二分类和多分类两类。Sigmoid函数适用于二分类,而SoftMax函数更适合多分类场景。 SoftMax函数的数学表达式为:

其中Vi表示分类器的输出,i表示类别索引,C为总类别数,Si表示当前元素指数与所有元素指数和的比值。简而言之,SoftMax函数将多分类的输出值按比例转化为相对概率,使输出结果更易于理解和比较。
为防止SoftMax计算时出现上溢出或下溢出,通常对V进行数值预处理:每个Vi减去V中的最大值。假设D=max(V),则SoftMax函数的数学表达式调整为:

由于SoftMax计算的是概率分布,难以用传统图像直观展示,其Python代码如下:
import numpy as np
def softmax(x):
D = np.max(x)
exp_x = np.exp(x-D)
return exp_x / np.sum(exp_x)
以上即为Python深度学习中四种激活函数的详细内容,更多关于Python激活函数的资料请关注本站其他相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









