反向传播算法(BP算法)

具体实现:
https://yongyuan.name/blog/back-propagtion.html

反向传播算法(Backpropagation)是目前用来训练人工神经网络(Artificial Neural Network,ANN)的最常用且最有效的算法。其主要思想是:
(1)将训练集数据输入到ANN的输入层,经过隐藏层,最后达到输出层并输出结果,这是ANN的前向传播过程;
(2)由于ANN的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;
(3)在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。

1.变量定义

在这里插入图片描述

在这里插入图片描述

2.代价函数

在这里插入图片描述

3. 公式及其推导

本节将介绍反向传播算法用到的4个公式,并进行推导。如果不想了解公式推导过程,请直接看第4节的算法步骤。
首先,将第l层第j个神经元中产生的错误(即实际值与预测值之间的误差)定义为:
在这里插入图片描述
本文将以一个输入样本为例进行说明,此时代价函数表示为:
在这里插入图片描述

公式1(计算最后一层神经网络产生的错误):

在这里插入图片描述

公式2(由后往前,计算每一层神经网络产生的错误):

在这里插入图片描述

公式3(计算权重的梯度):

在这里插入图片描述

公式4(计算偏置的梯度):

在这里插入图片描述

4. 反向传播算法伪代码

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zjpp2580369/article/details/84579996