由于BP神经网络的传递函数必须可微,所以感知器的传递函数--二值函数在这里不可用,故BP神经网络一般使用Sigmoid函数或者线性函数作为传递函数。而Sigmoid函数又分为Log-Sigmoid函数(一般所说的S型函数就是这个的简称)和Tan-Sigmoid函数(又称为双曲正切S型函数),前者的值域为(0,1),后者的值域为(-1,1)。
Log-Sigmoid函数的表达式:
Log-Sigmoid函数的导数:
Tan-Sigmoid函数的表达式:
Tan-Sigmoid函数的导数:
这两个函数都是连续的、单调递增的数值函数,常被应用于基于BP(误差反向传播)算法的神经网络中。一般情况下,BP神经网络隐含层的传递函数是S形函数,输出层是线性函数。当然,输出层也可采用S型函数,若输出层为S型函数,则输出值的范围为该S型函数的值域。利用S形函数或其导数可以求得BP神经网络里某个神经元的总和、目标值和误差值等。