激活函数
作者:互联网
一、激活函数作用
激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题。
一、激活函数分类
1)阶跃函数
2)sigmoid
3)RELU
4)tanh 函数
5)恒等函数
6)softmax
1)阶跃函数
阶跃函数的导数在绝大多数地方(除了0之外)的导数都是0
。所以用它做激活函数的话,参数们的微小变化所引起的输出的变化就会直接被阶跃函数抹杀掉
,在输出端完全体现不出来,训练时使用的损失函数的值就不会有任何变化,这是不利于训练过程的参数更新
的。
**参考代码和结果如下:**
2)sigmoid
sigmoid 函数是一条平滑
的曲线,输出随着输入发生连续性的变化。而阶跃函数以 0 为界,输出发生急剧性的变化
sigmoid 函数的导数在任何地方都不为0
(这对NN的学习非常重要。参数们的一点微小的变化也会引起输出的微小的连续的变化
,从而使得损失函数可以连续地变化,从而使得参数的更新正常进行,使得NN的学习正确进行)。
**参考代码和结果如下:**
3)ReLU
NN的历史上,sigmoid最早被使用。但relu最近用的更多>
**参考代码和结果如下:**
4)tanh
tanh函数的输出结果是零中心数据(输出值以零为中心),所以解决了激活函数在模型优化过程中收敛速度变慢的问题.
**结果如下:**
5)恒等函数
机器学习任务通常分为回归和分类两种任务。回归任务是要求出具体的预测值,所以输出层不再使用激活函数进行非线性转换,或者说使用恒等函数作为激活函数,它什么都没做。
6)softmax函数
分类的类别数目等于输出层神经元的数目。
假设输出层有n个神经元,第k个的输出yk:
分母是所有输入信号的指数函数的和,所以输出层的每个神经元都要受到所有输入信号的影响。
重要性质:
这使得我们可以把softmax的输出解释为概率。
**参考代码和结果如下:**
标签:输出,阶跃,函数,sigmoid,激活,变化 来源: https://blog.csdn.net/weixin_42277332/article/details/114661541