摘要 介绍神经网络中的 Sigmoid 激活函数的导数(或梯度)的计算误差。
Sigmoid 函数通常用作神经网络的激活函数。它适用于二分类问题。其数学表达式为:
.
其对 的导函数可以用自身表示:
,
这样可以简化梯度的计算。
例1. 已知 . 利用
计算 .
不妨用C代码进行计算:
则在 Visual Studio 2010 环境下,输出结果有17位非零数字(从18位开始后面全为0):0.006718605318952504100...;而含有17位正确有效数字的结果为 0.0067186053189526173. 这样,计算机的输出中有 4 位错误数字。
即使只考虑前 15 或 16 位数字,错误数字也有二三位。在机器学习中,能确保这个误差不会被积累与传播?