神经网络中的激活函数


    • 1. Sigmoid activation function
    • 2. Tanh activation function
    • 3. ReLU and Leaky ReLU
    • 4.选择激活函数的准则

tanh(z)=ezezez+ez t a n h ( z ) = e z − e − z e z + e − z 效果严格地比 sigmoid s i g m o i d 函数好,因为该函数的对称中心在 (0,0) ( 0 , 0 ) ,具有将数据归一化为0均值的效果。当然,二分类的输出层的激活函数还是一般用 sigmoid(z) s i g m o i d ( z ) ,因为 sigmod s i g m o d 函数能将输出值映射到 01 0 ∼ 1 之间(概率值)
Relu(z)=max(0,z) R e l u ( z ) = m a x ( 0 , z ) 出现后,神经网络默认都用 Relu R e l u 函数(rectified linear)来作为激活函数。此时一般默认 z>0 z > 0
leaky(z)=max(0.01z,z) l e a k y ( z ) = m a x ( 0.01 z , z ) 可以避免 z<0 z < 0 时斜率为零的情况 输出层有时也用线性激活函数(房价预测)

1. Sigmoid activation function

神经网络中的激活函数_第1张图片

图1.1 激活函数-sigmoid

a=g(z)=11+ez(1-1) (1-1) a = g ( z ) = 1 1 + e − z
g(z)=ddzg(z)=ez1+ez=11+ez(111+ez)=g(z)(1g(z))=a(1a)(1-2) (1-2) g ′ ( z ) = d d z g ( z ) = e − z 1 + e − z = 1 1 + e − z ( 1 − 1 1 + e − z ) = g ( z ) ( 1 − g ( z ) ) = a ( 1 − a )

2. Tanh activation function

神经网络中的激活函数_第2张图片

图2.1 激活函数-tanh

a=g(z)=ezezez+ez(2-1) (2-1) a = g ( z ) = e z − e − z e z + e − z
g(z)=ddzg(z)=ez1+ez=(ez+ez)2(ezez)2(ez+ez)2=1(g(z))2=1a2(2-2) (2-2) g ′ ( z ) = d d z g ( z ) = e − z 1 + e − z = ( e z + e − z ) 2 − ( e z − e − z ) 2 ( e z + e − z ) 2 = 1 − ( g ( z ) ) 2 = 1 − a 2

3. ReLU and Leaky ReLU

神经网络中的激活函数_第3张图片

图3.1 激活函数-ReLU

ReLU:
a=g(z)=max(0,z)(3-1) (3-1) a = g ( z ) = m a x ( 0 , z )

g(z)=ddzg(z)={0if z<01if z0(3-2) g ′ ( z ) = d d z g ( z ) (3-2) = { 0 i f   z < 0 1 i f   z ≥ 0

Leaky ReLU:
神经网络中的激活函数_第4张图片

图3.2 激活函数-Leaky ReLU

a=g(z)=max(0.01z,z)(3-3) (3-3) a = g ( z ) = m a x ( 0.01 z , z )

g(z)=ddzg(z)={0.01if z<01if z0(3-4) g ′ ( z ) = d d z g ( z ) (3-4) = { 0.01 i f   z < 0 1 i f   z ≥ 0

4.选择激活函数的准则

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

你可能感兴趣的:(理论学习,学习笔记)