本文已参与「新人创作礼」活动,一起开启掘金创作之路。
tanh(z)=ez+e−zez−e−z效果严格地比sigmoid函数好,因为该函数的对称中心在(0,0),具有将数据归一化为0均值的效果。当然,二分类的输出层的激活函数还是一般用sigmoid(z),因为sigmod函数能将输出值映射到0∼1之间(概率值)
Relu(z)=max(0,z)出现后,神经网络默认都用Relu函数(rectified linear)来作为激活函数。此时一般默认z>0
leaky(z)=max(0.01z,z)可以避免z<0时斜率为零的情况 输出层有时也用线性激活函数(房价预测)
0. Linear Activate Function
也叫identity activate Function, 即对原始输出不做任何变换
1. Sigmoid activation function

图1.1 激活函数-sigmoid
\begin{align*} a&=g(z) \\ &=\frac{1}{1+e^{-z}}\\ \tag{1-1} \end{align*} \begin{align*} g'(z)&=\frac{d}{dz}g(z)\\ &=\frac{e^{-z}}{1+e^{-z}}\\ &=\frac{1}{1+e^{-z}}\left(1-\frac{1}{1+e^{-z}}\right)\\ &=g(z)\left(1-g(z)\right)\\ &=a(1-a)\\ \tag{1-2} \end{align*}
## 2. Tanh activation function

图2.1 激活函数-tanh
a=g(z)=ez+e−zez−e−z(2-1)
g′(z)=dzdg(z)=1+e−ze−z=(ez+e−z)2(ez+e−z)2−(ez−e−z)2=1−(g(z))2=1−a2(2-2)
3. ReLU and Leaky ReLU

图3.1 激活函数-ReLU
ReLU:
a=g(z)=max(0,z)(3-1)
g′(z)=dzdg(z)={0if z<01if z≥0(3-2)
Leaky ReLU:

图3.2 激活函数-Leaky ReLU
a=g(z)=max(0.01z,z)(3-3)
g′(z)=dzdg(z)={0.01if z<01if z≥0(3-4)
4.选择激活函数的准则
- 如果处理的问题是二分类问题,输出为0和1,那么输出层选择sigmoid函数,其他神经元选择ReLU(有时也可用tanh),理论上Leaky ReLU比ReLU好,但是实践中差不多。
参考
towardsdatascience.com/activation-…