我有一个疑问,可能听起来很傻,但我需要深入理解这一点。
对于使用numpy并包含Sigmoid函数的机器学习算法 (s = 1/(1+np.exp(-z))
当我们使用它时,我们将参数初始化为零…
w = np.zeros((dim,1))b = 0
所以当我们执行 z = np.dot(w.T, X) + b
时,由于这是点积,z 必须始终为零。我知道这不对。但考虑到问题是 w
是一个零数组,当它与 x
相乘时,结果将为零。这是我的疑问。有人能解释一下吗?我非常感谢你们的努力。谢谢。
回答:
虽然 z
的值为零,但 sigmoid(z)
及其导数在 z=0
时不为零(分别为 0.5
和 0.25
)。
当你对网络进行反向传播时,这些非零值允许对你的权重有非零的贡献。