前言:中文期刊网精心挑选了神经网络设计范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
神经网络设计范文1
【关键词】PID控制;BP神经网络;模糊PID控制
Abstruct:PID control are widely used in industrial process control,but the traditional PID control because of its control parameters are fixed,and it is difficult to adjust its parameters online.So this paper studies a new adaptive fuzzy PID control method,to solve problem without the ability to learn,and put forward a kind of adaptive fuzzy control method based on BP neural network in this paper.It is the effective combination of fuzzy control,neural network and PID control.Simulation results show that this fuzzy PID control method based on BP neural network has good control effect.
Keywords:PID control;BP neural network;Fuzzy PID control
1.引言
常规PID在控制领域被广泛应用,利用数学算法来整定参数。而且随着控制系统的复杂,被控对象很难建立数学模型,人们开始探索新的控制方式。模糊控制不要求掌握被控对象的精确的数学模型,根据人工控制规则组织控制决策表,然后由该表决定控制量的大小。在一般的模糊系统设计中,规则是由经验丰富的专业人员以语言的方式表达出来的。但对于某些问题即使是很有经验的专业人员也很难将他们的经验总结、归纳为一些比较明确而简化的规则。在这种情况下,就可以应用神经网络的方法,依靠BP神经网络的自学习功能,实现模糊控制的神经、模糊融合技术,并借助其并行分布的结构来估计输入到输出的映射关系,直接从原始的工作数据中归纳出若干控制规则。从而为模糊系统建立起行之有效的决策规则。
2.PID控制器原理
2.1 PID控制的微分方程
PID控制器是一种线性控制器,它将给定值r(t)与实际输出值c(t)的偏差的比例(p)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。
式中:
2.2 PID控制器各环节的作用
(1)比例环节:及时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用以减小偏差。
(2)积分环节:积分作用会使系统稳定性下降,Kd大会使系统不稳定,但能消除静态误差。
(3)微分环节:能反应偏差信号的变化趋势,并能在偏差信号值变得太大之前,在系统中引入一个早期修正信号,从而加快系统的动作速度,减小调节时间。Kd偏大时,超调较大,调节时间短;Kd偏小时,超调量也较大,调节时间长;只有Kd合适时才能超调小,时间短。
3.BP神经网络与模糊控制
模糊控制是运用语言归纳操作人员的控制策略,运用变量和模糊集合理论形成控制算法的一种控制。如何让机器像人一样识别、理解模糊规则并进行模糊逻辑推理,最终得出新的结论并实现自动控制是模糊控制研究的主要内容。模糊控制器的基本结构如图1所示。
图1 模糊控制结构
人工神经网络是由大量人工神经元经广泛互连二组成的,它可用来模拟脑神经系统的结构和功能。人工神经网络可以看成是以人工神经元为节点,用有向加权弧连接起来的有向图。BP网络是一种利用误差反向传播训练算法的神经网络,是一种有隐含层的多层前馈网络,系统地解决了多层网络中隐含单元连接权的学习问题。BP学习算法的基本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。网络学习过程是一种误差边向后传播边修正权系数的过程。其结构如图2所示。
图2中隐含层第一层神经元为7个,分别对应7个模糊子集:NB、NM、NS、ZO、PS、PM、PB。第二层49个神经元代表49条规则。第三层7个神经元代表输出的7个模糊子集。模糊控制不依靠对象的数学模型,但模糊规则的建立需要人工经验。采用BP算法对工程经验和专家经验的模糊规则进行训练,其实就是把模糊规则用神经网络来表示,即经过神经网络的学习,将模糊规则以加权系数的形式表现出来,规则的生成就转化为加权系数的确定和修改。
神经网络是大规模并行运算,但由于网络结构复杂,训练和学习需要大量的时间,所以目前还无法实现实时控制。在具体应用中,我们是先离线将神经网络的各层权值和阈值训练出来,将其参数固定下来,然后将有系统检测、计算得到的误差变化直接代入非线性映射关系中,由计算机算出控制量,再用作被控对象。在matlab下以、、为输出的BP网络仿真训练如图3、图4、图5所示。
4.模糊PID控制器的原理与仿真
对于某一BP神经网络控制系统,其中内部变化及被控对象的数学模型为:
利用模糊控制对PID参数实现在线调节,原理如图6。
图6 模糊PID控制原理图
采用Z-N法和试凑法相结合,借助MATLAB的SIMULINK平台,对被控对象进行常规PID仿真。参数值:kp=15,ki=6,kd=0.05。如图7。作为比较,建立模糊PID控制器的仿真模型如图8。
图9、图10分别为被控对象G(s)在阶跃输入下常规PID和模糊PID仿真结果的比较。
经过仿真发现,常规PID控制缺点是超调量大,调节时间长,动态性能差。优点是控制精度高,稳定性能好。模糊控制动态性能很好,上升速度快,基本无超调。但由于模糊化所造成的稳态误差,在没有积分环节的情况下很难消除,故稳态性能差。模糊PID继承了二者的优点,摒弃二者缺点,具有更全面优良的控制性能。
5.结论
针对大滞后、慢时变、非线性的复杂系统,提出了一种基于BP神经网络的模糊PID控制算法,该算法不依赖被控对象的精确数学模型,可实现在线自调整模糊规则,从而增强了模糊控制器的自学习能力。通过算法的仿真研究,验证了算法的可行性。
参考文献
[1]李华.计算机控制系统[M].北京:机械工业出版社,2007.
[2]高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2007.
[3]蔡自兴.智能控制[M].北京:电子工业出版社,2003.
[4]李国勇.智能控制及其MATLAB实现[M].北京:电子工业出版社,2005.
[5]张德丰.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009.
[6]刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003.
[7]刘玲.三容水箱的单神经元自适应PID控制研究[J].信息技术,2005,3(8):32-137.
神经网络设计范文2
关键词:BP神经网络;共轭梯度;分析器;入侵检测
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)25-7229-04
The Designing of Neural Network Analyzer in Intrusion Detection System
LI Yan, LI Wei-chao
(Zhengzhou Institute of Aeronautical Industry Management,Zhengzhou 450015, China)
Abstract: By analyzing and comparing with BP algorithm and CGBP algorithm, the author proposes a neural network analyzer based on CGBP algorithm. After that, the author gives a specific design proposal. The analyzer has a practical and referential value. And the analyzer has obtained good results.
Key words: BP neural network; conjugate gradient; analyzer; intrusion detection
根据通用入侵检测框架(Common Intrusion Detection Framework, CIDF)模型,入侵检测系统通常有四个组件:事件产生器、事件分析器、响应单元和事件数据库。其中事件分析器,既分析子系统是入侵检测系统的核心部分,用于对获取的事件信息进行分析,从而判断是否有入侵行为发生并检测出具体的攻击手段。神经网络应用于分析器是研究入侵检测系统的一个方向。
在神经网络的实际应用中,使用最广泛的是BP(Back-Propagation)网络。它有一个不足是当学习速度较小时,其缓慢的学习速度使得网络的学习失去了意义。学习速度过大又会使得误差函数不能收敛。共轭梯度法在一定程度上克服了最速下降法迭代路径呈锯齿形现象。共轭梯度法用于训练神经网络称作共轭梯度反向传播算法(Conjugate Gradient Back Propagation, CGBP)[1]。
1 BP神经网络
1.1 神经元模型
任何一个神经网络都是由众多神经元组成的,每个神经元是生物神经元的模拟、抽象和简化,神经网络的处理能力正是来源于各层神经元之间的相互作用。每个神经元都具备以下三个基本的功能:
1) 接受输入。一般来说,一个神经元不止一个输入。如图1所示,具有R个输入的神经元其输入为p1,p2,…,pR 分别对应权值矩阵W的元素w1,1,w1,2,…,w1,R 。wi,j表示第j个神经元到第i个神经元的连接强度,简称权值。另一个输入是1乘上偏置值(或称偏移值)b。这个偏置值如果不想在神经网络中使用,也可以忽略。
2) 输入处理。神经元中对输入的处理按矩阵形式表示为:
n=Wp+b (1)
如图1,单个神经元的权值矩阵W只有一列元素。所有输入的加权和与偏置值b累加形成净输入n。
n=w1,1p1+w1,2p2+……+w1,RpR+b(2)
3) 计算输出。经过输入处理后所得到的n称为净输入,把它送入传输函数(也称活跃函数)f,在f中产生神经元的标量输出a:
a=f(n) 或 a=f(Wp+b)(3)
传输函数可以是n的线性或非线性函数。可以用特定的传输函数满足神经元要解决的特定问题。常用的有线性传输函数、对数-S形传输函数等。
拿这个神经元模型与生物神经元相对照,权值w对应于突触的连接强度,累加器和传输函数代表了细胞体,神经元输出a相当于轴突的信号。
1.2 神经网络拓扑结构
Paul Werboos博士于1974年在他的博士论文中第一次描述了训练多层神经网络的一个算法―误差逆传播(Error Back-Propagation)[2]学习算法,通常简称BP(Back-Propagation)算法。后来人们把应用BP算法进行网络训练的前馈型网络简称BP网络。
BP网络是一个多层网络,能够解决单层感知机不能解决的非线性可分问题。网络由输入层、隐含层和输出层组成。其中隐含层可以是一层也可以是多层。上下层之间各神经元实现全连接,而同一层神经元之间无连接。图2给出了只有一层隐含层的网络拓扑结构。
图2显示了两层BP网络(也有叫做三层的,把输入层算做一层)。在该拓扑结构中,有r个输入,隐含层中有s个神经元,输出层有n个输出神经元。为了简化,将这个网络记为r-s1-s2网络,对应每一层的结点数。各层神经元的多少则要根据具体的应用问题而定。
传输函数选择对数-S形函数,其数学表达式为:a=1/(1+e-n)。输入在(-∞,∞)之间取值,输出则在0到1之间。可以用来处理和逼近非线性的输入/输出关系。有研究表明,含有一个隐层的BP网络足以完成任意的维到维的映射[3]。因此本文采用只有一个隐含层,各层神经元是对数-S形传输函数的BP网络。
2 BP学习算法
BP算法是在监督学习下,适用于多层神经网络的学习算法。算法的学习过程分两个阶段:第一阶段是正向传播过程。输入信息由输入层输入经隐含层处理,最后通过输出层输出网络计算的结果;第二阶段是误差修正反向传播过程。比较输出层的实际输出与期望输出的误差,若不满足要求,按照减少误差的方向从输出层经隐含层逐层修正各连接权值,直到输入层。在网络学习过程中这两个阶段是反复交替进行的,只有在输出的误差满足要求或到达限定的循环次数时才会停止。
通过正向传播计算网络输出,把网络学习时输出层的输出结果与客观事实不一致的误差,归结为网络中各层神经元之间的连接权重或偏置值取值不当而造成的,因此通过反向传播过程把网络输出层神经元的误差逐层向输入层逆向传播,以“分摊”给各连接的神经元,从而算出各神经元的的参考误差,并据此对各神经元之间的连接权和偏置值进行相应调整,使网络实际输出更接近期望输出。BP网络学习的规则实质上是梯度最速下降法,权值沿误差函数的负梯度方向改变[4]。
权值变化为:
wi,j(k+1)=wi,j(k)+Δwi,j (4)
其中
η为学习速度。
偏置值变化为:
bi(k+1)=bi(k)+ Δbi(5)
其中
网络误差函数:
(6)
三层BP网络中各层权值及偏置值的变化如下:设输入节点pj(j=1,…,r),隐藏层节点hi(i=1,…,s1),输出层节点Ok(k=1,…,s2)。输入节点到隐藏层节点的网络权值为w1i,j,偏置值为b1i,输出为a1i。隐节点到输出节点的网络权值为w2k,i,偏置值为b2k,期望的输出为tk,实际的输出为a2k。
1) 网络的正向传递
隐含层第i个神经元的输出为:
(7)
输出层第k个神经元的输出为:
(8)
2)误差反向传播(利用梯度下降法求权值变化)
输出层的权值变化:
(9)
其中
令 δ2k=(tk-a2k) a2k (1-a2k)
所以有 Δw2k,i=η(tk-a2k) a2k (1-a2k)a1i=ηa1iδ2k (10)
输出层的偏置值变化:
(11)
其中
令 δ2k==(tk-a2k) a2k (1-a2k)(12)
所以有 Δb2k=η(tk-a2k) a2k (1-a2k)= ηδ2k (13)
隐含层的权值变化:
(14)
其中
所以有 (15)
令 (16)
则有 Δw1i,j=ηpjδ1i (17)
隐含层的偏置值变化:
(18)
其中
所以有 (19)
令 (20)
则 Δb1i=ηδ1i (21)
由以上算法的推导过程可以看出,计算权值或偏置值的变化要先求出各层各个节点的δ值,即误差。然后用这个误差乘输入得出梯度的近似值,再乘以学习速度即可。
3 共轭梯度反向传播算法实现
BP算法是最小均方误差的近似最快下降算法,从理论上讲η取任意小时,该方法一定会使误差函数趋于极小(局部或全局),但是当η过小时收敛速度很慢,使得网络的学习失去意义。共轭梯度法能在一定程度上克服最速下降法迭代路径呈锯齿形现象,又能避免牛顿法求Hessian 矩阵及其逆阵时的困难,不必计算或存储二阶导数信息就具有二次终止性[5],因此在较大的规模问题中十分有用。
在各种优化算法中选定不同的搜索方向和步长对算法的收敛性至关重要,BP算法选择的搜索方向是沿梯度的负方向搜索,而CGBP算法则利用一维搜索所得到的极小点处的最速下降方向生成共轭方向作为搜索方向,比最速下降法在速度和效果上有很大的改进[1]。设梯度向量为g,共轭向量为p,则第k次的共轭方向为:
(22)
其中 βk=(g(k)-g(k-1))Tg(k)/(g(k-1)Tg(k-1))(23)
权值的修正公式为: w(k+1)=w(k)+ηp(k)(24)
另外这里采用批处理算法,即梯度在整个训练集都应用于网络后才计算,以获得更精确的梯度计算。CGBP算法的具体步骤如下:
1) 随机产生初始权向量W,给定误差e>0,限定迭代次数K。
2) 执行神经网络的向前计算过程(整个训练集应用网络)。
计算系统误差,如果E
3) 用BP算法计算初始点梯度g(0)'(整个训练集应用网络),并求梯度方向的单位向量。
4) 令p(0)=-g(0),k=0,设定初始方向。
5) 确定最佳步长ηk,从W(k)出发沿p(k)进行一维线性搜索。
E(W(k)+ηkp(k))=minE(W(k)+ηkP(k))
6) 更新权值W(k+1)=W(k)+ηkp(k)
7) 判别 k=n 否?n表示被优化的参数数目。若等式成立说明已用完n个共轭方向,令W(0)=W(k+1),k=0,返回步骤2,否则执行下一步。
8) 计算系统误差E,如果E
9) 计算。
10) 计算新的共轭方向p(k+1)=-g(k)+βkp(k)。
11) 如果k≤K令k=k+1,返回步骤5,否则学习停止,W(k+1)作为目标函数E最小的最优值。
12) 存储网络参数和学习结果。
在上述过程中,一维线性搜索是算法很关键的步骤。确定函数在某个特定方向的极值一般包括两步:区间定位和区间缩小。
区间定位是找某个包含局部极小点的初始区间。按照文献[6]的方法,计算公式为:E(W0+kεp0),k=0,1,…,n。先计算某个初始点的性能指数E(w0),然后计算第二点的函数值,它距离初始点的距离是ε且沿初始搜索方向p0,按照点之间的距离依次增加一倍的方式继续计算新点,直到连续的两次计算的函数值增加时结束。此时可以知道极小点在倒数第一次和倒数第三次计算的函数值之间。
定位了包含极小值的区间,下一步就是缩小区间直到满足精度的极小点被定位。假设定位区间为[a,b]只有一个极小点,可以通过计算a, b间的两个内部点c和d来减少区间尺寸。如果F(c)F(d),极小点在[c,b]区间上。本文采用黄金分割搜索算法来实现上述方法。
4 神经网络分析器的设计
构造一个神经网络一般分为三步:一是收集数据和对数据预处理;二是构造和训练神经网络;最后是测试和修改神经网络。其中第二、第三步可能需要多次的训练和测试才能完成。
1) 数据收集
收集的数据是用来训练和测试神经网络的,它的好坏直接影响到分析器的性能。所以样本数据要具有广泛性、多样性、典型性、可靠性和均衡性等特征。把样本数据分成三组,前两组数据分别用于训练和测试,当分析器达到要求后再用第三组数据进行检验。
2) 数据预处理
从样本数据中提取那些正确反映事物本质且互不相关或相关性很小的特征值。然后将这些提取出的物理意义和不同量纲的特征值进行编码转换,并做归一化处理,以便作为BP 网络的输入变量使用。
3) 构造BP神经网络
根据问题的复杂程度选择神经网络的层数。正如本文前面介绍的,具有一个隐层的BP网络足以完成任意n维到m维的映射。增加隐层,虽然可以进一步降低误差,提高精度,但同时也使得网络复杂化,网络权值训练时间急剧增加。建立神经网络模型应优先考虑单隐层结构,若进行认真调整后仍无法满足要求时再考虑增加隐层。
分析器输入层神经元的个数等于选取的样本特征向量的维数。隐含层中神经元个数的确定目前还没有一定的理论依据,因而只能在试验过程中确定。先放入较少的节点数,输入样本对网络进行训练,若不成功则增加节点的数目,直至节点数较合理为止。输出层神经元个数等于分析器要实现分类问题的分类数。传输函数选择对数-S形函数。
4) 训练BP神经网络
采用本文前面介绍的CGBP算法用训练样本组训练神经网络。以文本文件的形式存储网络的各种数据。如在net_w.dat文件中存储了神经网络各层的权值和偏置值,net_a.dat存储了系统的检测结果和相关记录,net_p.dat存储的是网络的参数,test.dat中存储的是网络训练样本。
神经网络分析器流程图见图3。
5 结束语
本文通过对BP算法和CGBP算法的分析和比较,提出了基于CGBP算法的神经网络分析器并给出了具体设计方案。该分析器具有一定的实用和参考价值,应用效果良好,精度高,自适应能力更强,学习速度快,能够在很大程度上实现对未知的异常数据包的检测。
参考文献:
[1] Martin T Hagan, Howard B Demuth, Mark H Beale.神经网络设计[M]. 机械工业出版社, 2003.
[2] 刘振凯,贵中花,蔡青.神经网络系统的现状及发展趋势[J]. 计算机科学, 1996, 23(3): 70-72.
[3] 王景新,戴葵,宋辉等.基于神经网络的入侵检测系统[J].计算机工程与科学, 2003(6):28-31.
[4] 李宏刚,吕辉,李.一种BP神经网络的改进方法及其应用[J].中国工程科学,2005(5):63-65.
神经网络设计范文3
1986年,rumelhart提出了反向传播学习算法,即bp(backpropagation)算法。反向传播bp(back propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一[1]。这种算法可以对网络中各层的权系数进行修正,故适用于多层网络学习。bp算法是目前应用最广泛的神经网络学习算法之一,在自动控制中是最有用的学习算法,它含有输人层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。隐层虽然和外界不连接,但是,它们的状态影响着输入输出之间的关系。也就是说,改变隐层的权系数,可以改变整个多层神经网络的性能[2]。
1bp 神经网络模型
bp 神经网络模型由一个输入层、一个输出层以及一个或多个隐含层构成,同一层中各神经元之间相互独立。输入信号从输入层神经元开始依次通过各个隐含层神经元,最后传递到输出层神经元, 图1给出了包含一个隐含层的bp网络模型结构,隐含层神经元个数为m。理论研究表明:具有一个输入层,一个线性输出层以及sigmoid 型激活函数的隐含层bp 网络能够以任意精度逼近任何连续可微函数[3]。
三层感知器中,输入向量为x=(x1,x2…xi…xn)t,图1中x0=-1是为隐层神经元引入阈值而设置的,隐层输入向量为y=(y1,y2…yj…ym,)t,图中y0=-1是为输出层神经元引入阈值而设置的;输出层输出向量o=(o1,o2, …,ok,ol)t,期望输出向量为d=(d1,d2, …,dk,dl)t,输入层到隐层之间的权值矩阵用v表示,v=(v1,v2, …,vj, …vm)t,隐层到输入层之间的权值矩阵用w表示,w=(w1,w2, …,w,k …wl)t,下面分析各层信号之间的关系[4]。
图1三层bp网络
对于输入层:
ok=f(netk) k=1,2, …,l,netk=∑mj=0wjkyj k=1,2, …,l;
对于隐层:
yj=f(netj)j=1,2, …,m,netj=∑ni=0vijxij=1,2, …,m;
以上两式中,激活函数都是sigmoid函数。
f(x)=11+e-x,f(x)具有连续、可导的特点且f’(x)= f(x)[1- f(x)]。
根据以上公式,我们可以推导出权值调整量δwjk和δvjk分别是:
δwjk=ηδokyj=η(dk-ok)ok(1-ok)yj,δvij=ηδyjxi=η(∑lk=1δokwjk)yj(1-yj)xi
2智能公交实时调度模型总体设计
公交公司的行车计划一般在年初就制定完成,调度员根据行车计划进行调度,遇到节假日、雨天等突况时,就凭调度员的工作经验调度。因此,可以考虑使用bp神经网络算法,在智能公交实时调度中加入误差反向传播算法,利用误差反向传播算法超强的学习能力和泛化能力,通过对公交海量历史调度数据的学习,建立公交车到达目的站点的预测模型。通过实时gps数据,就可以预测车辆到达目的地的大概时间,为建立智能公交调度提供极大的方便。智能公交实时调度模型如图2所示。
图2智能公交实时调度模型
从图2可以看出,智能公交实时调度模型分为3个主要模块。
(1)数据处理分析模块。智能公交实时调度模型的基础模块,数据来源于两个部分:一是公交历史行车数据,包括发车时间、天气等数据;二是gps定位系统采集的实时数据,主要是各个时刻采集的运行数据。该模块根据各预测模型的需要,选择合理的数据输入,并对数据进行处理。
(2)预测模型模块。通过对现有数据的分析、预测,得到车辆到达调度站的运行时间预测结果。
(3)智能实时调度模块。输入预测模型可以得到车辆运行时间,根据公交历史调度计划以及公交客流数据,可以适当改变当前调度计划,临时下达调度指令,为建立与实际客流相结合的调度方法提供决策支持。
(4)基于bp神经网络的预测模型。公交车辆的运行时间总的来说还是比较固定的,但是有时候会随着道路拥挤情况、节假日、天气情况等有所改变。由于神经网络具备以任意精度逼近连续函数功能,具有较强的自我学习能力和泛化能力,能够充分体现输入数据与输出数据之间复杂的映射关系。因此,本文采用bp神经网络来预测车辆到达时间。
2.1输入变量对公交运行时间的影响
把公交车运行时间分
为几个阶段,车辆到达目的地所需要的时间往往与该公交车处于的阶段有着某种必然的联系,根据车辆实时gps数据及车辆运行过程中所处的时间,设ti为公交车实时时间,所以ti在那个阶段对车辆运行有直接影响, ti可以根据gps数据实时取得。
车辆位置:车辆在运行过程中所处的位置对公交车到达目的站有着一定的影响,根据gps实时数据,可以计算出车辆离终点站有多少距离,将车辆在ti时刻距调度站的距离作为影响因素。
天气情况:天气的好坏对公共汽车的运行产生比较大的影响,一般情况下,公交车在晴天的运行时间要比雨天少,车速比雨天快。
星期情况:从周一到周日,不同日子有着不同的客流,所以星期情况对公交的运行产生一定的影响。
节日:重大节日客流量明显增多,车辆的运行时间也会有所延长。
2.2变量获取
bp神经网络需要大量数据作为输入、输出样本,因此在构建bp神经网络前,首先要做的工作就是获取这些数据。利用先进的信息技术,可以获取公交车辆运行的gps数据,而天气、星期情况、是否节假日这些变量则可以在大量的历史数据中获得。
2.3基于神经网络的车辆预测模型
预测模型将采用三层bp神经网络,即一个输入层,一个隐层以及一个输出层,输入层一共有5个变量,分别是时间、车辆位置、天气情况、星期情况以及节假日。隐含层节点数目一共有11个节点。输出层为1个节点,采用有导师的学习方法。至此本文建立的bp网络结构为5×11×1,bp网络结构如图3所示。
图3bp神经网络结构
bp神经网络的车辆运行时间测算模型如图4所示。
其中:t 为当前时刻,w(t-t),当前时刻t之前t时刻神经网络输入层与隐层以及隐层与输出层之间的权值矩阵。
f(t):车辆从起始站到当前时刻车辆的运行时间。
f’(t):预测样本的输出时间。
xi(t):t时刻的第i个输入向量,i∈[0,1],其中xi为车辆在t时刻到达调度站的距离的输入向量,x2为天气情况输入向量,x3为车辆运行所处的星期输入向量,x4为车辆运行当天是否节日的输入向量,x5为gps采集数据的时刻向量。
图4bp神经网络的车辆运行时间测算模型
2.4样本数据取值及归一化方法
(1)gps定位数据。在车辆运行过程中,对车载gps数据进行采集,采集完成后通过一定的方法进行计算,从而得出车辆离到达站的距离,设该距离为一对一使用归一化处理,使得转换后的数值就落在(0,1)上。
(2)天气情况。在一段时间内,公交车会碰到不同的天气,不同的天气对公交的运行产生不同的影响。我们把天气进行分类,一共分为7种状况,分别是大雨、小雨、雪、大雾、小雾、晴天和阴天,用不同的数字来表示这7种天气情况。
(3)星期情况。对于不同的星期采用不同的分类方法表示,从星期一到星期日也采用不同的数字表示。
(4)节假日。节假日可以用布尔变量来表示,true是节假日,false为非节假日。
3结语
国内大多数公交调度优化研究都是着眼于静态调度,而本文将研究重点放在了实时调度方面,在智能公交实时调度中加入bp神经网络技术,用误差反向传播算法超强的学习能力和泛化能力,通过对公交海量历史调度数据的学习,建立公交车到达目的站点的预测模型。通过实时gps数据,就可以预测车辆到达目的地的大概时间,为建立智能公交调度提供极大的方便。
参考文献参考文献:
\[1\]李翔,朱全银.adaboost算法改进bp神经网络预测研究[j].计算机工程与科学,2013(8).
神经网络设计范文4
关键词:Matlab;自动变速器;换档规律;神经网络
1 引言
汽车自动变速器的换档规律主要有三参数控制的换档规律和两参数控制的换档规律[1],本文研究的对象是两参数控制的换档规律,即由节气门开度和车速这两个主要参数控制的两参数换档规律。因为汽车在行驶的过程中,路况非常复杂、再加上每位驾驶员的驾驶习惯不同,所以节气门开度和车速经常频繁地呈非线性的变化。对于这种非线性关系的数据变化,采用普通的工具很难分析出它们之间的内在联系[2]。
而Matlab具有强大的数学分析能力,使用Matlab对非线性的数据进行分析是很好的选择。本文把数据训练样本输入Matlab工具箱中建立神经网络模型,训练之后建立的神经网络模型可以整合到在LabVIEW环境下编写的汽车自动变速器换档规律的测试系统中,使该系统能够直接调用神经网络模型实时对当前采集到的数据信号进行处理[3]。
2 采集训练样本数据
本文的具体研究对象是广汽本田2006款思迪轿车,选取该款车的节气门位置传感器电压输出信号和自动变速器中间轴车速传感器电压输出信号作为神经网络的输入向量,每个档位40组训练样本数据,5个前进档位,共200组神经网络的训练样本数据。其中1档和2档的样本数据是路试测得的,3档、4档和5档的样本数据是从广汽本田思迪轿车维修资料中 找到的。
从理论上讲,在不同的工况下、不同的路况下采集的训练样本数据越多,覆盖的面越广,网络训练完成之后建立的神经网络模型的性能就更加稳定、识别能力和学习能力也越高[4]。由于时间和精力的限制,本文在不同工况、不同路况、不同档位的情景中选取了200组数据作为神经网络的训练样本数据。
3 神经网络设计
3.1 目标向量设计
由于试验所用的本田思迪轿车在D档时有五个档位,因此各档位采用下列输出方式:
一档:[0 0 1]; 二档:[0 1 0]; 三档:[1 0 0]; 四档:[0 1 1]; 五档:[1 0 1] 。
3.2 样本数据归一化处理
节气门开度和车速具有不同的单位,所以在训练之前要做归一化处理,把数值量化到[0,1]之间,这有利于训练收敛的速度。本文采用的归一化方法是所有的节气门开度值除以最大的节气门开度值(100),所有车速值除以最大的车速值(255)。
3.3 网络训练
因为训练函数trainlm收敛速度快,网络的训练误差较小,所以通过以下代码调用trainlm。
net=newff(minmax(P),[17 3],{'tansig' 'logsig'},'trainlm'); %建立网络
net.trainParam.show=500; %步长,每次训练500组数据
net.trainParam.lr=0.05; %学习速率
net.trainParam.epochs=10000; %训练次数为10000
net.trainParam.goal=0.01;%训练目标为0.01
net=train(net,P,T); %%训练网络
网络的训练结果为:
TRAINLM, Epoch 0/10000, MSE 0.402581/0.01, Gradient 25.8807/1e-010
TRAINLM, Epoch 46/10000, MSE 0.00994202/0.01, Gradient 1.53303/1e-010
TRAINLM, Performance goal met.
可见,经过46次训练之后,网络的性能已经达到了使用要求,训练结果如图1所示。
3.4 网络测试
因为网络训练之后,其权值就固定下来了。此时输入每一个向量,网络就能输出相应的向量,但是训练完的网络需要用附加样本进行性能验证。如果不能满足使用要求,必须重新训练网络。本文的测试数据如表1所示。
表1的测试样本数据的测试结果如附图1所示。测试结果显示,神经网络的输出与期望输出基本符合,误差在允许范围内。其中误差最大的一组是第8组,期望输出是[0 0 1],实际输出是[0.0020 0.6006 0.5886],这表明此组测试数据在表示1档的同时也趋向于2档。出现这种情况是合理的,因为此时的节气门开度为87°,车速为50km/h,刚好处于1档和2档之间。如果训练样本数据大于200组,这个问题将会得到比较好的改善。
4 结论
神经网络模型对自动变速器的换档规律有很好的分析判断能力,学习能力强,对非线性关系的数据具有很强的处理能力。把建立好的神经网络模型整合到在LabVIEW环境下编写的程序中,能够同时轻松地实现数据采集、分析、结果显示等多种功能。
参考文献:
[1]阴晓峰,谭晶星,雷雨龙,葛安林.基于神经网络发动机模型的动态三参数换档规律[J].机械工程学报,2005,41(11).
[2]陈超.汽车AMT换档规律及其评价方法的研究[D].硕士学位论文,西华大学,2006(05).
[3]巫世晶,朱恩涌,李群力,王晓笋.汽车模糊控制换档策略仿真研究[J].西南交通大学学报,2008,43(06).
神经网络设计范文5
关键词:PID神经网络,解耦控制,粒子群优化,动量项,自适应学习速率
Design of Decoupling Control System for Glide Extended Range Guided Munition Based on PID Neural Network
Abstract: For the existing control coupling between pitch and yaw channels in low-speed rotation of the glide extended range guided munition, this paper describes the dual-channel decoupling control design using PID neural network. To this end, the paper first describes the dynamic model of glide extended range guided munition, based on the analysis of the model a structure and calculation method of PID neural network,is proposed , and it is improved by modified weight which uses increasing momentum term and adaptive variable learning rate. On this basis, through particle swarm optimization algorithm the initial weights of the network is optimized. By simulation through Matlab and analysis of the results ,it can be obtained that the method designed satisfies the requirements of decoupling control system, and can rapidly approaching the control target, at the same time it can well overcome the impact of the control system caused by the changes of missile aerodynamic parameters in different Maches,so a better control results can be achieved through this design.
Keywords: PID neural network, decoupling control, particle swarm optimization, momentum, adaptive learning rate
1 引言(Introduction)
神经网络设计范文6
关键词:电气设备;故障诊断;神经网络;学习算法
中图分类号:TP183
近年来,随着电气设备复杂度的增加,其发生故障的概率也逐渐上升。即使是熟练工程师,面对日趋复杂的设备内部电气结构,也难以迅速分析及判别其故障原因。与此同时,涌现出的各种智能算法、专家系统等,为设备诊断问题提供了可行的方案。其中,神经网络以其特有优势在电气设备故障诊断中发挥了重要作用。神经网络理论是人工智能、认知学、脑神经学、信息学等诸多学科融合发展的结果,它是由大量简单的处理单元(称为神经元),通过广泛的互相连接而形成的复杂网络系统。神经网络具有学习能力,可以根据电气设备的正常历史数据训练,将训练结果信息与当前测量数据进行比较,以确定故障。同时它具有滤除噪声的能力,这使其能在噪声环境中有效地在线监测及诊断。其具有的分辩故障原因及类型的能力,为未来实现故障智能诊断奠定了基础。本文介绍神经网络结构及其学习算法,提出一种基于BP网络的电气设备故障诊断方法,通过网络训练及结果测试表明,该方法具有良好的故障诊断能力。[JP]
1 BP神经网络模型
神经网络有很多模型,例如BP网络、Kohonen,Hopfield及ART等。其中,反向传播网络(Back[CD*2]Propagation Network)在神经网络的实际应用中有着十分重要的影响,工程应用中的绝大多数网络模型都采用BP模型或其变形,可以说BP模型体现了神经网络中的精华。
1.1 BP神经网络模型
以三层前向BP网络为例,对神经网络结构进行分析,其组成包括输入层、隐含层和输出层。如图1所示,图中圆圈表示神经元,Wir表示输入层第i个神经元与隐含层第r个神经元的连接权值;Vrj表示隐含层第r个神经元与输出层第j个神经元的连接权值;其间的连线表示神经元之间的相互作用强度。И
从图1的结构中可以得到,隐含层节点的输出函数和输出层节点的输出函数分别为:
式中:Tr和θr分别为隐含层和输出层的单元阈值。在本文设计的BP神经网络结构中,式(1)中的f(•)采用sigmoid函数,即f(x)=(1+e-x)-1。И
1.2 BP学习算法
BP模型的成功得益于BP算法的应用,即误差反向传播算法。BP算法属于梯度下降算法,是一种监督式的学习算法。用网络的实际输出与目标矢量之间的误差来修正网络权值,使输出与期望尽可能接近(网络输出层的误差平方和达到最小);通过反复在误差函数梯度下降方向上调整网络权值的变化,逐渐逼近目标。每次权值和偏差的变化都与网络输出误差的影响成正比,并以反向传播的方式传递到每一层。BP网络是由两部分组成:信息的正向传递和误差的反向传播。
设神经元的输入矢量为[WTHX]X[WTBX]=\[x1,x2,…,xn\],其中n是输入层的神经元数。对应于输入[WTHX]X的输出矢量是Y[WTBX]=\[y1,y2,…,ym\],其中m 是输出层的神经元数。如果要求网络的期望输出是[WTHX]T[WTBX]=\[t1,t2,…,tm\],г蛭蟛詈数可以定义为:
BP算法采用梯度下降法来调整网络的权值,以使上述误差函数减小,即:
Иw(n+1)=w(n)-η(E/w)[JY](3)И
式中:常数Е鞘侨ㄖ档髡速率,通常取值0.01≤η≤1。权值WУ牡髡方法采用以下公式:
式中:ИΔwpq表示某层第p个节点到下一层第q个节点的权值修正量;xp表示节点p的输出;δq表示节点qУ亩说愕燃畚蟛,由输出层的等效误差反传而来:
式中:对应BP模型网络结构(见图1);节点q位于输出层;节点h位于隐层。
2 电气设备故障检测实例
在电气设备中发动机是故障率比较高的设备之一,其在故障诊断中比较具有代表性。在此,以发动机为例,分析BP神经网络在电气设备故障诊断过程中的一般模式及步骤。
2.1 网络样本选取及参数选择
分析发动机的常见故障模式,首先选择具有代表性的故障作为特征向量,取[WTHX]X[WTBX]=[x1,x2,x3,x4]作为神经网络的输入。其中:x1代表功率不足故障;x2代表声音异常故障;x3代表排气温度高故障;x4代表消耗量过大故障。通过分析故障原因,取[WTHX]Y[WTBX]=[y1,y2,y3,y4,y5]作为目标输出向量。其中:y1代表点火不正确;y2代表高压线圈损坏;y3代表出现燃爆现象;y4代表进气排气管故障;y5代表增压积炭过多故障。表1给出了输入故障现象[WTHX]X和输出原因分析Y[WTBX]е间的对应关系。
由此可知,在设计基于三层BP神经网络的发动机故障诊断系统中,输入层神经元节点数N=4,输出层神经元节点数M=5。由公式h=(N+M)+σ可得隐含层神经元节点数h取3~6之间的数。И
2.2 训练及测试
通过输入样本组对所设计的网络进行训练,选择训练误差为10-6。例如,输入样本[WTHX]X[WTBX]=[0,0,1,0],调整网络状态,使其输出接近目标[WTHX]Y[WTBX]=[1,0,0,1,0],即当发生排气温度过高故障时,可能原因是点火不正确以及进气排气管问题。训练网络的过程,实际上就是调整网络参数的过程,具体来说,最主要的就是确定各个网络权值。最终训练好的网络在测试过程中,能较为准确地诊断出故障问题的原因。在工程使用过程中,选择故障检测过程中各种仪器测量出来、有代表意义的测量数据,根据先验知识及专家分析,组成输入样本和目标向量组,对设计的网络结构训练。在训练过程中,可增加输入样本的数量。因为通过大量样本训练,神经网络能具有更好的适应性和鲁棒性,其故障诊断的准确性有所提高。采用C++builder及Matlab混合编程,前者负责做界面系统的开发,后者集中在神经网络算法的设计上,据此进一步提高本工作的实际应用能力。