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

相关文章

介绍

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

Sigmoid

1.1 公式:

σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1
在这里插入图片描述

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值