首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》13.2.3 通过双曲正切函数增大输出范围

关灯直达底部

另一个在人工神经网络隐层中经常用到的sigmoid函数是双曲正切(hyperbolic tangent,tanh)函数,它可以看作是经过缩放的逻辑斯谛函数。

与逻辑斯谛函数相比,双曲正切函数的优势在于它输出值的范围更广,介于开区间(-1,1),这可以加速反向传播算法的收敛[1]。而逻辑斯谛函数返回值的开区间为(0,1)。为了对逻辑斯谛函数和双曲正切函数做个直观的比较,我们绘制出两个函数在同一区间中的图像:

从图中可以看出,两个S型曲线的形状非常类似;不过,tanh函数的输出范围是逻辑斯谛函数的2倍:

请注意,出于演示的需要,我们在本章中实现了logistic和tanh函数,在实际应用中,我们可以直接使用NumPy中的tanh函数以获得同样的结果:

此外,在SciPy的special模块中,已经实现了logistic函数:

我们已经了解了人工神经网络中常用的激励函数,最后,我们总结一下本书中出现过的多种不同的激励函数来结束本小节的内容。

[1] C. M. Bishop. Neural networks for pattern recognition. Oxford university press, 1995, pp. 500-501.