本文介绍高等数学中的tanh函数,以及在神经网络中的应用。
函数原型
tanh函数又称双曲正切函数
$tanh(x) = \frac{sinh(x)}{cosh(x)} = \frac{\frac{e^x-e^{-x}}{2}}{\frac{e^x+e^{-x}}{2}} = \frac{e^x - e^{-x}}{e^x + e^{-x}}$
导数的函数原型
$(tanh(x))' = 1 - tanh^2(x)$
适用范围
几乎所有场景
函数图像
Python代码实现
def main():
x = np.arange(-10, 10, 0.01)
y = (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
plt.figure(figsize=(6, 4))
plt.title('tanh function')
plt.xlabel('x', loc='left')
plt.ylabel('y', loc='bottom')
# tanh函数图像
plt.plot(x, y, label='tanh function')
# tanh导数图像
der_y = 1-np.square(y)
plt.plot(x, der_y, label='tanh derivative function')
plt.xticks(np.arange(-10, 11, 1))
plt.yticks(np.arange(0, 1.1, 0.1))
plt.legend()
plt.grid(True, color='b', linewidth='0.5', linestyle='dashed')
plt.tight_layout()
plt.show()