概念
:::warning
反向传播(英语:Backpropagation,意为误差反向传播,缩写为BP)
:::
:::info
反向传播时对多层人工神经网络进行梯度下降的算法
也就是用链式法则以网络每层的权重为变数计算损失函数的梯度
以更新权重来最小化损失函数.
:::
与正向传播的关系
它们相辅相成,共同完成模型的训练。
前向传播是指从输入数据开始,通过神经网络的层层计算,最终得到输出结果的过程。在前向传播过程中,输入数据经过每一层的权重和激活函数的作用,逐步传递到下一层,最终得到输出结果。这个过程中,每一层的输出作为下一层的输入,直到传递到输出层。前向传播的目的是计算出模型对给定输入的预测值。
计算损失是在前向传播的基础上,将模型的预测值与真实值进行比较,计算出模型的预测误差。常用的损失函数包括均方误差(MSE)、交叉熵(Cross Entropy)等。
反向传播是指根据计算出的损失值,从输出层开始,逆向计算每一层的梯度,并将梯度传递回每一层,以便更新模型的参数。反向传播的过程可以看作是在计算梯度的同时,将误差逐层反向传播给前一层,以便调整每一层的参数,使得损失函数最小化。
参数更新是指根据反向传播计算出的梯度,使用优化算法(如梯度下降)来更新模型的参数,以使模型能够逐渐优化和适应训练数据。
前向传播和反向传播是深度学习中的核心步骤,通过不断迭代和更新参数,模型可以逐渐学习到数据中的模式和特征,从而提高模型的性能。
前馈神经网络原理
前馈神经网络传播过程
误差求解——>误差反向传播——>权重更新
反向传播过程
import numpy as np
def sigmoid(z):
return 1.0 / (1 + np.exp(-z))
if __name__ == '__main__'