前言
在使用机器学习算法模型中,激活函数的选择也是很重要的,但是对为啥使用激活函数却不太清楚。
激活的定义:
网络的每一层在输出时,都需要进行一次非线性变换,被称为激活。如果不进行激活,则网络中各层均进行线性变换。
激活函数作用
激活函数的作用,为啥使用激活函数的原因
- 不使用激活函数的话,这样无论网络包含多少层,最终的输出都可以用输入的线性变换表示出来,也就和1层的线性网络没有差别了
另一种说法:
线性的表达能力太有限了,即使经过多层网络的叠加,y=ax+b无论叠加多少层最后仍然是线性的,增加网络的深度根本没有意义 - 使用激活函数的话,非线性的变换能够让网络存储的信息大大增加,而非线性变换的方式并不固定。
- 提供网络的非线性建模能力。加入激活函数,深度神经网络才能具备分层的非线性映射学习能力。
- 激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题。
因此激活函数是神经网络不可或缺的一部分。
激活函数需要满足的条件
- 非线性
- 可微
- 计算简单
- 非饱和
- 单调性
- 输出有限
- 参数少
- 归一化