BP神经网络的基本原理

时间:2022-09-08 08:55:43

2.1 BP神经网络基本原理

BP网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点。经过非线形变换,产生输出信号Yk,网络训练的每一个样本包含输入向量X和期望输出量t,网络输出值Y与期望输出值t之间的偏差,通过调整输入节点与隐层节点的联接强度取值Wij和隐层节点与输出节点之间的联接强度Tjk以及阈值,使误差沿梯度方向下降,经过重复学习训练,确定与最小误差相相应的网络參数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对相似样本的输入信息。自行处理输出误差最小的经过非线形转换的信息。

2.2 BP神经网络模型

BP网络模型包含其输入输出模型、作用函数模型、误差计算模型和自学习模型。

(1)节点输出模型

隐节点输出模型:Oj=f(∑Wij×Xi-q j)    (1)

输出节点输出模型:Yk=f(∑Tjk×Oj-q k) (2)

f-非线形作用函数;q -神经单元阈值。

图1 BP神经网络的基本原理典型BP网络结构模型

(2)作用函数模型

作用函数是反映下层输入对上层节点刺激脉冲强度的函数又称刺激函数,一般取为(0,1)内连续取值Sigmoid函数:                        f(x)=1/(1+e-x)                   (3)

(3)误差计算模型

误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:

Ep=1/2×∑(tpi-Opi)2                (4)

tpi- i节点的期望输出值。Opi-i节点计算输出值。

(4)自学习模型

神经网络的学习过程。即连接下层节点和上层节点之间的权重拒阵Wij的设定和误差修正过程。BP网络有师学习方式-须要设定期望值和无师学习方式-仅仅需输入模式之分。

自学习模型为

△Wij(n+1)= h ×Фi×Oj+a×△Wij(n) (5)

h -学习因子。Фi-输出节点i的计算误差;Oj-输出节点j的计算输出。a-动量因子。

2.3 BP网络模型的缺陷分析及优化策略

(1)学习因子h 的优化

採用变步长法依据输出误差大小自己主动调整学习因子,来降低迭代次数和加快收敛速度。

h =h +a×(Ep(n)- Ep(n-1))/ Ep(n) a为调整步长。0~1之间取值 (6)

(2)隐层节点数的优化

隐节点数的多少对网络性能的影响较大。当隐节点数太多时。会导致网络学习时间过长。甚至不能收敛;而当隐节点数过小时,网络的容错能力差。利用逐步回归分析法并进行參数的显著性检验来动态删除一些线形相关的隐节点,节点删除标准:当由该节点出发指向下一层节点的全部权值和阈值均落于死区(通常取±0.1、±0.05等区间)之中,则该节点可删除。最佳隐节点数L可參考以下公式计算:

L=(m+n)1/2+c (7)

m-输入节点数;n-输出节点数。c-介于1~10的常数。

(3)输入和输出神经元的确定

利用多元回归分析法对神经网络的输入參数进行处理。删除相关性强的输入參数,来降低输入节点数。

(4)算法优化

因为BP算法採用的是剃度下降法,因而易陷于局部最小而且训练时间较长。用基于生物免疫机制地既能全局搜索又能避免未成熟收敛的免疫遗传算法IGA代替传统BP算法来克服此缺点。

 3. 优化BP神经网络在系统安全评价中的应用

系统安全评价包含系统固有危急性评价、系统安全管理现状评价和系统现实危急性评价三方面内容。

当中固有危急性评价指标有物质火灾爆炸危急性、工艺危急性、设备装置危急性、环境危急性以及人的不可靠性。

3.1 基于优化BP神经网络的系统安全评价模型

ad=google051121&adurl=http://services.google.com/marketing/links/CN-OA-CDJAM-1121-CSDN-120-join">

BP神经网络的基本原理

图-2 基于优化BP神经网络的系统安全评价模型

3.2 BP神经网络在系统安全评价中的应用实现

(1)确定网络的拓扑结构。包含中间隐层的层数。输入层、输出层和隐层的节点数。

(2)确定被评价系统的指标体系包含特征參数和状态參数

运用神经网络进行安全评价时,首先必须确定评价系统的内部构成和外部环境。确定能够正确反映被评价对象安全状态的主要特征參数(输入节点数,各节点实际含义及其表达形式等),以及这些參数下系统的状态(输出节点数,各节点实际含义及其表达方式等)。

(3)选择学习样本。供神经网络学习

选取多组相应系统不同状态參数值时的特征參数值作为学习样本,供网络系统学习。这些样本应尽可能地反映各种安全状态。当中对系统特征參数进行(-∞,∞)区间地预处理,对系统參数应进行(0,1)区间地预处理。神经网络的学习过程即依据样本确定网络的联接权值和误差重复修正的过程。

(4)确定作用函数。通常选择非线形S型函数

(5) 建立系统安全评价知识库

通过网络学习确认的网络结构包含:输入、输出和隐节点数以及反映其间关联度的网络权值的组合。即为具有推理机制的被评价系统的安全评价知识库。

(6) 进行实际系统的安全评价

经过训练的神经网络将实际评价系统的特征值转换后输入到已具有推理功能的神经网络中。运用系统安全评价知识库处理后得到评价实际系统的安全状态的评价结果。

实际系统的评价结果又作为新的学习样本输入神经网络,使系统安全评价知识库进一步充实。

3.3 BP神经网络理论应用于系统安全评价中的长处

(1)利用神经网络并行结构和并行处理的特征,通过适当选择评价项目,能克服安全评价的片面性。能够全面评价系统的安全状况和多因数共同作用下的安全状态。

(2)运用神经网络知识存储和自适应特征,通过适应补充学习样本,能够实现历史经验与新知识完满结合。在发展过程中动态地评价系统的安全状态。

(3)利用神经网络理论的容错特征。通过选取适当的作用函数和数据结构,能够处理各种非数值性指标,实现对系统安全状态的模糊评价。

BP神经网络的基本原理的更多相关文章

  1. BP神经网络基本原理

    2.1 BP神经网络基本原理 BP网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号Yk,网络训练的每一个样本包含输入向量X和期望输出量t,网 ...

  2. 	BP神经网络

     BP神经网络基本原理 BP神经网络是一种单向传播的多层前向网络,具有三层或多层以上的神经网络结构,其中包含输入层.隐含层和输出层的三层网络应用最为普遍. 网络中的上下层之间实现全连接,而每层神经元之 ...

  3. BP神经网络学习笔记_附源代码

    BP神经网络基本原理: 误差逆传播(back propagation, BP)算法是一种计算单个权值变化引起网络性能变化的较为简单的方法.由于BP算法过程包含从输出节点开始,反向地向第一隐含层(即最接 ...

  4. bp神经网络及matlab实现

    本文主要内容包含: (1) 介绍神经网络基本原理,(2) AForge.NET实现前向神经网络的方法,(3) Matlab实现前向神经网络的方法 . 第0节.引例  本文以Fisher的Iris数据集 ...

  5. 神经网络中的BP神经网络和贝叶斯

    1 贝叶斯网络在地学中的应用 1 1.1基本原理及发展过程 1 1.2 具体的研究与应用 4 2 BP神经网络在地学中的应用 6 2.1BP神经网络简介 6 2.2基本原理 7 2.3 在地学中的具体 ...

  6. 模式识别之ocr项目---(模板匹配&BP神经网络训练)

    摘 要 在MATLAB环境下利用USB摄像头采集字符图像,读取一帧保存为图像,然后对读取保存的字符图像,灰度化,二值化,在此基础上做倾斜矫正,对矫正的图像进行滤波平滑处理,然后对字符区域进行提取分割出 ...

  7. 字符识别OCR研究一(模板匹配&BP神经网络训练)

    摘 要 在MATLAB环境下利用USB摄像头採集字符图像.读取一帧保存为图像.然后对读取保存的字符图像,灰度化.二值化,在此基础上做倾斜矫正.对矫正的图像进行滤波平滑处理,然后对字符区域进行提取切割出 ...

  8. 基于BP神经网络的简单字符识别算法自小结(C语言版)

    本文均属自己阅读源代码的点滴总结.转账请注明出处谢谢. 欢迎和大家交流.qq:1037701636 email:gzzaigcn2009@163.com 写在前面的闲话: 自我感觉自己应该不是一个非常 ...

  9. BP神经网络原理及python实现

    [废话外传]:终于要讲神经网络了,这个让我踏进机器学习大门,让我读研,改变我人生命运的四个字!话说那么一天,我在乱点百度,看到了这样的内容: 看到这么高大上,这么牛逼的定义,怎么能不让我这个技术宅男心 ...

随机推荐

  1. jq实现发送短信验证码

    前端的工作经常会涉及到短信验证的功能(注册或获取当前手机号信息),于是自己也写了一个,路过的小伙伴可以看一下 未点击状态 点击之后的状态 var timer=""; ; var v ...

  2. MVC FormCollection collection

    1.通过name获取值 collection.GetValues() 返回一个数组,适用于多选等,如果是单值可以[0] 2.直接转化为实体 将Action动作中传递的FormCollection转变成 ...

  3. codevs3250 操作序列

    题目描述 Description Petya是一个非常好玩孩子.他很无聊,因此他开始玩下面的游戏: 他得到一个长度为N的整数序列,他会对这些数字进行操作,他可以把某个数的数值加1或者减1(当然他可以对 ...

  4. Making my own Autonomous Robot in ROS / Gazebo, Day 1: Building the static model

    Day 1: Setting up ROS: Indigo OS: Ubuntu 14.04 OS: Gazebo 7.0.0 Initialize the workspace To create t ...

  5. java 枚举类型知识点记录

    在日常开发中,我们常用接口装常量或者在类里面写静态常量,java1.5以后加入了枚举类型enum.枚举类型是由一组固定的常量组成的类型.枚举本质是int值.因为枚举类型没有可以访问的构造器,所以枚举类 ...

  6. C语言使用cmd命令并获取输出方法

    转自http://blog.csdn.net/hxh129/article/details/8000205 C语言使用cmd命令并获取输出方法 在实践中,我们有时候需要用C语言来调用cmd的命令,并得 ...

  7. html,CSS文字大小单位px、em、pt的关系换算

    html,CSS文字大小单位px.em.pt的关系换算 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与 ...

  8. 【转】详解spring事务属性

    转载自:http://blog.chinaunix.net/u1/55983/showart_2091761.html 7个传播行为,4个隔离级别, Spring事务的传播行为和隔离级别[transa ...

  9. js学习记录

    1.js语法 2.数据类型(基本类型与对象类型.类型的转换) 2.1 数字 2.2 文本 2.3 布尔值 2.4 null和undefined 2.5 对象 2.6 类型检测 3.操作符和表达式 4. ...

  10. JSON数据与JavaScript对象转换

    使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...