通过MCP连接 →

输入计算

数学公式

Show calculation steps (2)
  1. First Derivative

    First Derivative: tanh(x) 双曲正切函数计算器

    first derivative of tanh at x equals 1 minus tanh squared

  2. Second Derivative

    Second Derivative: tanh(x) 双曲正切函数计算器

    second derivative of tanh at x

广告

结果

tanh(x)
0.4621171573
无量纲,取值范围 (-1, 1)
一阶导数 f'(x) = 1 - tanh(x)^2 0.786447733
二阶导数 f''(x) = -2 tanh(x) (1 - tanh(x)^2) -0.7268619814

什么是 tanh 函数?

双曲正切函数记作 \(\tanh(x)\),是一条平滑的 S 形(Sigmoid 型)曲线,对每一个实数 \(x\) 都有定义。它由指数 \(e^{x}\) 与 \(e^{-x}\) 的差与和之比给出。其输出值始终严格落在 -1 与 1 之间,并且是一个奇函数,即 \(\tanh(-x) = -\tanh(x)\)。在机器学习中,tanh 是常用的神经元激活函数,因为它以零为中心(zero-centered);相比输出范围为 0 到 1 的 Sigmoid 函数,这一特性往往能让基于梯度的训练收敛得更快。

x-y 坐标轴上的 S 形 tanh 曲线,取值限定在 -1 到 +1 之间
tanh 函数是一条 S 形曲线,可将任意实数输入映射到 (-1, 1) 区间。

如何使用本计算器

输入任意实数 \(x\),工具会立即返回 \(\tanh(x)\),并可选地给出两个导数——它们在微积分、物理学以及反向传播(back-propagation)中都很有用。负数、小数以及绝对值很大的数都可以输入。当 \(x\) 取很大的正值时,函数值会趋近 +1;当 \(x\) 取很大的负值时,则趋近 -1。

公式详解

核心定义为 $$\tanh\!\left(x\right) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$ 分母恒不小于 2,因此永远不会出现除以零的情况。一阶导数遵循一个优雅的恒等式:$$\frac{d}{dx}\tanh\!\left(x\right) = 1 - \tanh^{2}\!\left(x\right)$$ 也可写作 \(\operatorname{sech}^{2}(x)\)。再求一次导得到二阶导数 $$\frac{d^{2}}{dx^{2}}\tanh\!\left(x\right) = -2\,\tanh\!\left(x\right)\left(1 - \tanh^{2}\!\left(x\right)\right)$$ 当 \(|x|\) 非常大时,为保证数值稳定,工具内部会采用基于 \(e^{-2x}\) 的等价改写形式,以避免溢出。

Advertisement
展示指数增长与衰减曲线组合成 tanh 的示意图
tanh(x) 由指数函数 \(e^{x}\) 和 \(e^{-x}\) 构成。

计算示例(x = 0.5)

取 \(e^{0.5} = 1.6487212707\)、\(e^{-0.5} = 0.6065306597\),则 $$\tanh(0.5) = \frac{1.0421906110}{2.2552519304} = 0.4621171573$$ 一阶导数为 $$1 - 0.4621171573^{2} = 0.7864477623$$ 二阶导数为 $$-2 \times 0.4621171573 \times 0.7864477623 = -0.7269989018$$

常见问题

tanh 的取值范围是多少?开区间 (-1, 1);它会无限逼近但永远达不到这两个端点。

tanh(0) 等于多少?恰好为 0,此时 \(f'(0) = 1\),\(f''(0) = 0\)。

为什么用 tanh 而不用 Sigmoid?tanh 以零为中心(输出关于 0 对称),这有助于加快神经网络的学习速度;而 Logistic Sigmoid 只能输出 0 到 1 之间的正值。

最后更新: