diff --git a/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/02浅层神经网络.md b/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/02浅层神经网络.md index fca081b3..0a9b4371 100644 --- a/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/02浅层神经网络.md +++ b/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/02浅层神经网络.md @@ -52,33 +52,35 @@ $$\hat{y} = a^{[2]} = \sigma(z^{[2]})$$ ## 激活函数 -有一个问题是神经网络的隐藏层和输出单元用什么激活函数。之前我们都是选用 sigmoid 函数,但有时其他函数的效果会好得多。 +### 常见激活函数 +![](2020-10-20-16-10-59.png) -可供选用的激活函数有: +$$ +a = g(z) +$$ -* tanh 函数(the hyperbolic tangent function,双曲正切函数): +* sigmod函数 + +$$ +a=\frac{1}{1-e^{-z}} +$$ +* tanh 函数(the hyperbolic tangent function,双曲正切函数) $$a = \frac{e^z - e^{-z}}{e^z + e^{-z}}$$ -效果几乎总比 sigmoid 函数好(除开**二元分类的输出层**,因为我们希望输出的结果介于 0 到 1 之间),因为函数输出介于 -1 和 1 之间,激活函数的平均值就更接近 0,有类似数据中心化的效果。 +> 效果几乎总比 sigmoid 函数好(除开**二元分类的输出层**,因为我们希望输出的结果介于 0 到 1 之间),因为函数输出介于 -1 和 1 之间,激活函数的平均值就更接近 0,有类似数据中心化的效果。然而,tanh 函数存在和 sigmoid 函数一样的缺点:当 z 趋紧无穷大(或无穷小),导数的梯度(即函数的斜率)就趋紧于 0,这使得梯度算法的速度大大减缓。 -然而,tanh 函数存在和 sigmoid 函数一样的缺点:当 z 趋紧无穷大(或无穷小),导数的梯度(即函数的斜率)就趋紧于 0,这使得梯度算法的速度大大减缓。 - -* **ReLU 函数(the rectified linear unit,修正线性单元)**: +* ReLU 函数(the rectified linear unit,修正线性单元) $$a=max(0,z)$$ -当 z > 0 时,梯度始终为 1,从而提高神经网络基于梯度算法的运算速度,收敛速度远大于 sigmoid 和 tanh。然而当 z < 0 时,梯度一直为 0,但是实际的运用中,该缺陷的影响不是很大。 +> 当 z > 0 时,梯度始终为 1,从而提高神经网络基于梯度算法的运算速度,收敛速度远大于 sigmoid 和 tanh。然而当 z < 0 时,梯度一直为 0,但是实际的运用中,该缺陷的影响不是很大。 * Leaky ReLU(带泄漏的 ReLU): $$a=max(0.01z,z)$$ -Leaky ReLU 保证在 z < 0 的时候,梯度仍然不为 0。理论上来说,Leaky ReLU 有 ReLU 的所有优点,但在实际操作中没有证明总是好于 ReLU,因此不常用。 - -![The_activation_function](The_activation_function.png) - -在选择激活函数的时候,如果在不知道该选什么的时候就选择 ReLU,当然也没有固定答案,要依据实际问题在交叉验证集合中进行验证分析。当然,我们可以在不同层选用不同的激活函数。 +> Leaky ReLU 保证在 z < 0 的时候,梯度仍然不为 0。理论上来说,Leaky ReLU 有 ReLU 的所有优点,但在实际操作中没有证明总是好于 ReLU,因此不常用。在选择激活函数的时候,如果在不知道该选什么的时候就选择 ReLU,当然也没有固定答案,要依据实际问题在交叉验证集合中进行验证分析。当然,我们可以在不同层选用不同的激活函数。 ### 使用非线性激活函数的原因 diff --git a/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/2020-10-20-16-10-59.png b/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/2020-10-20-16-10-59.png new file mode 100644 index 00000000..e8bb180d Binary files /dev/null and b/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/2020-10-20-16-10-59.png differ diff --git a/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/The_activation_function.png b/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/The_activation_function.png deleted file mode 100644 index fb0389db..00000000 Binary files a/机器学习/吴恩达深度学习/学习笔记/Neural_Networks_and_Deep_Learning/The_activation_function.png and /dev/null differ