激活函数-Sigmoid
理解 Sigmoid 激活函数:公式、特点与应用
- 基本概念
- 代码调用
1 什么是Sigmoid?
一个形状像是躺平的S的平滑函数:
$$
\sigma(x) = \frac{1}{1 + e^{-x}}
$$
- 输出范围(0,1)
- 常用于将值映射为概率
1.1 常见场景(与Softmax对比)
🔍 Sigmoid vs Softmax:本质区别
特性 | Sigmoid | Softmax |
---|---|---|
输出范围 | 每个神经元输出范围是 (0, 1) | 所有输出加起来为 1 |
激活方式 | 对每个输出神经元 单独 使用 Sigmoid | 对整组输出向量使用 Softmax |
标签之间的关系 | 互相独立,不排斥 | 互斥,只能属于一个类别 |
应用场景 | 多标签分类(multi-label classification) | 多类别分类(multi-class classification) |
损失函数 | Binary Cross Entropy | Categorical Cross Entropy |
输出解读 | 每个标签为“是/否”的概率 | 所有类别中选择概率最大的一个作为预测类别 |
Sigmoid会将每个标签的raw结果独立转化为概率,所以能得到多个标签的值。
BCE:多标签分类,常与Sigmoid一同使用,对每个标签独立做的二分类损失。nn.BCELoss() + Sigmoid()
CE: 多个类别中 只能选一个,常配合 Softmax 使用。Pytorch 中CE的包含了softmax
2 sigmoid的代码以及可视化
Numpy实现
1 | # 可选Python绘图代码示例(可在Jupyter中运行) |
Pytorch调用
1 | import torch |