前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的神经网络本质主题范文,仅供参考,欢迎阅读并收藏。
Abstract: The technology of affecting the output accuracy of artificial neural network model has affected widespread ettention,and influence researches of sample quality to neural network output accuracy are very few,and the majority of these researcher about neural network structure. This paper analyses the influence of the sample to the output of artificial neural network,having important significance to improve accuracy of neural network output.
关键词: 人工神经网络;局部影响;BP神经网络;算法
Key words: artificial neural networks;local influence;BP neural network;algorithm
中图分类号:TP393.092 文献标识码:A文章编号:1006-4311(2010)07-0144-02
0引言
神经网络应用到预测有许多问题需要解决, 其中最为突出的问题就是没有一个确定的最合适的神经网络结构的标准方法,由于影响神经网络预测能力的参数很多,本文针对最为常用的BP神经网络,对影响神经网络预测精度的样本质量进行了详细分析和研究, 并在此基础上,给出优化样本后的具体例子。
1样本质量对网络的影响
用于神经网络的样本分为训练样本和测试样本,训练样本的质量在一定程度上决定着预测精度。首先,训练样本和待预测样本的均值存在较大差异, 预测误差会随着长时间的训练而增大。其次,训练误差会随着训练样本和待预测样本均值间差异的增大而增大。再次,训练误差会随着训练样本和待预测样本方差间差异的增大而增大[1]。下面是文献[1]对样本质量分析的方法。
文献[1]的人工神经网络预测误差为e=em+et+er,其中,e为预测误差;em为模型误差,它由所建回归模型与实际系统的差异引起的;et为最终的训练误差;er为人工神经网络训练和预测过程中引入的随机误差。et和er的存在是不可避免的,而em为:em=ef+ed,式中ef为实际输出值与预测输出值之间的误差,它反映了样本质量;为由不正确的嵌入维数引起的误差, 它可通过选择合适的输入神经元数来消除。
为了评价训练样本质量,根据ef提出“一致度”的指标。文献[1]定义了伪距离DCTP-D,但计算伪距离是相当复杂的,难于实现对样本质量的分析和应用。下面用协方差比统计量分析训练样本对预测精度的影响。
设训练样本为θ,是神经网络的输出,i是从θ中剔除第i个数据点的神经网络输出。则剔除第i个数据点的协方差比统计量CR=cv()cv()表明了剔除第个数据点对神经网络输出精度的影响,从精度方面刻画了第i个数据点的重要程度。CRi-1的值越大,对预测精度(神经网络输出)的影响越大。在使用PB神经网络预测时先对训练样本进行筛选,剔除对网络输出结果影响小的样本点。
样本精简:矩阵初等行变换能保持矩阵列向量之间的线性关系,利用这个结论我们可以用来进行样本数据的精简,这样精简后的样本数据能够保持各属性字段之间的线性关系。神经网络的训练实际上是一个通过给定样本实时调整网络连接权重的过程,样本预处理的结果对于网络训练的收敛性起到关键的作用。
2实例分析
本文采用麻省理工大学林肯实验室的测试数据KDDCUP99,它是专门用来进行入侵检测评估的。我们采用数据集上的一个子集10%作为实验数据源,它一共包含有494021条网络连接,其中正常连接97277 条,异常连接396744条。
下面我们针对DOS攻击类型数据(DOS攻击类型编码为“0 0 0 1”)进行分析。
设A为样本数据矩阵,其中每一行向量表示一条样本数据,则该行向量含34个数据,假设有a条样本,则A为a行34列矩阵;由于每条样本数据输入网络后都会有一条对应的输出,加上本实例为DOS攻击类型以编码“0 0 0 1”表示,则期望输出矩阵B为a行4列矩阵(暂时先不考虑阈值,只考虑权重问题)。本文BP神经网络的输入节点数为34个,隐含层节点数为15个,输出层节点数为4个虽然神经网络的连接权重可以用一个实数串进行表示,但在进行网络的训练时,还需要将实数串分为两部分,设输入层到隐含层的连接权重矩阵为W1,则W1为34行15列矩阵;同理,隐含层到输出层的连接权重矩阵W2为15行4列矩阵。于是我们可以得到公式(1)。
AWW=B(1)
如式(2)所示,A和B是系数矩阵 ,C是增广矩阵。经过带约束初等行变换后如式(3)所示。
C=[AB](2)
C=[AB]A′B′C D(3)
式(3)中,C、D为零矩阵,经过处理以后,由原先的A对应输出B变成了现在的A′对应输出B′,通过这样的处理,我们就可以将大样本变为小样本,从而使计算更加快速,样本数据更加精简。 为了能使样本应用于本文提出的分类检测器同步检测模型,我们将样本数据先进行归类合并,分别构造出DOS、PROBE、U2R、R2L四大类攻击样本数据集,这样四个检测器分别检测四大类攻击。为了降低可疑攻击数,即四大攻击类型数据集之间的重叠记录数要少。精度过大会增加计算量,从而会降低学习速度;精度过小,会使记录重叠数增加,从而造成可疑攻击数增加,影响训练结果。
对训练样本用上述方法进行优化后,利用矩阵初等行变换能保持矩阵列向量之间的线性关系这个结论,我们可以进一步对样本数据的精简,这样精简后的样本数据能够保持各属性字段之间的线性关系。神经网络的训练实际上是一个通过给定样本实时调整网络连接权重的过程,样本预处理的结果对于网络训练的收敛性起到关键的作用。
3结论
(1)分析神经网络进行非线性预测多变量预测的优越性以及神经网络用于预测的缺点所在。
(2)提出了影响网络预测能力的五个重要参数:样本质量、样本归一化、输人层节点数、隐层节点数及网络训练允许误差目标值。
(3)在一定允许训练误差的情况下,研究了无个参数对网络预测精度的影响,发现存在一个最优的样本、输入层节点数和隐层节点数,这样的网络具有较强的预测能力。
(4)本文用遗传算法构造了同时优化影响神经网络预测精度的参数(输入层节点数、隐层节点数及样本允许训练误差)的算法, 得到了较优的网络预测模型最后, 用算例验证了本文分析结果的正确性。
参考文献:
[1]陈果.神经网络模型的预测精度影响因素分析[J].北京: 模式识别与人工智能,2005,18(5):528-533.
[2]蒋林,陈涛,屈梁生.训练样本质量对人工神经网络性能的影响[J].北京:中国机械工程,1979,8(2):50-53.
[3]李敏强,徐博艺,寇纪淞.遗传算法与神经网络的结合[J].北京:系统工程理论与实践,1999(2).
[4]吴怀宇,宋玉阶.非线性回归分析中的神经网络方法[J].武汉:武汉冶金科技大学学报,1998,21(1):90-93.
关键词:神经网络;模糊逻辑;模式识别;具体应用
现阶段人工智能领域正在开展关于多种智能识别方法的融合应用来改善识别效果,基于模糊逻辑与神经网络而成的模糊神经网络对于真正智能模拟的实现有着极为重要的作用。
1.模式识别概述
模式在本质上是一个内涵十分丰富的概念,其主要是指人类可以利用感官直接或间接接受的外界信息,Watanabe等人在研究中将模式定义为:凡是可以给出一个名字的便可以称为“模式”,并且其在定义过程中将某些具有共同特性的模式集合统称为“模式类”。“模式识别”在本质上是识别特定事物或模式相同点与相似点的过程,所以在研究过程中主要是利用自动技术来实现这一过程,在该类技术的支撑下计算机可以自动地将待识别模式分配到各自的模式类中,在这个过程中用到的技术统称为模式识别技术,尤其是在计算机技术的支撑下使其发展形成一种模拟人的识别方法,所以对于模式识别的概念应该定义为自动判别和分类的过程。模式识别的过程为研究对象、数据采集、数据预处理、测量空间、特征选择与提出、特征空间比对、模式分类、储存至类型空间等,对于整个模式识别过程来说数据采集、数据预处理、特征提取以及特征选择是其重点。在模式识别中,数据预处理后所获取的原始数据所在空间则被称为测量空间,将模式进行分类的空间则称为特征空间。模式识别系统在设计过程中主要由学习模块与测试模块两个核心模块组成,并且整个系统在运行过程中具备训练模式样本特征数据输入、制定分类判决规则、错误率检测、模式样本特征选择和正特提取方法调整等多项功能。
2.模式识别系统分析
模式识别系统在运行中的学习模块与测试模块中都设计了数据预处理的功能,其可以根据用户需求将感兴趣的模式从背景中进行分离处理,并且可以避免噪声信号对整个系统的运行产生影响,还可以根据用户的实际需求来建立标准化模式样本等。学习模块在运行中会将已知的样本模式进行数值化处理后输入计算机,这个过程被称为训练模式样本特征数据的输入,系统可以对输入的样本进行分析并排除无效或容易出现混淆的特征,对于一些对分类判别有效的数据特征则可以进行界定并保留,这个过程被称为模式识别系统在运行阶段的特征选择。
模式识别系统在运行过程中还需要将一些变换技术作为支撑,这是因为通过变换技术的应用可以得出比原来数目少的综合性特征作为分类用,这一过程被称为特征维数压缩或特征提取,系统会按照设想的分类判决数学模型对样本模式进行训练来得出分类的判决规则。模式识别系统在获取判决规则后便可以开始整个识别过程,其需要将未知模式特征数据进行采集、选择与提取,然后根据已有的判决规则对输入的模式进行分类,最后便可以根据用户需求来输入整个模式识别的结果。系统还可以将已识别的分类结果与已知分类输入模式进行对比,以便于对判决规则与特征选择、提取方法进行不断的优化,系统只有在该种模式下才能制定出错误率最小的判决规则与特征选择、提取策略,对于模式识别系统来说,这一过程被称为再学习的过程。
3.神经网络在模式识别中的具体应用
国内在较早阶段便开始了神经网络在模式识别中应用的相关研究,但是学者所提出的研究成果并没有得到广泛应用。在20世纪80年代末期,我国一些专家对模式识别在地震特征提取等方面的应用进行了优化与改进,并结合不同地区不同地质条件开展了一系列试验研究,先后取得了很多效果十分显著的成果,并且在这个基础上为整个系统增加了人机交互功能,改进后的模式识别系统开始在国内相关领域中得到了广泛应用。我国部分领域所使用的模式识别系统在最初以统计识别策略为主,在最近几年才将神经网络识别策略应用于模式识别系统中。20世纪80年代后期,世界上关于人工神经网络的研究开始进入一个热潮,这是因为在该阶段由Rumelhart等人在研究中提出了反向传播学习算法,对于神经网络来说其可以有效解决前馈反向神经网络学习训练的问题,所以对于整个神经网络研究领域来说开辟了一条新的途径。前馈反向神经网络学习问题的有效解决使神经网络的各项优势充分彰显出来,而前馈反向神经网络模式识别则成为模式识别中的一个核心发展方向,并且开始被广泛应用于生物、医学、地质以及化工等产品检测领域中,本文认为关于神经网络在模式识别中的应用将会给社会带来巨大变革,同时也意味着基于神经网络的模式识别技术将成为网络数字化时代的一项核心技术。
4.结语
现阶段前馈反向神经网络模式识别已经开始在社会各领域进行实践应用,虽然在该技术体系中还存在一些不足与缺陷,但是在现代科技的支持下其势必会迎来一个新的发展时期,对于我国社会各生产领域来说有着极为重要的推动作用。
参考文献:
[1]汪烈军.一种改进的结构自适应自组织神经网络算法[J].微电子学与计算机,2007(01).
[2]赵菊敏,程海青,张立毅.基于动量项前馈神经网络盲均衡算法[J].太原理工大学学报,2007(03).
本文主要介绍的模型和算法都是数据挖掘中最常见的和应用最广泛的,在计算机科学、统计数学、和人工智能领域的科学家们已经在研究和改进这些算法方面作了大量的工作。
【关键词】
数据挖掘;算法;神经网络
1 神经网络的应用
神经网络近来越来越受到人们的关注,因为它为解决大复杂度问题提供了一种相对来说比较有效的简单方法。神经网络可以很容易的解决具有上百个参数的问题。神经网络常用于两类问题;分类和回归。
在结构上,可以把一个神经网络划分为输入层、输出层和隐含层(见图1)。输入层的每个节点对应一个个的预测变量。输出层的节点对应目标变量,可有多个。在输入层和输出层之间是隐含层,隐含层的层数和每层节点的个数决定了神经网络的复杂度。
图1 一个神经元网络
除了输入层的节点,神经网络的每个节点都与很多它前面的节点(称为此节点的输入节点)连接在一起,每个连接对应一个权重Wxy,此节点的值就是通过它所有输入节点的值与对应连接权重乘积的和作为一个函数的输入而得到,我们把这个函数称为活动函数或挤压函数。如图2中节点4输出到节点6的值可通过如下计算得到:
W14*节点1的值+W24*节点2的值
神经网络的每个节点都可表示成预测变量(节点1,2)的值或值的组合(节点3-6)。注意节点6的值已经不再是节点1,2的线性组合,因为数据在隐含层中传递时使用了活动函数。实际上如果没有活动函数的话,神经元网络就等价于一个线性回归函数,如果此活动函数是某种特定的非线性函数,那神经网络又等价于逻辑回归。
调整节点间连接的权重就是在建立(也称训练)神经网络时要做的工作。最早的也是最基本的权重调整方法是错误回馈法,现在较新的有变化坡度法、类牛顿法、Levenberg-Marquardt法、和遗传算法等。
图2 带权重Wxy的神经元网络
决定神经网络拓扑结构(或体系结构)的是隐含层及其所含节点的个数,以及节点之间的连接方式。要从头开始设计一个神经网络,必须要决定隐含层和节点的数目,活动函数的形式,以及对权重做那些限制等。
2 传播式神经网络
在诸多类型的神经网络中,最常用的是前向传播式神经网络,也就是我们前面图示中所描绘的那种。我们下面详细讨论一下,为讨论方便假定只含有一层隐含节点。
可以认为错误回馈式训练法是变化坡度法的简化,其过程如下:
前向传播:数据从输入到输出的过程是一个从前向后的传播过程,后一节点的值通过它前面相连的节点传过来,然后把值按照各个连接权重的大小加权输入活动函数再得到新的值,进一步传播到下一个节点。
回馈:当节点的输出值与我们预期的值不同,也就是发生错误时,神经网络就要“学习”(从错误中学习)。我们可以把节点间连接的权重看成后一节点对前一节点的“信任”程度。学习的方法是采用惩罚的方法,过程如下:如果一节点输出发生错误,那么他看他的错
误是受哪个(些)输入节点的影响而造成的,是不是他最信任的节点(权重最高的节点)陷害了他(使他出错),如果是则要降低对他的信任值(降低权重),惩罚他们,同时升高那些做出正确建议节点的信任值。对那些收到惩罚的节点来说,他也需要用同样的方法来进一步惩罚它前面的节点。就这样把惩罚一步步向前传播直到输入节点为止。
对训练集中的每一条记录都要重复这个步骤,用前向传播得到输出值,如果发生错误,则用回馈法进行学习。当把训练集中的每一条记录都运行过一遍之后,我们称完成一个训练周期。要完成神经网络的训练可能需要很多个训练周期,经常是几百个。训练完成之后得到的神经网络就是在通过训练集发现的模型,描述了训练集中响应变量受预测变量影响的变化规律。
由于神经网络隐含层中的可变参数太多,如果训练时间足够长的话,神经网络很可能把训练集的所有细节信息都“记”下来,而不是建立一个忽略细节只具有规律性的模型,我们称这种情况为训练过度。显然这种“模型”对训练集会有很高的准确率,而一旦离开训练集应用到其他数据,很可能准确度急剧下降。为了防止这种训练过度的情况,我们必须知道在什么时候要停止训练。
图3中的曲线可以帮我们理解为什么利用测试集能防止训练过度的出现。在图中可以看到训练集和测试集的错误率在一开始都随着训练周期的增加不断降低,而测试集的错误率在达到一个谷底后反而上升,我们认为这个开始上升的时刻就是应该停止训练的时刻。
图3 神经网络在训练周期
增加时准确度的变化情况
3 神经网络的优点
神经元网络和统计方法在本质上有很多区别。神经网络的参数可以比统计方法多很多。如图1中就有13个参数(9个权重和4个限制条件)。由于参数如此之多,参数通过各种各样的组合方式来影响输出结果,以至于很难对一个神经网络表示的模型做出直观的解释。实际上神经网络也正是当做“黑盒”来用的,不用去管“黑盒”里面是什么,只管用就行了。在大部分情况下,这种限制条件是可以接受的。比如银行可能需要一个笔记识别软件,但他没必要知道为什么这些线条组合在一起就是一个人的签名,而另外一个相似的则不是。在很多复杂度很高的问题如化学试验、机器人、金融市场的模拟、和语言图像的识别等领域神经网络都取得了很好的效果。
4 在使用神经网络时有几点需要注意
第一,神经网络很难解释,目前还没有能对神经网络做出显而易见的解释的方法学。
第二,神经网络会学习过度,在训练神经网络时一定要恰当的使用一些能严格衡量神经网络的方法,如前面提到的测试集方法和交叉验证法等。这主要是由于神经网络太灵活、可变参数太多,如果给足够的时间,他几乎可以记住任何事情。
第三,除非问题非常简单,训练一个神经网络可能需要相当可观的时间才能完成。当然,一旦神经网络建立好了,在用它做预测时运行还是很快的。
第四,建立神经网络需要做的数据准备工作量很大。一个很有误导性的就是不管用什么数据神经网络都能很好的工作并做出准确的预测。这是不确切的,要想得到准确度高的模型必须认真的进行数据清洗、整理、转换、选择等工作,对任何数据挖掘技术都是这样,神经网络尤其注重这一点。
【参考文献】
熊熊,汪德馨,宋轶民.利用模糊神经网络进行模糊数据挖掘的一种算法[J].系统工程学报,2000,3(1):32-37.
人工神经网络(AartificialNeuralNetwork,下简称ANN)是模拟生物神经元的结构而提出的一种信息处理方法。早在1943年,已由心理学家WarrenS.Mcculloch和数学家WalthH.Pitts提出神经元数学模型,后被冷落了一段时间,80年代又迅猛兴起[1]。ANN之所以受到人们的普遍关注,是由于它具有本质的非线形特征、并行处理能力、强鲁棒性以及自组织自学习的能力。其中研究得最为成熟的是误差的反传模型算法(BP算法,BackPropagation),它的网络结构及算法直观、简单,在工业领域中应用较多。
经训练的ANN适用于利用分析振动数据对机器进行监控和故障检测,预测某些部件的疲劳寿命[2]。非线形神经网络补偿和鲁棒控制综合方法的应用(其鲁棒控制利用了变结构控制或滑动模控制),在实时工业控制执行程序中较为有效[3]。人工神经网络(ANN)和模糊逻辑(FuzzyLogic)的综合,实现了电动机故障检测的启发式推理。对非线形问题,可通过ANN的BP算法学习正常运行例子调整内部权值来准确求解[4]。
因此,对于电力系统这个存在着大量非线性的复杂大系统来讲,ANN理论在电力系统中的应用具有很大的潜力,目前已涉及到如暂态,动稳分析,负荷预报,机组最优组合,警报处理与故障诊断,配电网线损计算,发电规划,经济运行及电力系统控制等方面[5]。
本文介绍了一种基于人工神经网络(ANN)理论的保护原理。
1、人工神经网络理论概述
BP算法是一种监控学习技巧,它通过比较输出单元的真实输出和希望值之间的差别,调整网络路径的权值,以使下一次在相同的输入下,网络的输出接近于希望值。
在神经网络投运前,就应用大量的数据,包括正常运行的、不正常运行的,作为其训练内容,以一定的输入和期望的输出通过BP算法去不断修改网络的权值。在投运后,还可根据现场的特定情况进行现场学习,以扩充ANN内存知识量。从算法原理看,并行处理能力和非线是BP算法的一大优点。
2、神经网络型继电保护
神经网络理论的保护装置,可判别更复杂的模式,其因果关系是更复杂的、非线性的、模糊的、动态的和非平稳随机的。它是神经网络(ANN)与专家系统(ES)融为一体的神经网络专家系统,其中,ANN是数值的、联想的、自组织的、仿生的方式,ES是认知的和启发式的。
文献[1]认为全波数据窗建立的神经网络在准确性方面优于利用半波数据窗建立的神经网络,因此保护应选用全波数据窗。
ANN保护装置出厂后,还可以在投运单位如网调、省调实验室内进行学习,学习内容针对该省的保护的特别要求进行(如反措)。到现场,还可根据该站的干扰情况进行反误动、反拒动学习,特别是一些常出现波形间断的变电站内的高频保护。
3、结论
本文基于现代控制技术提出了人工神经网络理论的保护构想。神经网络软件的反应速度比纯数字计算软件快几十倍以上,这样,在相同的动作时间下,可以大大提高保护运算次数,以实现在时间上即次数上提高冗余度。超级秘书网
一套完整的ANN保护是需要有很多输入量的,如果对某套保护来说,区内、区外故障时其输入信号几乎相同,则很难以此作为训练样本训练保护,而每套保护都增多输入量,必然会使保护、二次接线复杂化。变电站综合自动化也许是解决该问题的一个较好方法,各套保护通过总线联网,交换信息,充分利用ANN的并行处理功能,每套保护均对其它线路信息进行加工,以此综合得出动作判据。每套保护可把每次录得的数据文件,加上对其动作正确性与否的判断,作为本身的训练内容,因为即使有时人工分析也不能区分哪些数据特征能使保护不正确动作,特别是高频模拟量。
神经网络的硬件芯片现在仍很昂贵,但技术成熟时,应利用硬件实现现在的软件功能。另外,神经网络的并行处理和信息分布存储机制还不十分清楚,如何选择的网络结构还没有充分的理论依据。所有这些都有待于对神经网络基本理论进行深入的研究,以形成完善的理论体系,创造出更适合于实际应用的新型网络及学习算法[5]。
参考文献
1、陈炳华。采用模式识别(智能型)的保护装置的设想。中国电机工程学会第五届全国继电保护学术会议,[会址不详],1993
2、RobertE.Uhrig.ApplicationofArtificialNeuralNetworksinIndustrialTechnology.IEEETrans,1994,10(3)。(1):371~377
3、LeeTH,WangQC,TanWK.AFrameworkforRobustNeuralNetwork-BasedControlofNonlinearServomechannisms.IEEETrans,1993,3(2)。(3):190~197
关键词:神经网络;电路分析;故障诊断;故障类别。
1引言
随着设计理念和制造工艺地不断发展,电子产品已经向小型化、智能化方向发展,这也给故障诊断带来更加严峻地挑战,由于传统的故障诊断方法已经不能满足发展的需求了[1],因此急需研究开发出行之有效的新方法。神经网络[2]是在对人脑网络认识理解的基础上构造的,是模仿人脑网络结构和功能而建立的一种信息处理系统,是理论化的人脑网络的数学模型。电路故障诊断[3]是一个非常复杂的模式识别问题,神经网络由于其本身信息处理的特点,如并行性、自学习、自组织性、对外界输入样本有很强的识别分类能力以及联想记忆功能等,使其能够出色解决那些传统模式识别方法难以圆满解决的问题。
2故障的类型
对电子产品进行故障诊断,最基本的就是对电路的诊断,因此,首先要确定的就是电路的故障类型[4]。从对电路的影响程度来划分,故障可以分为硬故障和软故障;从故障的随机性来划分,可以分为永久型故障和间歇型故障。永久型故障即固定故障,不随时间的变化而变化,一直固定在某种状态不变间歇型故障即随机出现的故障,电路有时正常,有时则出现了故障。硬故障即结构故障,是电路中元件的参数发生了极端变化的情况,包括桥接故障(BF,bridgefault)、开路故障(OF,openfault)、时滞故障等。软故障即偏差故障,指电路元件的参数与正常情况相比,偏出了约定的容差范围,但此时器件并非完全失效。
3神经网络的电路故障诊断
神经网络之所以在电路故障诊断中得到了广泛应用,主要是因为它具有如下诸多优势[5]。(1)学习能力。学习能力是神经网络在故障诊断中的重要表现。通过对神经网络的训练可读出故障的主要特征,表现出强大的适应能力。(2)联想记忆能力。因为神经网络具有并行计算和分布存储信息的功能,所以它对输入的特征信息具有联想记忆的能力。这一能力使得它在模式识别、故障分类中起到了巨大的作用。(3)分类识别能力。因为神经网络能够很好地对非线性曲面进行逼近,所以它的分类识别能力要优越于传统的分类器。对于样本的分类实质上就是找到合适的分割区域,每个区域的样本属于一类。(4)非线性映射能力。由于神经网络可以寻求输入到输出之间的非线性模型,即可实现输入空间到输出空间之间的非线性映射。因此,神经网络可以很好地对电路故障进行诊断。从本质上说,电路故障诊断就是一个故障模式识别的过程,将正常电路及各种故障状态下的特征信息输入到神经网络,运用神经网络对这些特征信息进行学习、记忆,从而识别对应的故障模式,达到故障诊断的目的。诊断过程包括训练阶段和测试阶段[6],具体步骤如下。(1)首先在仿真软件中对正常状态及故障状态进行模拟仿真,得到原始的响应信号,再对原始信号进行相关处理,作为神经网络的训练样本。各种故障状态对应的输出模式,由故障数目来确定。根据输入样本和对应的输出样本来训练神经网络,达到训练的目的。(2)神经网络具有一定的泛化能力,不仅能够识别已经训练过的样本,而且能够通过联想识别未出现过的样本。加入相同的激励,检测实际特征,将此信息同样经过信号处理,作为测试样本送入神经网络,最后根据网络的输出即可判断时应的故障模式。神经网络应用于具体的电路故障诊断,还有一些诊断过程中需要解决的关键问题。(1)测试节点的选择。神经网络进行电路故障诊断时,为了得到各种故障模式的特征信息,应选取有效的测试点。通过这些测试点的输出信号,提取有效的特征信息,从而进行模式识别。虽然测试点的选择标准不尽相同,但是都要遵循如下基本原则:①尽可能选取诊断能力强,同时故障隔离能力强的节点。②在满足隔离要求的情况下,尽量少选取节点。③获取节点信息时,不能影响到整个电路系统的正常工作及性能。(2)故障集的构造。因为电路中元件数众多,故障模型地构成也各不相同,因此对所有元件、所有故障模型都进行诊断是不现实的。比较可行的办法就是根据待测电路的特点和以往的经验模拟若干个元器件,组成故障集。
4实例分析
通过一个555构成的单稳态触发器电路进行仿真实验。首先,设定电阻容差为10%,电容容差为5%,在容差范围内对元器件的软故障进行研究。其次,选取文献[2]的无故障与有故障各50次蒙特卡洛分析结果,其中30次作为训练样本,20次作为测试样本。最后,将训练样本集输入到网络结构为6-10-4的BP神经网络进行训练,测试样本集输入到训练好的神经网络即可得出故障诊断率。同样地,为了加快训练速度,采用附加动量自适应梯度下降法,训练函数为traingdx,隐层传递函数为tansig,输出层传递函数为purelin训练目标为0.01,学习速率为0.01。可知20个测试样本的诊断概率为95%,达到了预期的要求。
关键词:BP神经网络、图像分割、特征提取
Abstract: the image recognition process including the image preprocessing, feature extraction, image understanding and analysis. Which BP artificial neural network in the image segmentation using better; In the feature extraction phase BP neural network is also very good find application, and obtain the better feature extraction results; In the image understanding and the analysis phase using neural network classifier design, can get accurate classification results.
Keywords: BP neural network, image segmentation, feature extraction
中图分类号:TP183 文献标识码:A文章编号:
引言
BP人工神经网络算法是现今应用较为广泛的多层前向反馈式神经网络算法,BP人工神经网络有较好的容错能力、鲁棒性、并行协同处理能力和自适应能力,受到了国内外众多领域学者的关注。由于神经网络高效率的集体计算能力和较强的鲁棒性,它在图像分割方面的应用已经很广泛,Jain和Karu采用了多通道滤波与前向神经网络相结合的方法实现图像纹理分割算法。神经网络算法在特征提取阶段,压缩特征数量,以提高分类速度和精度。在图像识别领域中神经网络作为分类器的研究也得到了很大的进展,尤其是其学习能力和容错性对于模式识别是非常有利的,在一定程度上提高了训练速度和识别率。Le Cun等人提出了多层特征选择(Multilayer Selection Procedure)方法用于字符识别,每一层神经网络处理较低层次的特征,获取该层特征信息并传给上一层。
BP神经网络的基本原理
人工神经网络的研究起源于对生物神经系统的研究,它将若干处理单元(即神经元)通过一定的互连模型连结成一个网络,这个网络通过一定的机制可以模仿人的神经系统的动作过程,以达到识别分类的目的。人工神经网络区别于其他识别方法的最大特点是它对待识别的对象不要求有太多的分析与了解,具有一定的智能化处理的特点。神经网络的学习过程实际上就是不断地调整权值和阈值的过程。根据有无训练样本的指导可以将神经网络的学习方式分为两种:监督学习方式和非监督学习方式,也称为有导师指导学习方式和无导师指导学习方式。监督学习方式,是在给定固定的输入输出样本集的情况下,由网络根据一定的学习规则进行训练学习,每一次学习完成后,通过对比实际的输出和期望的输出,以此决定网络是否需要再学习,如果还没有达到期望的误差,则将实际误差反馈到网络,进行权值和阈值的调整,使实际的误差随着学习的反复进行而逐步减小,直至达到所要求的性能指标为止。非监督学习方式,是在没有外界的指导下进行的学习方式,在学习过程中,调整网络的权重不受外来教师的影响,但在网络内部会对其性能进行自适应调节。
BP神经网络分类器的设计
BP神经网络是基于误差反向传播算法(Back Propagation Algorithm,BPA)的多层前向神经网络,由输入层、输出层、一个或多个隐含层所组成。BP神经网络结构确定之后,通过对输出和输入样本集进行训练,反复修正网络的权值和阈值,达到学习训练的期望误差,以使网络能够实现给定的输入输出映射关系。BP人工神经网络的学习过程分为两个阶段,第一阶段是输入己知的学习样本数据,给定网络的结构和初始连接权值和阈值,从输入层逐层向后计算各神经元的输出;第二阶段是对权值和阈值进行修改,即根据网络误差从最后一层向前反馈计算各层权值和阈值的增减量,来逐层修正各层权值和阈值。以上正反两个阶段反复交替,直到网络收敛。具体实现步骤如下:
(1) 网络的初始化:首先对输入的学习训练样本进行归一化处理,对权值矩阵W和阈值向量赋初值,将网络计数器和训练次数计数器置为1,网络误差置为0。
(2) 输入训练样本,计算输入层,隐含层以及输出层的实际输出。
(3) 计算网络输出误差。将实际的输出和期望的输出值进行对比,采用均方根误差指标作为网络的误差性能函数。
(4) 若误差还没达到期望标准,则根据误差信号,逐层调整权值矩阵和阈值向量。
(5) 若最终调整之后的网络输出达到了误差范围之内,则进行下一组训练样本继续训练网络。
(6) 若全部的训练样本训练完毕,并且达到了期望的误差,则训练结束,输出最终的网络联接权值和阈值。
BP神经网络可以逼近任意连续函数,具有很强的非线性映射能力,而且BP神经网络中间层数、各层神经元数及网络学习速率等参数均可以根据具体情况设定,灵活性较强,所以BP神经网络在许多领域中广泛应用。一般来说,神经网络方法应同传统的人工智能方法相联系的。神经网络本身结构及性能上的特点使其对问题的处理更富有弹性,更加稳健。神经网络的基本特点是采用自下而上的设计思路,使其容易确定具体的目标分割或识别算法,在增加了不确定因素的同时也产生了网络最优化的问题,这就是所谓的伪状态(pseudo-trap)。尽管在实践中并非所有的伪状态对应完全失败的结果,但是毕竟这不符合对之完美的或者说合理的期望。人工智能则一般采用自上而下的方法,偏重于逻辑推理建立系统模型。因此将神经网络同人工智能结合起来,相当于赋予神经网络高层指导的知识及逻辑推理的能力,具有潜在的优势。
输入层中间层 输出层
图1 BP人工神经网络结构
BP神经网络的训练
4.1 BP神经网络的设计
BP神经网络的设计主要包括两方面内容:一是神经网络结构的确定,特别是隐含层层数及隐含层单元数目的确定;二是高精度收敛问题,隐含层和隐含层单元数过多,将导致训练时间过长并出现过度拟和的问题,隐含层单元数过少又导致网络收敛速度慢甚至不收敛,达不到误差精度要求。在确定隐含层层数以及隐含层单元数目时,没有一个严格的理论依据指导,需要根据特定的问题,结合经验公式确定大致范围来进行逐步试算比较得到。
4.2 数据预处理
为了加快网络的训练速度,通常在网络训练前进行神经网络输入和输出数据预处理,即将每组数据都归一化变为[-1,1]之间的数值的处理过程。
4.3 神经网络的训练
%当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
%设置训练参数
net.trainParam.show = 1000;%限时训练迭代过程
net.trainParam.lr = 0.1; %学习率,缺省为0.01
net.trainParam.epochs = 100000; %最大训练次数,缺省为100
net.trainParam.goal = 0.001; %训练要求精度,缺省为0
[net,tr]=train(net,P,T);%调用 TRAINGDM 算法训练 BP 网络
A = sim(net,P) %对 BP 网络进行仿真
E = T - A;%计算仿真误差
MSE=mse(E)
结束语
BP网络因为具有较强的学习性、自适应型和容错性,在很多领域均已经大量运用。本文将BP人工神经网络运用于图像的识别,探索人工神经网络在图像识别领域中的重要的现实意义。研究表明,BP人工神经网络应用于图像识别在一定程度上提高了识别的效率和准确率。但是,BP神经网络算法还存在以下几点不足之处:(1)权的调整方法存在局限性,容易陷入局部最优;(2)网络的结构需要提前指定或者在训练过程中不断的修正;(3)过分依赖学习样本,由于学习样本是有限的或者学习样本质量不高,那么会导致训练达不到效果;(4)对于规模较大的模式映射问题,存在收敛速度慢、容易陷入局部极小点、判断不准确等缺陷。总之,如何解决以上问题,如何进一步提高识别精度,扩大识别范围,使之更具有更好的工程实用性,是有待进一步研究的内容。
参考文献:
[1] WE Blanz,S L Gish.A Connectionist Classifier Architecture Applied to Image Segmentation.Proc.10th ICPR,1990,272-277.
[2] Y Le Cun,L D Jackel,B Boser,J S Denker,H P Graf,I Guyon,D Henderson,R E Howard,and W Hubbard,Handwriten Digit Recognition:Applications of Neural Network Chips and Automatic Learning,IEEE Comm.Magazine.Nov.1989.
[3] A K Jain and K Karu,Automatic Filter Design for Texture Discrimination,Proc.12th Int’l Conf.NeuralNetworks,Orlando,Oct.1994,454-458.
[4] 边肇其,张学工.模式识别(第二版)[M].清华大学出版社,北京.1999,12.
[5] 陈书海,傅录祥.实用数字图像处理[M].科学出版社,北京.2005.
[6] 万来毅,陈建勋.基于BP神经网络的图像识别研究[J].武汉科技大学学报(自然科学版).2006,6.
[7] 丛爽.面向MATLAB工具箱的神经网络理论与应用(第2版)[M].北京:中国科学技术出版社,2003.
[8] 王娟,慈林林等.特征方法综述[J].计算机工程与科学.2005.27(12).68-71.
[9] 贾花萍.基于神经网络的特征选择与提取方法研究[J].网络安全.2008,7.33-35.
[10] 龚声荣,刘纯平等编著.数字图像处理与分析[M].清华大学出版社,北京.2006.7.
关键词:BP神经网络;计算机网络;安全评估
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2013)18-4303-05
网络安全从本质上看是网络的信息安全。而从广义来说,涉及到的范围就较大,凡是有关网络信息的完整性、保密性、真实性、可用性和可控性方面,都是网络安全需要考虑与研究的领域。
随着全球计算机技术和 Internet 的迅猛发展,全球信息化进程加速,互联网与千家万户息息相关,在我们的工作和生活中扮演着极其重要的角色。与此同时,网络和网络用户也在以指数级的速度增长。互联网正引领着我们的生活进入一个前所未有的,以网络为基础的信息化环境。由此,网络安全就显得尤为重要。
1 网络安全评估的重要性
由于现阶段的计算机系统,其网络设备存在不完善的因素,包括设计的缺陷、漏洞及网络协议等,这样的情况下,计算机网络就潜在各种可能的安全风险。近年来,计算机网络受到的侵害越来越多,网络漏洞各种各样,计算机安全得不到应有的保障。具体表现为:
1) 网络病毒更加多样、智能与隐蔽。
2) 随着网络扮演越来越重要的角色,各方的生产生活都离不开网络,因此网络服务商、管理部门和运营商都十分重视网络的安全,并提出了更多的需求。
3) 网络安全脆弱的根源是漏洞。
目前,针对网络安全进行的恶意活动越来越多,如何有效保证网络安全正常运行已经成为各方都十分关注的问题。在这样的情况下,我们需要事先对系统与网络进行安全检查与评估,分析现有网络是否安全可靠,并且对于检测出的问题,提出并实施相应的有针对性的安全防范措施,力求将损失降到最低,将风险扼杀在潜伏期。
2 BP神经网络技术
2.1 BP神经网络技术介绍
2.1.1 神经网络技术概要
BP(Back Propagation)神经网络这一算法是由Rumelhart和McCelland等人于1986年提出的。它的主要思想是按照误差逆传播算法训练多层前馈网络,它可以解决多层的网络里所隐含的单元连接的学习问题。这一方法的提出,为此后打开了重要的一片领域,它成为目前应用最为广泛的模型之一。BP神经网络一般分为三层结构,包括输入层、输出层以及隐含层。
2.1.2 输入层、输出层变量及预处理
BP神经网络输入层变量属于自变量,是需要通过专业的知识来确定的,如果说增加输入层的变量的数量,那么还要进行主成分分析,再对所有的变量进行缩减,使得数量与增加前的输入层数量相当,然后再对输入变量前与缩减变量后的系统误差进行比较,通过比值的大小达到缩减输入层变量的目的。
输入层变量属于因变量,一般系统不对输入层变量的数量进行具体要求,但是为了网络模型得到更好的训练,系统对于BP神经网络应要进行转换。即把具有多个输入变量的模型转换成多个具有一个输出的模型,以达到更好的效果。
预处理有很多的方法,一般笔者根据实际需求以及喜好,会采用各不相同的方式。但是殊途同归,进行完数据的处理之后,对网络神经输出的结果进行一定程度的变换,最后得到的数据才是所需数据。并且,与处理后,数据值要控制在0.2~0.8之间,使得建立的模型具有一定的外推能力。
2.1.3 BP神经网络的拓扑结构
BP神经网络的拓扑结构包含隐含层层数、隐含层结点数、动量因子、初始权值、学习率、误差精度等。
BP神经网络的拓扑结构最应注意的是隐含层结点的数量,过多或过少都会产生问题,或者使得网络训练时间过长、无法找到最优点,或者使得网络的稳定性较差。因此,应合理优化隐含点的节点数,同时考虑网络结构的复杂程度以及误差的大小,综合各方情况确定节点数。
2.2 BP神经网络技术算法
2.2.1 BP神经网络算法学习过程
1) 工作信号的正向传播:工作信号的正向传播指的是输入信号经由输入层传向输出层,最终在输出端产生输出信号。
2) 误差信号的反向传播:工作信号的反向传播指的是误差信号由输出端向后传播,误差信号指的是网络实际输出信号和期望输出信号之间的差值。
本文以含有三个隐含层的BP神经网络为例,其结构如下图所示。
9) 输入下一个学习样本,返回步骤(3),直至全部 z 个模式对训练完毕;
10) 进入下一轮学习。
2.2.1 BP神经网络算法工作过程
BP神经网络算法的工作工程并不复杂,具体如下:
1) 对神经网络参数初始化。
2) 计算隐藏层单元的个数、输出层单元的输出个数、输出层单元误差,若误差在误差范围内,可输出结果。
1)若2)中的误差不在误差范围内,则重新调整中间层到输出层连接的权值和输出层单元,再调整输入层到中间层的连接权值和输出单元,更新学习次数。
1) 反复步骤3),当学习次数大于上限或满足误差要求,结束学习输出结果。
2) 输出最终结果。
3 BP神经网络算法的优越性
3.1 网络安全评估方法
虽然关于网络安全评估的研究在国内仅十多年的历史,但人们已经提出了多种评估方法,其中较有代表性的方法是故障树分析法(Fault Tree Analysis, FTA)、层次分析法(Analytic Hierarchy Process, AHP)、模糊综合评判法(Fuzzy Comprehensive Evaluation method, FCE)和基于贝叶斯、BP 神经网络、D_S 证据理论等方法。
3.2网络安全评估方法比较
不同的网络安全评估方法具有不同的优缺点,针对网络安全的实际需要,选择不同的评估方法,个方法具体优缺点如下表。
2.该方法要求大量可供参考的历史资料
从以上比较中我们可以看出,基于BP神经的网络安全评估方法具有良好的优越性,特别是针对故障树分析法、层次分析法、基于贝叶斯、模糊综合评判法等主观性较强、方法繁复的方法,基于BP神经评估方法的客观性就显得尤为的重要。
4 基于BP神经网络的计算机网络安全评估过程
4.1 构建计算机网络安全评估指标集
计算机网络是一个很复杂的体系,能够影响网络安全的因素较多,建立科学的、合理的网络安全评价指标将关系到评价的作用和功能。 本文通过归纳网络安全的各个影响因素,以物理安全、逻辑安全和管理安全作为评价指标体系的一级指标,并进行逐层细化,最终建立了完整的网络安全评价指标体系,具体如表 2 所示。
4.2 各评价指标的取值和标准化
在本文设计的各个指标集中,因为所描述的因素各不相同,既有定量的评价指标,也有定性的评价指标,因此在评价时所选择的取值规则也是不一样的。
4.2.1定量指标
对于定量指标,由于其衡量的单位不同,因此必须进行标准化的处理,并将最终取值范围控制在0~1之间,方法如表1所示。
4.2.2定性指标
对于定性指标,该文采用的是专家打分法,专家打分法较为抽象,可采用配值标准化处理,保持与定量指标的一致性。
4.3 BP神经网络结构的设定与训练
确定BP神经网络对计算机网络安全进行评估的层数。主要利用试凑法,根据输入层输出层神经元个数,确定隐含层神经元个数。
与此同时,设定误差精度与训练次数,当训练的精度或训练次数达到要求后,即停止训练,保存数据。
4.4 对计算机网络安全进行评估
将计算机的网络安全评估等级分为四种,分别是安全、基本安全、不安全与很不安全。其中,安全等级的评估值大于或等于0.8、基本安全等级的评估值大于或等于0.7且小于0.8、不安全等级的评估值大于或等于0.6且小于0.7、、很不安全等级的评估值小于0.6。根据网络评估的具体数值,对网络安全进行四种等级的判定。
5 基于BP神经网络的计算机网络安全评估实例
5.1 实例探究
本文通过实例对以上的阐述进行探究:设计BP神经网络输入层的节点为5,输出层节的点为1,隐含层的节点为19,学习精度E设为01001,权值调整参数、网络阈值均设为011,最大迭代次数为1000次,输入层与隐含层之间采用Logsig传递函数,隐含层与输出层之间采用Purelin转递函数。
本文收集了40份计算机网络安全评估数据样本,对数据进行处理与分析后,根据前文所表述的评估步骤,对各网络进行了安全评估,具体数据见下图。
5.2实例分析
结合调查获得的实际情况,结果表明,基于BP神经网络算法的计算机网络安全评估模型精准性较好,与实际情况较为符合。同时我们可以看到,当前许多网络的安全性存在一定的隐患,多数网络的安全等级属于基本安全与很不安全之间,少有安全性很高、评估值大于0.9的网络系统。
另外,应用BP神经网络计算方法还可以对同一等级内的网络进行不同安全程度的惊喜评定,因此,BP模型能够精确地对改造后的网络安全进行重新评价,并根据评价结果提出具有针对性的提高网络安全的有效措施。
6 结论
当前,网络安全是网络管理人员急需解决的重要问题,网络安全评估作为有效防护网络安全的手段之一,是一项技术要求复杂的工作。而BP神经网络算法既有神经神经网络自学习、自适应的特点,同时还兼有专家的知识经验,因此成为了非线性映射能力较强的综合评价模型之一。BP神经网络算法在网络安全评估中的应用,减少了主观因素,提高了检测评估的客观性,有利于用户发现网络安全的漏洞与薄弱,做好安全措施,提高网络安全水平。
本文介绍了BP神经网络算法,并通过与其他评估方法的对比分析其优越性,提出利用BP神经网络对计算机网络安全进行评估,并提出相应的评估过程。最后以实例验证了BP神经网络算法在计算机网络安全评估的应用。但本文亦有不足之处,第一,在实例中缺少其他评估方法的应用,无法突出BP神经网络算法的优越性;第二,缺少对实例结果精确性的检验,这些工作应在将来予以补正。
参考文献:
[1] Lee W.A data mining framework for constructing features andmodels for intrusion detection systems[D].New York Columbia University,1999.
[2] Lv H Y , Cao Y D.Research on network risk situation assessment based on threat analysis[C].2008 International Symposium on Information Science and Engineering,2008:252-257.
[3] Biswajeet Pradhan,Saro Lee. Regional landslide susceptibility analysis using back-propagation neural network model at Cameron Highland, Malaysia [J].Earth and Environmental Science,2010, 7(1):13-30.
[4] 赵冬梅,刘海峰,刘晨光.基于BP 神经网络的信息安全风险评估[J].计算机工程与应用,2007(1).
[5] 金峤,方帅,阎石.BP网络模型改进方法综述[J].沈阳建筑工程学院学报:自然科学版,2001,17(3):197-199.
关键词:BP;神经网络;PID控制器
1 分层调整学习速率的改进BP算法
BP算法本质上是梯度下降法。若要改进BP算法,首先要熟悉了解梯度下降法的原理。
设函数f(x)具有一阶连续导数,假设在x=x*处取得函数极小值,用xk代表在第k次接近极小值点,则在第k+1次接近极小值点为xk+1=xk+λpk,对函数f(x)在xk+1处进行泰勒级数展开:
f(xk+1)=f(xk+λpk)=f(xk)+λ?荦f(xk)Tpk+o(λ)(1-1)
上式中?荦f(xk)为函数f(x)在xk处的梯度,当λ取得非常小的值时,o(λ)为λ的高阶无穷小。如果有
?荦f(xk)Tpk<0 (1-2)
能推出
f(xk+λpk)<f(xk) (1-3)
这就表明在第k+1次迭代时的函数值小于第k次迭代的函数值。为了使?荦f(xk)Tpk取得最小值,对其求模变化:
?荦f(xk)Tpk=||?荦f(xk)||・||pk||・cosθ (1-4)
上式中,θ为向量?荦f(xk)与pk的夹角。
假设||pk||为固定值,当θ=0时,即向量?荦f(xk)与pk同向,则cosθ=1,?荦f(xk)Tpk取得最大值;反之,当θ=180时,即向量?荦f(xk)与pk反向,则cosθ=-1,?荦f(xk)Tpk<0,所以向量pk的正方向就是梯度的负方向。沿其负梯度方向进行搜索能够使f(x)函数值减小的速率加快,能够快速地找到极小点。
根据式(1-1)可知,λ作为梯度?荦f(xk)与向量pk的系数,称为步长,同时影响着网络在负梯度方向上的搜索能力。选取最佳步长的计算公式如下:
λk=(1-5)
把求得最佳步长代入式(1-3)得
f(xk-λkpk)<f(xk) (1-6)
我们在最佳步长的计算中能够发现,公式(1-5)的计算增加了网络计算量,可以通过使用学习速率η替代步长来降低计算量。在文章中我们提出了一种分层调整学习速率的方法,它能够同时调整输入层与隐含层及隐含层与输出层之间的网络连接权值的学习速率。
设定网络的学习速率η为一个较小的值,当满足f(xk-λkpk)<f(xk)条件时,则学习速率的改变趋势为:
η?坩2η (1-7)
当满足f(xk-λkpk)>f(xk)条件时,则学习速率的改变趋势为:
η?坩0.5η (1-8)
2 以改进的BP神经网络参数为基础的自整定PID控制器
相比较其他而言,BP神经网络主要优胜点在于能够将网络连接权值不断代入计算来修正误差,使之可以不断接近适应度函数。学习算法的实现难度比较小,所以在构建PID控制器时,用BP网络结构来构建是比较常见的。以BP算法为基础的神经网络能够通过自学及自适应能力找到一组最优PID参数,使系统的性能达到最优。
①常规的PID控制器:闭环控制被控对象,在线整定KP、KI、KD参数;
②BP神经网络:BP神经网络通过自学习和自适应能力不断更新整定网络的连接权值,通过不断整定使输出值极限接近目标值。当输出值为KP、KI、KD时,系统的性能为最佳。
假定BP神经网络优化PID控制器是一个由三层网络构成的,且其输入层节点有M个,隐含层节点Q个、输出层节点3个。
输出节电输出对应KP、KI、KD可调参数值,隐含层的激发函数可以取Sigmoid函数,可正可负。然而输出层的激发函数为非负。
BP神经网络输入层节点的输出为
公式中,g′(x)=g(x)・(1-g(x)),f′(x)=(1-f2(x))/2。
以改进的BP神经网络为基础的PID控制器算法:
一是对BP神经网络的结构进行明确,在明确了网络结构的同时也就明确了输出层及隐含层的节点个数。并对各层的(0)初始化,k=1;
二是为计算e(k)=r(k)-y(k),可以通过样本采集得到的r(k)及y(k)代入计算;
三是在将r(i),y(i),u(i-1),e(i)(i=k,k-1,...,k-p)输入到神经网络之前进行统一化处理;
四是通过式(2-2)和(2-3)将各层神经元的输入输出计算出来,输出层输出的数据就是PID控制器的KP(k)、K1(k)、KD(k);
五是PID的控制输出u(k)可以由式u(t)=KP[e(t)]得到;
六是当所有网络权值刷新一次之后,若误差e(k+1)满足e(k+1)<
e(k),那么按照式(1-7)对其学习速率增大,当误差不再变化时,此时记录连接权值。若误差e(k+1)满足e(k+1)>e(k),那么按照式(1-8)对其学习速率减小,当误差减小时,记录连接权值
七是将k赋值为k+1,返回第二步。
3 改进的BP神经网络PID仿真
将被控对象假定为:
网络结构采用4-5-3结构,输入信号为γ(k)=1.0,此信号是阶跃信号。网络结构中的4代表输入层有四个输入,为给定输入r(k)、
e(k)=r(k)-y(k)、y(k)和1。网络结构中的3代表输出层有三个参数,为KP、KI、KD。η=0.01,加权系数初值在[-1,1]区间内随机赋值。经过仿真得到的曲线图如图1和图2所示。
图1 单位阶跃响应曲线图
图2 误差变化曲线
被控对象是二阶的,所以阶跃响应曲线以正弦的方式衰减,并在系统稳定水平线上下振荡。从图1和图2可以看出,刚启动时系统振荡幅度较大,误差也比较大,系统在0.2s左右时振荡幅度变小,误差也迅速变小,在0.3s之后系统达到稳定运行,误差几近于0。由图可知在单位阶跃响应中改进的BP神经网络相较BP神经网络而言,超调量小,收敛速度快。
4 总结
提出了一种分层调整学习速率的BP神经网络改进方法,并把改进的方法与传统的PID结合。并基于MATLAB平台建立了模型进行仿真验证,仿真结果验证了改进的BP神经网络PID具有更快的响应速度、更高的精度,且稳定性更强。
参考文献:
[1]李楠.基于神经网络直流无刷电机控制策略的研究[D].兰州理工大学,2005.
[2]黄家圣.人工神经网络在无刷直流电动机中的应用研究[D].上海海事大学,2005.
[3]王国玲,李振宇,范自道.无刷直流电机自适应模糊PID控制系统[J].机电工程技术,2013(2):30~33.
关键词:神经网络 ;BP网络; 优缺点; 改进算法
【中图分类号】 TP183 【文献标识码】 B【文章编号】 1671-1297(2012)09-0196-02
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
人工神经网络(Artificial Neural Networks,NN)就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。人工神经网络系统从20世纪40年代末诞生至今仅短短半个多世纪,但由于它具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。
神经网络拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,够成具有层次结构的前馈型神经网络系统。单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。
一 BP网络
1986年,Rumelhart和Hinton提出了误差反向传播神经网络(Error Back Propagation Neural Network),简称BP网络。它是一种能向着满足给定的输入输出关心方向进行自组织的神经网络。
1. BP网络的原理
输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
2. BP网络的特点
(1)输入和输出是并行的模拟量。
(2)网络的输入输出关系是各层连接的权因子决定,没有固定的算法。
(3)权因子是通过学习信号调节的,这样学习越多,网络越聪明。
(4)隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响。
3. BP网络的优点
(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题。
(2)网络能通过学习带正确答案的实例集自动提取"合理的"求解规则,即具有自学习能力。
(3)网络具有一定的推广、概括能力。
4. BP网络的缺点
BP算法的学习速度很慢,其原因主要有:
(1)由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现"锯齿形现象",这使得BP算法低效;
(2)存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;
(3)为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
网络训练失败的可能性较大,其原因有:
(1)从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;
(2)网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。
网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。
新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同。
二 BP网络的改进算法
BP算法最优化的方向主要有权值调整、自适应学习速率调整、网络结构调整等。常用的改进方法有以下几种:
1.加入动量项
利用附加动量的作用则有可能滑过局部极小值。该方法所加入的动量实质上相当于阻尼项,它减小了学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法。
2.自适应学习速率调整
对于一个特定的问题,要选择适当的学习速率并不是一件容易的事情。对训练开始初期功效很好的学习速率,不一定对后来的训练合适。为了解决这一问题,人们自然会想到在训练过程中自动调整学习速率。
3.共轭梯度算法
在各种改进算法中,共轭梯度法(Conjugate Gradient)是非常重要的一种。其优点是所需存储量小,具有N步收敛性,稳定性高,而且不需要任何外来参数。
4.Levenberg-Marquart算法(最小二乘拟合算法)
除了改进算法以外,通过改变神经网络结构(隐层结点数和网络层数)、调整误差等方法,也能加快BP算法的收敛速度。
参考文献