BP(Back Propagation)神经网络

1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络。BP神经网络可以说是整个人工神经网络体系的精华所在,广泛应用于分类识别、逼近、回归、压缩等领域。实际应用中,近八成的BP网络或BP网络的变化形式。

  • 一个3层BP神经网络结构:

 图1、3层神经网络结构

每一个单独节点,可以看成一个单层感知器,图1中输入节点:(x1,x2,x3,x4,x5);输出节点:(y1,y2);权向量:(w11,w12,w13,w21,...,w51,w52,w53);偏置因子:(b1,b2,...,b8,b9);

利用下面的神经网络进行推导BP算法:

图2、两层层神经网络

模型参数声明:

1、前向传播(Forward propagation)推导(没有加上偏置因子)

2、反向传播(Backward propagation)推导

     BP算法的思想就是:通过梯度下降来搜索可能的值的假设空间,以找到最佳的拟合样本的权值。具体而言,即利用损失函数,每次向损失函数负梯度方向移动,直到损失函数取得最小值。也可以这么理解,反向传播算法,是根据损失函数,求出损失函数关于每一层的权值及偏置项的偏导数,也称为梯度,用该值更新初始的权值和偏置项,一直更新到损失函数取得最小值或是设置的迭代次数完成为止。以此来计算神经网络中的最佳的参数。

  • 损失(代价)函数(Cost/Lost function)E;
  • 权值更新变化值,可以通过梯度下降法来最小化E的值 ;
  • 激活函数:                                                                                                                                                                                                                          
  • 推导过程:                                                                                                                                                                                                                                                                                                                                                                                                                          
  • 梯度下降法的图形显示:

3、小结

BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。

学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。

容易陷入局部极小值

③网络层数、神经元个数的选择没有相应的理论指导,过多训练效率慢,过少又会得到较差的效果。

④网络推广能力有限。

对于上述问题,目前已经有了许多改进措施,研究最多的就是如何加速网络的收敛速度和尽量避免陷入局部极小值的问题。

BP神经网络之BP算法手写推导相关推荐

  1. python实现神经网络数字识别_PYTHON搭建BP神经网络,并实现手写数字识别

    基本思路: 1.定义神经网络:定义输入层→定义隐藏层→定义输出层→找到权重和偏差→设置学习率→设置激活函数 2.定义训练网络:根据训练样本给出输出→根据输出结果,计算误差,根据误差反向更新隐藏层权重 ...

  2. 【手写数字识别】基于matlab GUI BP神经网络单个或连续手写数字识别系统【含Matlab源码 2296期】

    ⛄一.手写数字识别技术简介 1 案例背景 手写体数字识别是图像识别学科下的一个分支,是图像处理和模式识别研究领域的重要应用之一,并且具有很强的通用性.由于手写体数字的随意性很大,如笔画粗细.字体大小. ...

  3. BP神经网络(反向传播算法原理、推导过程、计算步骤)

    BP神经网络 1.反向传播算法的原理 2.反向传播算法参数学习的推导 3.反向传播算法参数更新案例 3.1 反向传播的具体计算步骤 3.1.1 计算输出层的误差 3.1.2 计算隐藏层误差 3.1.3 ...

  4. bp神经网络算法的优缺点,bp神经网络与bp算法区别

    前馈神经网络.BP神经网络.卷积神经网络的区别与联系 一.计算方法不同1.前馈神经网络:一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层.各层 ...

  5. 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码

    基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...

  6. 蚁群算法优化BP神经网络回归预测的算法设计-附代码

    蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现 文章目录 蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现 1. 蚁群算法简介 2. 蚁群算法优化BP ...

  7. 鲸鱼优化算法优化BP神经网络回归预测的算法设计-附代码

    鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现 文章目录 鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现 1. 算法描述 2. 鲸鱼优化算法优化BP神经 ...

  8. 前馈神经网络与支持向量机实战 --- 手写数字识别

    前馈神经网络与支持向量机实战 - 手写数字识别 文章目录 前馈神经网络与支持向量机实战 --- 手写数字识别 一.前馈神经网络介绍 二.支持向量机介绍 三.数据集说明 四.环境准备 五.实验要求 六. ...

  9. 基于神经网络的蒙文手写字母识别的一些研究(综述)

    基于神经网络的手写蒙古字母识别(小结) 各位博友大家好!我是PennyWu,让大家久等了,这次学习从宏观角度梳理手写蒙古字母识别. 功能结构 手写蒙古文字母识别系统主要通过五个主模块和三个辅助模块来共 ...

  10. bp神经网络中bp是什么意思,bp神经网络是什么网络

    神经网络plotperform三条不同颜色的曲线表示什么意思 比较随便的截图,纵坐标是误差平方的均值,绿色指的是验证集,红色指的是测试集,蓝色指的是训练集. 一般是用来观察训练集.验证集和测试集的最小 ...

最新文章

  1. JS高级程序设计拾遗
  2. OpenGL编程指南1:OpenGL简介
  3. svm解决兵王问题_机器学习: svm
  4. Android Studio 创建第一个Android工程项目
  5. 如何在其他程序的窗口上创建按钮并使之能响应
  6. 计算机网络课程设计之网络聊天程序的设计与实现
  7. linux教程 sed命令的用法,Linux基础教程之文件三剑客sed命令用法详解
  8. SAP License:物料类型的划分标准
  9. DVWA教程实践之Brute Force
  10. 南京邮电大计算机科学与技术,计算机科学与技术专业培养目标与毕业要求-南京邮电大学计算机学院.PDF...
  11. Reverse complement DNA
  12. QR码生成原理(一)
  13. Exception:org.eclipse.m2e.wtp.MarkedException: Unable to configure OHBC
  14. c语言放空一个数组,数组越界真可怕,莫名就闯到了别人家
  15. VMware 虚机启动失败问题
  16. 前端实习生需要到达什么水平?
  17. MySQL千万级别表数据中提高RAND随机查询的实验
  18. 这大概是今年介绍云原生最清晰明了的文章!
  19. 2019保研南京大学软件学院后的一些感想
  20. HyperWorks针对焊点信息丢失的处理办法

热门文章

  1. STC51入门笔记(郭天祥C语言)---第九节:常见芯片和运放电路介绍
  2. 当输入条件不符合规范c语言,【图片】【高二会考】选择判断答案大全【郑州12中吧】_百度贴吧...
  3. sip协议详解 系列(一)
  4. 怎么查看SAP用户化指南(SPRO --> SAP参考IMG)里各个功能的事务代码
  5. VsCode必备插件
  6. 操作系统---IO设备
  7. 数据库周刊45丨易鲸捷4.2亿订单创记录;10月Oracle补丁发布;巨杉SequoiaDB v5.0发布;MySQL卡死案例……
  8. 云栖号在线课堂—云服务器数据库快速入门特辑
  9. 程序猿学习中华古诗词路径
  10. ADN8831ACPZ特征TPS63020DSJR应用 具有 4A 开关转换器