BP神经网络概念

BP神经网络的计算过程:

正向计算过程反向计算过程组成;

正向计算过程,输入模式从输入层经隐单元层逐层处理,并转向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入反向计算,将误差信号沿原来的连接通路返回,通过修改各神经元的权值,使得误差信号最小;


1.正向计算

2.反向计算

  • 误差传递

采用矩阵就算反向传递的误差:

  •  权重更新

为了使网络计算的输出值与实际值趋近,需要一个衡量标准,该标准就是这个误差值,而计算输出值是权重决定的,所以需要找到权重是怎样影响输出的,所以通过权重与误差进行求导,计算权重变化时的误差变化情况,找出误差随着权重变化的那个最小值对应的权重即要确定的权重;

求解误差变化率:

根据误差计算更新的权重值:

更新权重示例:

1)(tk-ok)=e1=0.8

2)S函数内的求和Σjwj,koj为(2.0×0.4)+(3.0 * 0.5)=2.3

3)sigmoid 1/(1+e -2.3) 为0.909。中间的表达式为0.909 *(1-0.909)=0.083

4)由于我们感兴趣的是权重w1,1,其中j=1,因此最后一项oj也很简单,也就是oj=1。此处,oj值就是0.4

5)将上项相乘,同时不要忘记表达式前的负号,最后我们得到-0.0265。如果学习率为0.1,那么得出的改变量为-(0.1 * -0.02650)=+0.002650。因此,新的w1,1就是原来的2.0加上0.00265等于2.00265

3.初始数据

  • 输入:

0~1,不能为0,避免无学习能力;

  • 输出:

0~1;

  • 权重:

经验值:

±1/√n;n是一个节点传入链接数量传入链接数量,不能为0,否则无学习能力;

[BPNN]BP神经网络概念的更多相关文章

  1. [BPNN]BP神经网络实现

    BP神经网络实现 以3层网络为例,Python实现: 1.代码框架 主要函数: Init函数:设定InputLayer nodes.HiddenLayer nodes.OutputLayer node ...

  2. 基于Storm 分布式BP神经网络,将神经网络做成实时分布式架构

    将神经网络做成实时分布式架构: Storm 分布式BP神经网络:    http://bbs.csdn.net/topics/390717623 流式大数据处理的三种框架:Storm,Spark和Sa ...

  3. BP神经网络算法学习

    BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是眼下应用最广泛的神经网络模型之中的一个 ...

  4. BP 神经网络

    BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一.BP ...

  5. Python实现bp神经网络识别MNIST数据集

    title: "Python实现bp神经网络识别MNIST数据集" date: 2018-06-18T14:01:49+08:00 tags: [""] cat ...

  6. BP神经网络与Python实现

    人工神经网络是一种经典的机器学习模型,随着深度学习的发展神经网络模型日益完善. 联想大家熟悉的回归问题, 神经网络模型实际上是根据训练样本创造出一个多维输入多维输出的函数, 并使用该函数进行预测, 网 ...

  7. 机器学习(4):BP神经网络原理及其python实现

    BP神经网络是深度学习的重要基础,它是深度学习的重要前行算法之一,因此理解BP神经网络原理以及实现技巧非常有必要.接下来,我们对原理和实现展开讨论. 1.原理  有空再慢慢补上,请先参考老外一篇不错的 ...

  8. 转载——关于bp神经网络

    一.BP神经网络的概念     BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的.具体来说,对于如下的只含一个隐层的神经网络模型: (三层BP神经网络模型) ...

  9. BP神经网络-- 基本模型

    转载:http://www.cnblogs.com/jzhlin/archive/2012/07/28/bp.html BP 神经网络中的 BP 为 Back  Propagation 的简写,最早它 ...

随机推荐

  1. DOM的方法和属性

    HTML DOM 方法是我们可以在节点(HTML 元素)上执行的动作. HTML DOM 属性是我们可以在节点(HTML 元素)设置和修改的值. 编程接口 可通过 JavaScript (以及其他编程 ...

  2. shiro登录认证过程讲解

      先粘出登录的代码 1. 可以看到已经获取到了username和password ,为了接下来的认证过程,我们需要获取subject对象,也就是代表当前登录用户,并且要将username和passw ...

  3. sql 中联合查询语句

    在查询语句中 两张表进行查询,可以通过 left join (左连接查询) :返回左表中的所有记录和右表中联结字段相等的记录  (意思就是左表中的数据会全部显示,右表中只会显示和左表中相等的字段) r ...

  4. 记录一下自己搭建springboot+mybatis+druid 多数据源的过程

    前言  上次的一个项目(springboot+mybatis+vue),做到后面的时间发现需要用到多数据源.当时没有思路..后来直接用了jdbc来实现.这几天不是很忙,所以决定自己再搭建一次.不多说, ...

  5. AcWing 861. 二分图的最大匹配 匈牙利算法

    #include <cstring> #include <iostream> #include <algorithm> using namespace std; , ...

  6. Python学习(七)——匿名函数、map函数、filter函数、reduce函数与其他内置函数

    匿名函数 lambda x: x + 1 # lambda:定义匿名函数的关键字 # x:形参 # x+1:程序处理逻辑 fun = lambda x: x + 1 print(fun(5)) #6 ...

  7. 【SSH】spring 整合 hibernate

    spring-hibernate-1.2.9.jar applicationContext.xml <bean id="sessionFactory" class=" ...

  8. python的scribe client

    在网上找了一个python的scribe client使用方法 依赖的模块: pip install facebook-scribe pip install thrift 代码例子: #!/usr/b ...

  9. C语言实例——判断是否为闰年

    实例要求从键盘输入任意年份的整数 N,通过程序运行判断该年份是否为闰年. 算法思想 判断任意年份是否为闰年,需要满足以下条件中的任意一个:① 该年份能被 4 整除同时不能被 100 整除:② 该年份能 ...

  10. docker容器虚拟化网络

    linux内核支持六种名称空间 1.主机名和域名  ------->  UTS 2.用户  -------->  User 3.文件挂载系统   ------->  mount 4. ...