我正在做一项研究,一个关于神经网络的项目。只为我自己。早些时候,我设法理解了一种反向传播教学算法,当然是它的基础知识,而不是全部。但是很多资源都提到了delta规则,这有点特殊。我已经设法理解这里的权重是一个一个修改的。但是有很多问题。你能向我解释一下它是如何工作的吗,但比维基百科上的更平易近人。只是算法,但对步骤和“它是如何工作的”有清晰的解释。
顺便说一句,有导数用于教学。不明白为什么。 是的,除非有帮助,否则不需要特殊的源代码。
最佳答案
总体思路是将神经网络视为权重 w_ij
的函数,而不是输入:目标是最小化实际输出之间的误差以及训练数据中的目标输出。对于每个(输入/输出)训练对,增量规则确定您需要调整 w_ij
的方向以减少该训练对的错误。通过对每个训练对采取较短的步骤,您可以找到最适合整个训练语料库的方向。
想象一下,您正处于一个巨大的多山滑雪胜地的中间,这个滑雪胜地太复杂了,无法一下子理解——但如果您的工作是到达底部,您需要做的就是从您所在的地方下坡站着。这称为梯度下降方法:从您所在的位置找到最陡的斜坡,然后朝那个方向迈出一步。足够的步骤将在底部看到您;对于神经网络,“底部”是最适合您的训练数据的神经网络。
这就是您需要导数的原因:导数是斜率,事实证明它很容易计算——这就是您的增量法则。导数用于教学,因为这是他们首先获得规则的方式。
对于delta规则的一步步推导,恐怕我无法改进wikipedia article你指的是。
关于algorithm - Delta法则神经网络教学。必要的算法解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102296/