Sigmoid 函数是神经网络中常用的激活函数之一,其数学表达式为:
σ(x) = 1 / (1 + e^(-x))
它能将任意实数输入映射到 (0, 1) 区间,常用于二分类问题的输出层或隐藏层。


📌 核心特性

  • 输入范围:接受任意实数值(-∞, +∞)
  • 输出范围:(0, 1) 的连续概率值
  • 平滑性:输出曲线在中间区域接近线性,便于梯度计算
  • 饱和问题:极端值区域梯度趋近于0,可能引发梯度消失

🧠 使用场景

  1. 二分类任务:如逻辑回归、图像分类(输出概率)
  2. 隐藏层激活:在早期神经网络中用于引入非线性
  3. 概率输出:需要输出概率分布的场景(如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 官方激活函数库入口)


Sigmoid_Curve
*图示:Sigmoid 函数的 S 型曲线特性*