激活函数

tanh(z) =  (ez - e-z ) / ( ez + e-z )

 

 

tanh函数几乎在所有场合都更优越

用σ激活函数的一个例外场合是:使用二元分类的时候。因为二元分类问题概率数值应在(0,1)之间

 因此可以在隐藏层用tanh函数,在输出层y帽计算时用σ函数

现在σ函数和tanh函数都有一个缺点就是,如果z非常大或者非常小,那么导数的梯度或者说这个函数的斜率可能就很小,函数的斜率很接近0,这样会拖慢梯度下降算法

 

这时候会用到ReLU函数

 

 只要z为正,导数就是1,当z为负时,斜率为0

 

在选择激活函数时有一些经验法则:

如果你的输出值是0和1,如果你在做二元分类,那么σ函数很适合作为输出层的激活函数。然后其他所有单元都用ReLU(所谓的线性修正单元),现在已经编程激活函数的默认选择了

若果不确定隐藏层用哪个,我们就用ReLU作为激活函数,这是今天大多数人都在用的,虽然有时也会用tanh激活函数

而ReLU的一个缺点就是,当z为负时,导数等于0,在实践中没有任何问题,但是ReLU还有另一个版本叫做带泄露的ReLU,当z为负时,函数不再为0,它有一个很平缓的斜率,不过是集中使用频率没有那么高

                                          ReLU    a = max ( 0.01z , z )

 

在激活函数中用ReLU,神经网络学习的速度通常会快很多,比使用tanh和σ激活函数快得多

 

posted @ 2018-08-29 10:50  暖黄的秘密的心情  阅读(798)  评论(0编辑  收藏  举报