Sigmoid 函数是神经网络中常用的激活函数之一,其数学表达式为:
σ(x) = 1 / (1 + e^(-x))
它能将任意实数输入映射到 (0, 1) 区间,常用于二分类问题的输出层或隐藏层。
📌 核心特性
- 输入范围:接受任意实数值(-∞, +∞)
- 输出范围:(0, 1) 的连续概率值
- 平滑性:输出曲线在中间区域接近线性,便于梯度计算
- 饱和问题:极端值区域梯度趋近于0,可能引发梯度消失
🧠 使用场景
- 二分类任务:如逻辑回归、图像分类(输出概率)
- 隐藏层激活:在早期神经网络中用于引入非线性
- 概率输出:需要输出概率分布的场景(如softmax前的预处理)
📜 代码示例
import tensorflow as tf
# 定义模型
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='sigmoid', input_shape=(784,)),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(train_dataset, epochs=10)
📘 相关文档
如需深入了解激活函数的理论基础,可参考:
/ tensorflow_docs/api_docs/python/tf/keras/activations
(TensorFlow 官方激活函数库入口)