激活函数(总结)

sigmod函数

 

优点:sigmod函数的输出映射在(0,1)之间,单调连续,输出范围有限,优化稳定,可以用作输出层。求导容易。

缺点:由于其软饱和性,容易产生梯度消失,导致训练出现问题。其输出并不是以0为中心的。(激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时很容易就会出现梯度消失的情况,从而无法完成深层网络的训练)

应用:该函数在统计学和机器学习领域是应用最广泛的逻辑回归模型。逻辑回归作为一种对数线性模型被广泛的应用于分类和回归场景中。此外,逻辑回归函数也是神经网络最为常用的激活函数,即sigmod函数。它可以用来做二分类,在特征相差比较复杂或是相差不是特别大时效果比较好。

tanh函数

è¿éåå¾çæè¿°

也称为双曲正切函数,取值范围是(-1,1)。

tanh在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。

与sigmoid的区别是,tanh是0均值的,因此实际应用中tanh会比sigmoid更好。

relu函数

f(x)=max(0,x)

è¿éåå¾çæè¿°

优点:计算量小,速度快,相对于sigmoid和tanh求导比较复杂,反向求导时会出现问题。relu对SGD的训练有加速作用。relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

缺点:学习率设计过大会造成梯度为0,导致神经元死亡,并且是不可逆的。

softmax函数

用于多分类神经网络输出。可以用于多分类不过需要注意互斥。在深度学习中,softmax一般放在最后面然后对全连接层的结果进行分类,其中每一个表示的是分类的概率值。

è¿éåå¾çæè¿°

举个例子来看公式的意思:

就是如果某一个 zj 大过其他 z, 那这个映射的分量就逼近于 1,其他就逼近于 0,主要应用就是多分类。

为什么要取指数,第一个原因是要模拟 max 的行为,所以要让大的更大。
第二个原因是需要一个可导的函数

发布了352 篇原创文章 · 获赞 31 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/strawqqhat/article/details/95203262