问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

一文读懂反向传播算法原理

创作时间:
作者:
@小白创作中心

一文读懂反向传播算法原理

引用
1
来源
1.
https://www.coonote.com/note/principle-of-back-propagation-algorithm.html

反向传播算法是神经网络训练中的核心算法之一,它通过链式法则高效地计算损失函数关于网络参数的梯度,从而实现参数优化。本文将详细讲解反向传播算法的原理,包括前向传播过程、损失函数的定义、误差项的计算以及最终的梯度计算。

1. 前言

本文主要讲解反向传播算法的原理,基于吴恩达老师的机器学习课程内容,重点介绍了神经网络中反向传播算法的公式推导。课程中的神经网络部分主要讲述的是神经网络在分类的应用,因此激活函数采用的是sigmoid函数。

2. 前向传播

要理解反向传播,首先需要理解前向传播。以下以一个三层神经网络为例:

前向传播的过程可以分为以下几个步骤:

  1. 输入层输入训练集:输入层对应图中的Layer1。训练集包含多个样本,每个样本又有多个特征。将样本特征输入到神经网络中,形成输入层的激活值a(0)。为了计算方便,需要加上偏置单元a0(1)=1。

  2. 隐藏层计算z(2):通过权重矩阵计算出z(2),具体计算方法如下:

  1. 通过激活函数计算出a(2):通过上一步计算的z(2),经过sigmoid激活函数,计算出a(2)。

  2. 计算输出层的a(3):原理和计算隐藏层类似,通过权重矩阵和激活函数计算输出层的激活值。

3. 反向传播

反向传播算法的提出是为了高效计算损失函数关于网络参数的梯度。其核心思想是利用链式法则,从输出层反向逐层计算误差项δ,最终得到参数的梯度。

  1. 定义损失函数:首先定义神经网络的损失函数,通常使用交叉熵损失函数:

  1. 定义误差δ:误差δ的定义如下:

  1. 第L层δ(输出层)的具体推导:输出层的误差推导如下:

  1. 第l层误差δ的具体推导:推广到任意层的误差推导:

  1. 计算得出θ的偏导数:最终计算参数的偏导数:

通过上述推导,可以完整理解反向传播算法的原理和计算过程。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号