前言

bp神经网络是模拟人体中神经元结构而设计出来的:

  神经元大致可以分为树突、突触、细胞体和轴突。树突为神经元的输入通道,其功能是将其它神经元的动作电位传递至细胞体。其它神经元的动作电位借由位于树突分支上的多个突触传递至树突上。神经细胞可以视为有两种状态的机器,激活时为“是”,不激活时为“否”。神经细胞的状态取决于从其他神经细胞接收到的信号量,以及突触的性质(抑制或加强)。当信号量超过某个阈值时,细胞体就会被激活,产生电脉冲。电脉冲沿着轴突并通过突触传递到其它神经元。

一、什么是bp神经网络

BP(BackPropagation) 算法是神经网络深度学习中最重要的算法之一,是一种按照误
差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络模型之一 。
基本结构如图:
其主要包含三部分(由左到右)
1:输入层:输入数据
2:隐含层:输入与输出之间的数据分析加工厂,通过各种参数(权重,偏差值)以及激活函数等其他数据处理方法与两边建立联系。
3:输出层:输出结果
但是仅仅根据图示进行一次显然无法保证结果的准确,所以接下来涉及两个重要概念:
1:正向传播
输入层的神经元负责接受外界发来的各种信息,并将信息传递给中间层 神经元,中间隐含层神经元负责将接收到的信息进行处理变换,根据需求处理信息, 实际应用中可将中间隐含层设置为一层或者多层隐含层结构,并通过最后一层的隐含层将信息传递到输出层,这个过程就是BP神经网络的正向传播过程。
2:反向传播
当实际输出与理想输出之间的误差超过期望时,就需要进入误差的反向 传播过程。它首先从输出层开始,误差按照梯度下降的方法对各层权值进行修正,并 依次向隐含层、输入层传播。通过不断的信息正向传播和误差反向传播,各层权值会 不断进行调整,这就是神经网络的学习训练。当输出的误差减小到期望程度或者预先设定的学习迭代次数时,训练结束,BP神经网络完成学习。

二、bp神经网络的推导过程

1:隐藏神经元设置方法

如果 BP 神经网络中输入层节点数为 m 个,输出层节点是为 n 个,则由下式式
可推出隐藏层节点数为 s 个。 其中 b 一般为 1-9 的整数。

2:激活函数(举例)

推导采用sigmoid函数

3.推导

正向传播:

反向调整权重:

1:求误差

Etotal:总误差

targert:目标值

output:实际输出值

2.改权值

深度学习之BP神经网络相关推荐

  1. bp 神经网络 优点 不足_深度学习之BP神经网络--Stata和R同步实现(附Stata数据和代码)

    说明:本文原发于"计量经济圈"公众号,在此仅展示Stata的部分.R部分请移步至本人主页的"R语言与机器学习--经济学视角"专栏,或点击下方链接卡跳转. 盲区行 ...

  2. [深度学习-实践]BP神经网络的Helloworld(手写体识别和Fashion_mnist)

    前言 原理部分请看这里 [深度学习-原理]BP神经网络 Tensorflow2 实现一个简单的识别衣服的例子 数据集Fashion_mnist, 此数据集包含10类型的衣服 ('T-shirt/top ...

  3. 深度学习基础: BP神经网络训练MNIST数据集

    BP 神经网络训练MNIST数据集 不用任何深度学习框架,一起写一个神经网络训练MNIST数据集 本文试图让您通过手写一个简单的demo来讨论 1. 导包 import numpy as np imp ...

  4. [深度学习-原理]BP神经网络

    前言 BP(back propagation)神经网络 1. 什么是人工神经网络? 首先给出一个经典的定义:"神经网络是由具有适应性的简单单元组成的广泛并行互连网络,它的组织能够模拟生物神经 ...

  5. 深度学习之卷积神经网络(Convolutional Neural Networks, CNN)(二)

    前面我们说了CNN的一般层次结构, 每个层的作用及其参数的优缺点等内容.深度学习之卷积神经网络(Convolutional Neural Networks, CNN)_fenglepeng的博客-CS ...

  6. 深度学习之卷积神经网络(Convolutional Neural Networks, CNN)

    前面, 介绍了DNN及其参数求解的方法(深度学习之 BP 算法),我们知道DNN仍然存在很多的问题,其中最主要的就是BP求解可能造成的梯度消失和梯度爆炸.那么,人们又是怎么解决这个问题的呢?本节的卷积 ...

  7. 零基础入门深度学习(5) - 循环神经网络

    往期回顾 在前面的文章系列文章中,我们介绍了全连接神经网络和卷积神经网络,以及它们的训练和使用.他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的.但是,某些任务需要能够更好的 ...

  8. 水很深的深度学习-Task03前馈神经网络

    本文参考 Datawhale:水很深的深度学习 深度学习(四)-前馈神经网络_未名湖畔的落叶-CSDN博客_前馈神经网络 神经元模型   在前馈神经网络中,各神经元分别属于不同的层.每一层的神经元可以 ...

  9. 深度学习原理-----循环神经网络(RNN、LSTM)

    系列文章目录 深度学习原理-----线性回归+梯度下降法 深度学习原理-----逻辑回归算法 深度学习原理-----全连接神经网络 深度学习原理-----卷积神经网络 深度学习原理-----循环神经网 ...

最新文章

  1. HDU 5119 Happy Matt Friends(递推)
  2. 海洋工作室——网站建设专家:How to check the SQL statement execute time on SQL Server ?...
  3. input type=text 无法使用.html(),input type=”text” (Elements) – HTML 中文开发手册
  4. 2021牛客多校1 - Journey among Railway Stations(线段树区间合并)
  5. Unix 文件系统读写时权限校验
  6. 华为堡垒机_运维堡垒机----Gateone
  7. python 基因序列提取_科学网—简单的Python脚本提取对应位置基因序列(fasta文件) - 王彬忠的博文...
  8. CCNA之三:RIP协议
  9. 这可能是现实版程序员!
  10. Aspectj快速上手代码示例之Before,After,Around
  11. Java并发编程的艺术 记录(三)
  12. noip2017颓废记
  13. pass 软件_杀毒软件哪家强?今天来聊聊关于保护你电脑的杀毒软件那些事!
  14. [网络流24题] 软件补丁问题
  15. 面试官的技巧---如何高效地面试
  16. C语言结构体所占用的字节数如何计算
  17. 农业农村部:发现生猪、野猪异常死亡应立即报告
  18. python访问纯真IP数据库的代码
  19. js字符串时间格式与中国标准时间格式相互转换
  20. 易语言删除全部空白字符

热门文章

  1. js设置cookie有效期,并获取存储的cookie值
  2. linux中wps默认安装目录,在Linux中安装和使用wps
  3. python的中文分词
  4. 我的Java春季历程,思维导图+源代码+笔记+项目
  5. Java 脚本引擎 Rhino的学习
  6. 因子模型:协方差矩阵
  7. VMWare使用鼠标额外的功能键
  8. VS2005 中动态链接库引入库的设置方法
  9. window屏幕保护程序没有可以设置的选项
  10. TFS(Team Foundation Server)服务器搭建图文教程(tfs2015)