反向传播训练算法是如何工作的?

我一直在尝试了解反向传播在神经网络中的工作原理,但尚未找到一个从非技术角度出发的好解释。

反向传播是如何工作的?它是如何从提供的训练数据集中学习的?我将不得不编写代码,但在编写之前,我需要对它有更深入的理解。


回答:

反向传播的逻辑与前馈非常相似。不同之处在于数据流的方向。在前馈步骤中,你有输入和由此观察到的输出。你可以将值向前传播以训练前面的神经元。

在反向传播步骤中,你无法知道每个神经元中发生的错误,只能知道输出层中的错误。计算输出节点的错误很简单——你可以将神经元的输出与训练集中该实例的实际输出之间的差异进行比较。隐藏层中的神经元必须从中修正它们的错误。因此,你必须将错误值传回给它们。通过这些值,隐藏层的神经元可以使用前一层的错误的加权和来更新它们的权重和其他参数。

前馈和反向传播步骤的逐步演示可以在这里找到这里


编辑

如果你是对神经网络的新手,你可以从感知器开始学习,然后进阶到神经网络,实际上它是一个多层感知器

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注