DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略

简介: 链式法则/计算图解释

 DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略

相关文章:DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神经网络的工作原理

 

 

目录

BP算法思路简介

1、神经网络训练的优化目标

2、梯度下降

3、反向传播(backpropagation)算法

4、前向传播计算

5、反向传播误差信号

6、更新参数

链式法则

链式法则简介

1、链式法则与复合函数

2、链式法则和计算图

链式法则使用


BP算法原理推导—以三层神经网络为例

image.gifimage.gifimage.gifimage.gif

1、理论推导

1.1、前向传播计算

数学式子描述该神经网络

(1)、一般情况下,同一层的激活函数都是一样的,并且此处是进行二分类,所以隐藏层、输出层都可以采用Sigmoid激活函数。

输入数据 隐藏层1 隐藏层2 输出层
image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

image.gif

前向传播计算

 

image.gif

image.gif image.gif
经过Sigmoid函数输出 image.gifimage.gifimage.gif image.gifimage.gif image.gif

1.2、反向传播计算

        反向传播的计算过程。假设我们使用随机梯度下降的方式来学习神经网络的参数,损失函数定义为 L(y,y^),其中y是该样本的真实类标。使用梯度下降进行参数的学习,我们必须计算出损失函数关于 神经网络中各层参数(权重w和偏置b)的偏导数。

0、比如要对第k隐藏层参数w、b求偏导数

image.gif

1、先计算image.gifimage.gif

因为偏置b是一个常数项,因此偏导数的计算也很简单。

 

2、再计算image.gif

 

 

2、BP算法带入实例推导

image.gifimage.gifimage.gifimage.gif

 

 

 

 

 

 

 

 

BP算法思路简介

        前馈神经网络(NN),而是和循环神经网络(RNN)的概念是相对的。而反向传播方法可以用在FF网络中,此时,基于反向传播算法的前馈神经网络,被称为BP神经网络。       

       反向传播(Backpropagation)算法,深度学习模型采用梯度下降和误差反向传播进行模型参数更新。

image.gif

 

1、神经网络训练的优化目标

image.gif

梯度下降(Gradient Descent):

  • 求解非线性无约束优化问题的最基本方法;
  • 最小化损失函数的一种常用的一阶优化方法。

 

2、梯度下降

沿负梯度方向,函数值下降最快

image.gif    image.gifimage.gif          image.gif

 

3、反向传播(backpropagation)算法

深度学习模型,采用梯度下降和误差反向传播进行模型参数更新。

image.gif
  • 随机初始化网络权重
  • 前向传播计算网络输出
  • 计算误差
  • 后向传播误差到前一层; 计算梯度
  • 前面层更新权重和偏置参数
  • 从步骤2重复该过程最小化误差直到损失收敛

 

4、前向传播计算

image.gifimage.gif

使用损失函数比较实际输出和期望输出

image.gif

计算图(Computation Graph):计算过程可以表示成有向图的形式。 image.gif
前向计算过程:
计算各计算结点的导数。
image.gif

 

5、反向传播误差信号

后向传播误差到前面的层,传播的误差用来计算损失函数的梯度。

image.gif

计算损失函数?对各参数的梯度(偏导数)

  • 输出层连接权重的梯度
  • 隐藏层连接权重的梯度
  • 偏置项的梯度
image.gif

 

反向传播(backpropagation)

  • 任何导数均可通过将相应连接边上的导数连乘得到。
  • 若求导涉及多条路径,需要将每条路径上的导数连乘起来,然后再求和。
image.gif

 

6、更新参数

得到梯度以后,就可以进行更新参数。

image.gif

 

 

链式法则

链式法则简介

       链式法chain rule,属于微积分领域,是微积分中的求导法则,用于求一个复合函数的导数,是在微积分的求导运算中一种常用的方法。复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。

image.gif

       这个结论可推广到任意有限个函数复合到情形,于是复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。

 

1、链式法则与复合函数

         链式法则是关于复合函数的导数的性质:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。

         数学式表示

                                                  image.gif

 

2、链式法则和计算图

        其中“**2”节点表示平方运算,沿着与正方向相反的方向,乘上局部导数后传递。反向传播的计算顺序是,先将节点的输入信号乘以节点的局部导数(偏导数),然后再传递给下一个节点。

                                    image.gif    image.gif

反向传播是基于链式法则的。

(1)、根据计算图的反向传播的结果,dz/dx = 2(x + y)

image.gif

(2)、乘法的反向传播:左图是正向传播,右图是反向传播。

          image.gif     image.gif
        因为乘法的反向传播会乘以输入信号的翻转值,所以各自可按1.3 × 5 =6.5、1.3 × 10 = 13 计算。另外,加法的反向传播只是将上游的值传给下游,并不需要正向传播的输入信号。但是,乘法的反向传播需要正向传播时的输入信号值。因此,实现乘法节点的反向传播时,要保存正向传播的输入信号。

(3)、购买苹果的反向传播的例子:这个问题相当于求“支付金额关于苹果的价格的导数”“支付金额关于苹果的个数的导数”“支付金额关于消费税的导数”。

image.gif

 

 

链式法则使用

1、求导案例

image.gif

 

 

 

 

 

 


相关文章
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
2月前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
199 10
|
3月前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
3月前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
233 80
|
3月前
|
机器学习/深度学习 算法 Python
基于BP神经网络的金融序列预测matlab仿真
本项目基于BP神经网络实现金融序列预测,使用MATLAB2022A版本进行开发与测试。通过构建多层前馈神经网络模型,利用历史金融数据训练模型,实现对未来金融时间序列如股票价格、汇率等的预测,并展示了预测误差及训练曲线。
102 12
|
3月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
303 7
|
4月前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
3月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
96 17
|
3月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
3月前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们日常生活中不可或缺的一部分。本文将深入探讨网络安全漏洞、加密技术和安全意识等方面的问题,并提供一些实用的建议和解决方案。我们将通过分析网络攻击的常见形式,揭示网络安全的脆弱性,并介绍如何利用加密技术来保护数据。此外,我们还将强调提高个人和企业的安全意识的重要性,以应对日益复杂的网络威胁。无论你是普通用户还是IT专业人士,这篇文章都将为你提供有价值的见解和指导。

热门文章

最新文章