Fork me on GitHub

神经网络中的激活函数

$tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}$效果严格地比$sigmoid$函数好,因为该函数的对称中心在$(0,0)$,具有将数据归一化为0均值的效果。当然,二分类的输出层的激活函数还是一般用$sigmoid(z)$,因为$sigmod$函数能将输出值映射到$0\sim1$之间(概率值)
$Relu(z)=max(0,z)$出现后,神经网络默认都用$Relu$函数(rectified linear)来作为激活函数。此时一般默认$z>0$
$leaky(z)=max(0.01z,z)$可以避免$z<0$时斜率为零的情况 输出层有时也用线性激活函数(房价预测)

1. Sigmoid activation function

图1.1 激活函数-sigmoid

2. Tanh activation function

图2.1 激活函数-tanh

3. ReLU and Leaky ReLU

图3.1 激活函数-ReLU

ReLU:

Leaky ReLU:

图3.2 激活函数-Leaky ReLU

4.选择激活函数的准则

  • 如果处理的问题是二分类问题,输出为0和1,那么输出层选择sigmoid函数,其他神经元选择ReLU(有时也可用tanh),理论上Leaky ReLU比ReLU好,但是实践中差不多。