在神经网络中,激活函数起着至关重要的作用,它们帮助模型学习复杂的数据模式。今天,我们来详细探讨两个常见的激活函数:Sigmoid 和 Tanh。特别是,我们将看看如何从数学上将 Sigmoid 函数转换为 Tanh 函数。

什么是 Sigmoid 函数?

Sigmoid 函数是一个广泛使用的激活函数,尤其在早期的神经网络模型中。它的公式是:

$$ \sigma(x) = \frac{1}{1 + e^{-x}} $$ sigma.png Sigmoid 函数的输出范围在 0 到 1 之间,这使得它特别适用于二分类问题中,比如预测一个事件发生与否。

什么是 Tanh 函数?

Tanh 函数,或双曲正切函数,也是一个常用的激活函数,其输出范围是 -1 到 1。这个特性使得它的输出数据更加“标准化”,因为它的中心是 0。Tanh 函数的公式是:

$$ \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} $$ tanh.png

如何从 Sigmoid 到 Tanh?

现在,让我们看看如何从 Sigmoid 函数的数学表达式推导出 Tanh 函数。这个过程不仅仅是学术上的趣味,了解这种转换可以帮助我们更深入地理解这些函数如何影响神经网络的行为。

步骤 1: 从 Tanh 函数的定义开始,我们可以稍作变形来更接近 Sigmoid 的形式:

$$ \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} = \frac{e^{2x} - 1}{e^{2x} + 1} $$

这里,我们通过乘以 (e^x) 来简化表达式,使其看起来更简洁。

步骤 2: 进一步观察,我们可以将这个表达式重写为:

$$ \tanh(x) = 1 - \frac{2}{e^{2x} + 1} $$

这是通过将分子和分母同时加上和减去1得到的。 步骤 3: 因为 tanh是一个关于0点对称函数,即: $$ \tanh(x) = -\tanh(-x) = \frac{2}{e^{-2x} + 1} - 1 = 2 * \frac{1}{e^{-2x} + 1} - 1 $$

步骤 4: 将 Sigmoid 函数的这个变体代入我们刚才得到的 Tanh 的表达式中:

$$ \tanh(x) = 2\sigma(2x) - 1 $$

这个公式说明,如果你将 Sigmoid 函数的输入放大两倍并将输出缩放和平移,就可以得到 Tanh 函数的输出。这种转换有助于理解这两个激活函数在形状和性质上的联系。