跳至主要內容

激活函数

blacklad大约 1 分钟AIAI

激活函数

1 激活函数的分类

由于将每个神经元看做了逻辑回归单元,所以之前的神经元一直使用 Sigmiod 函数作为激活函数。

对于一些场景,可能 Sigmiod 并不是最好的选择,比如对于结果是非负数的场景,或者有几种指标的结果。

1.1 线性激活函数

g(z)=zg(z)=z

相当于没有使用任何激活函数。

1.2 Sigmoid 函数

g(z)=11+ezg(z)=\frac1{1+e^{-z}}

将输入映射到(0,1)之间,因此常用于输出概率值的场合,如二元分类问题。

1.3 ReLu函数

g(z)=max(0,z)g(z)=\max(0,z)

非负数,从0-正无穷, Rectified Linear Unit, 修正线性单元,一般作为神经元的默认激活函数。

2 激活函数的选择

2.1 输出层

输出层的激活函数取决于训练的目标值。

  1. 二元分类问题使用 Sigmoid 函数
  2. 预测房价等非负数的回归问题使用 ReLu 函数
  3. 预测股价等有正有负的问题使用线性激活函数

2.2 隐藏层

对于神经网络的隐藏层一般默认都使用 ReLu 函数。

  1. 不使用线性函数的原因是线性函数的线性组合还是线性函数,神经网络就会退化成线性回归。

  2. 不使用 Sigmoid 函数是因为

    1. 在输入值较大、或者较小时,函数值比较平坦,梯度趋于0,导致梯度下降过程非常慢。

    2. 需要计算指数、除法操作,效率比较低。

上次编辑于:
贡献者: blacklad