什么是 Sigmoid 函数?
Sigmoid 函数,又称逻辑斯蒂(logistic)函数,能把任意实数平滑地"压缩"到开区间 (0, 1) 内,图像是一条优美的 S 形曲线。它的定义为 $$\sigma(x) = \frac{1}{1 + e^{-\text{a}\,x}}$$ 是神经网络中应用最广泛的激活函数之一,也是逻辑回归、概率建模和增长曲线的核心工具。其中增益参数 \(a\) 决定了曲线过渡的陡峭程度:当 \(a = 1\) 时,得到的就是教科书中最经典的 Sigmoid 曲线;而 \(a\) 越大,过渡区间越窄,曲线越接近阶跃函数。
如何使用本计算器
先填入增益 \(a\),再设定需要计算的区间:x 最小值、x 最大值,以及 x 步长(增量)。计算器会在每个步长点上构建一张数值表,列出 \(\sigma(x)\) 及其一阶导数 \(\sigma'(x)\) 和二阶导数 \(\sigma''(x)\);如果你额外填写了某个 \(x\) 值,还会单独给出该点的计算结果。请确保步长大于零,且 x 最大值不小于 x 最小值,否则将无法生成任何数据行。
公式详解
当用 \(\sigma\) 本身来表达时,这些导数会呈现出格外简洁的形式。求导可得 $$\sigma^{\prime}(x) = \text{a}\,\sigma(x)\bigl(1 - \sigma(x)\bigr)$$ 它恒为正值(说明曲线单调递增),并在拐点 \(x = 0\) 处取得最大值 \(\frac{a}{4}\)。二阶导数为 $$\sigma^{\prime\prime}(x) = \text{a}^{2}\,\sigma(x)\bigl(1 - \sigma(x)\bigr)\bigl(1 - 2\,\sigma(x)\bigr)$$ 它在 \(x = 0\)(此处 \(\sigma = 0.5\))处变号,正好印证了该点为拐点。
计算实例
设 \(a = 1\)、\(x = 2\)。此时 \(e^{-2} = 0.135335\),于是 $$\sigma(2) = \frac{1}{1.135335} = 0.880797$$ 一阶导数为 $$0.880797 \cdot (1 - 0.880797) = 0.104994$$ 二阶导数为 $$0.104994 \cdot (1 - 2 \cdot 0.880797) = 0.104994 \cdot (-0.761594) = -0.079963$$ 而在 \(x = 0\) 处,三个值分别为 \(\sigma = 0.5\)、\(\sigma' = 0.25\)、\(\sigma'' = 0\)。
常见问题
增益 \(a\) 起什么作用?它对输入进行缩放。\(a\) 越大,曲线在 \(x = 0\) 附近上升得越快;当 \(a\) 不断增大时,Sigmoid 会逐渐逼近一个"硬"阶跃函数;而当 \(a = 0\) 时,则退化为一条恒为 0.5 的水平线。
曲线最陡的位置在哪里?始终在 \(x = 0\) 处,此处斜率等于 \(\frac{a}{4}\),二阶导数为零。
为什么输出永远取不到 0 或 1?对于有限的 \(x\),指数项永远无法等于零,所以 \(\sigma\) 始终严格落在 (0, 1) 区间内。当 \(|a\cdot x|\) 极大时,数值上会四舍五入为 0 或 1,本计算器对这种情况做了安全处理。