机器学习中的数学——激活函数(一):Sigmoid函数

相关文章

  • 机器学习中的数学——激活函数(一):Sigmoid函数
  • 机器学习中的数学——激活函数(二):Tanh函数
  • 机器学习中的数学——激活函数(三):ReLU(Rectified Linear Unit)函数
  • 机器学习中的数学——激活函数(四):Leaky ReLU函数
  • 机器学习中的数学——激活函数(五):ELU函数
  • 机器学习中的数学——激活函数(六):Parametric ReLU(PReLU)函数
  • 机器学习中的数学——激活函数(七):Swish

介绍

激活函数是神经网络中的核心组件,用于引入非线性,使网络能够学习复杂模式。以下是主流激活函数的全面对比

Sigmoid

1.1 公式:

σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1
机器学习中的数学——激活函数(一):Sigmoid函数_第1张图片

1.2 特点:

  • 输出范围:(0, 1),适合表示概率(如二分类问题的概率输出)。
  • 单调性:严格递增函数。
  • 平滑性:连续可导,导数为: σ ′ ( x ) = σ ( x ) ⋅ ( 1 − σ ( x ) )   \sigma'(x) = \sigma(x) \cdot (1 - \sigma(x))\ σ(x)=σ(x)(1σ(x)) 
  • 导数特性:在 x x x=0 处导数最大(值为 0.25),两端趋近于 0。

1.3 优点:

  • Sigmoid函数的输出范围是0到1。由于输出值限定在0到1,因此它对每个神经元的输出进行了归一化。
  • 用于将预测概率作为输出的模型。由于概率的取值范围是0到1,因此Sigmoid函数非常合适
  • 梯度平滑,避免跳跃的输出值
  • 函数是可微的。这意味着可以找到任意两个点的Sigmoid曲线的斜率
  • 明确的预测,即非常接近1或0。
  • 导数计算简单,便于反向传播。

1.4 缺点:

  • 梯度消失:当输入绝对值较大时,梯度接近 0,导致深层网络训练困难。
  • 非零中心性:输出均值为正,可能影响梯度下降效率,函数输出不是以0为中心的,这会降低权重更新的效率
  • 计算成本:涉及指数运算。

1.5 对比

激活函数 输出范围 梯度特性 适用场景
Sigmoid (0, 1) 易消失(大输入时) 二分类输出层
Tanh (-1, 1) 比 Sigmoid 略优 隐藏层(零中心化)
ReLU [0, +∞) 正区间无梯度消失 隐藏层(主流选择)

1.6 代码:

import torch
def sigmoid(x):
    return 1 / (1 + torch.exp(-x))
sigmoid = torch.nn.Sigmoid()

你可能感兴趣的:(机器学习中的数学,机器学习,人工智能)