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网络结构模型

(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">

图-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. 关于java堆内存溢出的几种情况(转)

    [情况一]: java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环: 如果是java堆内存不够 ...

  2. POJ 3340 & HDU 2410 Barbara Bennett's Wild Numbers(数学)

    题目链接: PKU:http://poj.org/problem?id=3340 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=2410 Descript ...

  3. [置顶] ※数据结构※→☆线性表结构(stack)☆============栈 序列表结构(stack sequence)(六)

    栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表.栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据.栈 ...

  4. 谈谈android反编译和防止反编译的方法(转)

    谈谈android反编译和防止反编译的方法(转) android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的 ...

  5. UVa 1292 - Strategic game (树形dp)

    本文出自   http://blog.csdn.net/shuangde800 题目链接: 点击打开链接 题目大意 给定一棵树,选择尽量少的节点,使得每个没有选中的结点至少和一个已选结点相邻. 思路 ...

  6. POJ 3652 & ZOJ 2934 & HDU 2721 Persistent Bits(数学 元)

    主题链接: PKU:http://poj.org/problem?id=3652 ZJU:http://acm.zju.edu.cn/onlinejudge/showProblem.do? probl ...

  7. 我的Android学习之旅(转)

    去年大概在七月份的时候误打误撞接触了一阵子Android,之后由于工作时间比较忙,无暇顾及,九月份的时候自己空闲的时间比较多,公司相对来说加班情况没以前严重.开启了个人的Android学习之旅,初衷是 ...

  8. 低版本的 opencv库的 vs2010 打开 高版本opencv

    打开track.vcxproj文件, 注释掉跟版本有关的行就可. 本例子中,当用双击.sln用vs2010打开高版本的opencv项目时,会出现错误, 并且会有错误信息提示,双击该错误信息,就会打开该 ...

  9. Knockout应用开发指南 第二章:监控属性(Observables)

    原文:Knockout应用开发指南 第二章:监控属性(Observables) 关于Knockout的3个重要概念(Observables,DependentObservables,Observabl ...

  10. java-IO操作性能对照

    在软件系统中.IO速度比内存速度慢,IO读写在非常多情况下会是系统的瓶颈. 在java标准IO操作中,InputStream和OutputStream提供基于流的IO操作.以字节为处理单位:Reade ...