# 3.5 激活函数（Activation functions）

* sigmoid函数

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ccZZMPVSZxI_3TvF%2Fsdsdssimport.png?generation=1556953087119645\&alt=media)

* tanh函数

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ccZaZp4-VTIbft7O%2F23.bmp?generation=1556953084516950\&alt=media)

* ReLU函数

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ccZcwiqGNZ5Ce1hi%2F24.bmp?generation=1556953088190112\&alt=media)

* Leaky ReLU函数

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0ccZhphdedAWF5OaB%2F25.bmp?generation=1556953084921935\&alt=media)

对于隐藏层的激活函数，$$tanh$$函数要比$$sigmoid$$函数表现更好一些。因为$$tanh$$函数的取值范围在$$\[-1,+1]$$之间，隐藏层的输出被限定在\[$$-1,+1]$$之间，可以看成是在$$0$$值附近分布，均值为$$0$$。这样从隐藏层到输出层，数据起到了归一化（均值为$$0$$）的效果

对于输出层的激活函数，因为二分类问题的输出取值为$${0,+1}$$，所以一般会选择$$sigmoid$$作为激活函数

选择$$ReLU$$作为激活函数能够保证$$z$$大于零时梯度始终为$$1$$，从而提高神经网络梯度下降算法运算速度。但当$$z$$小于零时，存在梯度为$$0$$的缺点

$$Leaky$$ $$ReLU$$激活函数，能够保证$$z$$小于零时梯度不为$$0$$
