您的位置:

tanh函数的导数详解

tanh(双曲正切)函数是一个常见的激活函数,通常在深度学习中用于表达神经元的激活响应。本文将详细阐述tanh函数的导数的相关知识,包括导数的定义、导数的图像、导数的计算、导数的性质和代码示例等。

一、导数的定义

在微积分中,导数是描述函数在某个点的变化率的概念。对于函数f(x),如果这个函数在点x处是可导的,那么函数在该点的导数就是f(x)关于x的导数,记作f'(x)。函数f(x)在点x处的导数,表示函数在x处的变化率(斜率)。

对于tanh函数,可以使用以下公式表示:

        f(x) = tanh(x)
      f'(x) = sech²(x) = 1 / cosh²(x)

其中,cosh(x)表示x的双曲余弦函数,sech(x)表示x的双曲余切函数。

二、导数的图像

tanh函数的图像如下:

             |
         ____|____
        /         \
       /           \
      /             \
 ____|_____________|____
     -1             1

而tanh函数的导数的图像如下:

             |
         ____|____
        /         \
       /           \
      /             \
 ____|_____________|____
     -1             1

从图像中可以看出,tanh函数的导数与tanh函数本身的图像非常相似,但导数的变化更为迅速。

三、导数的计算

计算tanh函数的导数可以使用以下公式:

      f'(x) = sech²(x) = 1 / cosh²(x)

其中,cosh(x)表示x的双曲余弦函数。

sech(x)又可以表示为:

      sech(x) = 1 / cosh(x)

所以,tanh函数的导数也可以使用以下公式计算:

      f'(x) = 1 / cosh²(x) = 1 - tanh²(x)

四、导数的性质

tanh函数的导数具有以下性质:

  • 导数在原点处的值为1
  • 在x很大或很小时,导数的值接近于0
  • 导数是一个奇函数,即f'(-x)=-f'(x)

五、代码示例

以下是使用Python代码计算tanh函数的导数的示例:

import numpy as np

def tanh(x):
    return np.tanh(x)

def sech_sq(x):
    return 1 / np.cosh(x) ** 2

def tanh_deriv(x):
    return sech_sq(x)

x = np.linspace(-5, 5, num=100)

y = tanh(x)
y_prime = tanh_deriv(x)

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.plot(x, y, label='tanh(x)')
ax.plot(x, y_prime, label='tanh\'(x)')

plt.legend()
plt.show()

运行后,可以得到如下的图像:

             |
         ____|____
        /         \
       /           \
      /             \
 ____|_____________|____
     -5            5

通过代码示例,我们可以更好地理解tanh函数的导数,以及如何使用Python计算tanh函数的导数。