神经网络-我们如何计算反向传播后输出层中θ(权重?)的新值



我目前正在努力赶上吴恩达在Coursera上的机器学习课程,我遇到了一点麻烦。。。

在他的反向传播视频中,他解释说我们需要计算big_delta

所有层的big_delta = big_delta + delta(l+1) * a(l)^t l

但是,当我没有delta(l+1(时,如何计算输出层的big_delta?

他解释这一点的视频如下:https://www.youtube.com/watch?v=wmfpS5fKFeY

我迷路了。

输出层的增量是

delta = (<expected signal> - <calculated_signal>) * dA(<calculated_signal>)

其中dA是已经应用于信号的激活函数的导数。Sigmoid通常用作激活函数,其衍生物非常简单:

dS(x) = x(1-x)

"big_delta"均衡用于所有其他层,并且在更新权重和偏差时需要获得delta。

以下是反向传播的一些(难以阅读的(数学/算法。

编辑:

为了稍微澄清等式,如果Sigmoid被用作激活函数,则输出层的delta被计算为

delta = (<expected signal> - <calculated_signal>) * <calculated_signal> * (1 - <calculated_signal>)

最新更新