https://www.toutiao.com/a6717160299482317324/

BP神经网络的代表者是D.Rumelhart和J.McCelland,"反向传播(backpropagation)"一词的使用出现在1985年后,它的广泛使用是在1986年D.Rumelhart和J.McCelland所著的Parallel Distributed Processing这本书出版以后。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

一、BP神经网络的模型

BP神经网络的过程主要分为两个阶段,第一阶段是信号的前向传播来传递信息,第二阶段是误差的反向传播来调整中间层的权重和偏置。

二、BP神经网络的流程

BP神经网络的流程:

1、前向传播;

2、误差反向传播;

3、迭代判定标准。

以三层BP神经网络为例:

(1)前向传播

假设输入层的节点个数为n,隐含层的节点个数为l,输出层的节点个数为m。输入层到隐含层的权重w_ij,隐含层到输出层的权重为w_jk,输入层到隐含层的偏置为a_j,隐含层到输出层的偏置为b_k,学习速率为η,激励函数为g(x),一般选择sigmoid函数。形式为:

隐含层的输出为:

输出层的输出为:

(2)误差反向传播

误差反向传播的目的是更新权值,最终使目标输出与期望输出的误差函数最小。期望输出为Yk,则误差函数为:

min(E)是个最优化的过程,我们知道梯度最大值的方向,即为函数值下降最快的方向,因此采用梯度下降法。

隐含层到输出层的权值更新:

输入层到隐含层的权值更新:

同理,可得偏置的更新

(3)迭代判定标准

常用判断迭代结束的标准主要是指定迭代的最大次数和相邻两次误差输出小于指定值。

机器视觉学习笔记:BP神经网络详解相关推荐

  1. ELK学习笔记之Logstash详解

    0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining cap ...

  2. expect学习笔记及实例详解【转】

    1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 1.1 首行加上/usr/bin/expect 1.2 spawn: 后面加上需要执行的shell命令,比如说 ...

  3. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  4. oracle scn 重置,学习笔记:Oracle SCN详解 SCN与Oracle数据库恢复的关系

    天萃荷净 分享一篇关于Oracle SCN的详解,介绍SCN与Oracle数据库恢复的关系和SCN在数据库中的作用 一.为什么需要System checkpoint SCN号与Datafile Che ...

  5. CV学习笔记-BP神经网络训练实例(含详细计算过程与公式推导)

    BP神经网络训练实例 1. BP神经网络 关于BP神经网络在我的上一篇博客<CV学习笔记-推理和训练>中已有介绍,在此不做赘述.本篇中涉及的一些关于BP神经网络的概念与基础知识均在< ...

  6. PyQt5学习笔记——一文详解QObject

    QObject详解笔记1 一.简介 QObject是所有Qt对象的基类 二.功能作用 2.1 对象名称.属性 2.1.1 API setObjectName("唯一名称") 给QT ...

  7. shell入门学习笔记-12-命令详解: echo与printf

    系列目录与参考文献传送门: shell入门学习笔记-序章 命令详解 admindeMacBook-Pro:myshell admin$ type cd cd is a shell builtin ad ...

  8. CoAP学习笔记——CoAP格式详解

    0 前言 CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型 ...

  9. Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解

    前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY  <源路径> .. ...

最新文章

  1. 最佳置换算法(OPT)
  2. Python中matplotlib默认绘制的条形图比较胖?如何设置成体型匀称的条形图,达到最佳的可视化效果。
  3. K8s中的external-traffic-policy是什么?
  4. Bootstrap的全局css样式部分
  5. cad2014卡顿的解决方法_微软Office打开文件卡顿、缓慢的解决方法
  6. 单人制作游戏手册之五:好看的素材令人心旷神怡!
  7. AttributeError: ‘str‘ object has no attribute ‘read‘
  8. MongoDB在不同主机间复制数据库和集合的教程_MongoDB_脚本之家
  9. SCCM 2012系列16 操作系统播发⑤
  10. python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...
  11. C++ DNN Opencv3.4 实现人脸计数和人脸检测
  12. linux 进程崩溃log,linux调试:dmesg 查看程序崩溃原因分析方法之一
  13. java编程思想 Chapter 2
  14. Linux 查看资源占用top参数详解
  15. Spring源码之ApplicationContext(二)准备工作
  16. 中文分词与马尔科夫模型之二(隐马尔科夫模型与维特比)
  17. 从全面了解高级计量经济学体系+stata实操+实证研究前沿+论文+大数据机器学习+空间计量......._Stata高级计量经济学 陈强
  18. ESP32 优化笔记(一)内存优化
  19. Win11系统打开电脑磁盘显示磁盘错误无法打开怎么办?
  20. glut glfw glad SOIL glm freetype等配置

热门文章

  1. ANACONDA安装更新第三方包
  2. tomcat环境变量参数catalina.home和catalina.base的设置位置
  3. java c3p0 连接 mysql_Java使用C3P0数据源链接数据库
  4. 九、springboot整合rabbitMQ
  5. 张拳石:深度学习可解释理论的统一体系与去芜存菁 | 青源 Talk 第 14 期
  6. 译者招募 | 《Java编程思想》作者Bruce Eckel新作On Java 8
  7. 为什么要学习响应式设计
  8. ICML 2020: 从Alignment 和 Uniformity的角度理解对比表征学习
  9. TensorFlow练习20: 使用深度学习破解字符验证码
  10. 连接以太网测试网Ropsten,本地账号和remix余额显示为0不同步的问题,Remix连接