-1

我最近完成了Coursera的吴教授的机器学习课程,但是我对理解反向传播算法有些问题。所以我尝试使用sigmoid函数读取Bishop代码进行反向传播。我搜查,发现干净的代码,其试图解释所做的反向传播,但还是有问题,理解代码解释反向传播算法主教码

任何一个可以解释我这是什么真正的反向传播吗?还解释我的代码?

here是我在github上找到的代码和我

回答

0

之前提到你有网络的错误。反向传播的第一步是计算网络中每个神经元的一部分内疚感。您的目标是将错误描述为权重的依赖关系(您可以更改的参数)。所以backprop方程是偏导数误差/权重。

第一步:误差信号=(期望的结果 - 输出神经元的输出)x导数激活(x) 其中x是输出神经元的输入。这是输出神经元的罪过的一部分。

下一步是计算隐藏单位的内疚的一部分。该步骤的第一部分是将隐藏单元与下一层单元连接的下一层x权重的误差信号的总和。其余部分是激活函数的部分推导。 error signal = sum(nextlayererror x weight)x derivationactivation(x)。

最后一步是调整权重。

WIJ = errorsignal_i X learning_rate X output_of_neuron_j

我在Matlab 执行BP的NN