训练神经网络的方法范文
时间:2024-03-29 15:53:34
导语:如何才能写好一篇训练神经网络的方法,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
关键词:带有局部搜索的量子粒子群算法;RBF神经网络;结构优化;参数优化
中图分类号:TP181文献标识码:A
文章编号:1004-373X(2010)04-157-03
RBF Neural Network Training Based on MQPSO-LQPSO
CAI Jiliang,YE Wei
(College of Science,Air Force Engineering University,Xi′ an,710051,China)
Abstract:Quantum-Behaved Particle Swarm Optimization with Generalized Local Search Operator(MQPSO -LQPSO) is a very successful algorithm of modified QPSO.This algorithm is used to find the best structure and parameters of RBF neural network.They are both determined when finishing training.Experiments on functional approach show this method is effective.
Keywords:MQPSO-LQPSO;RBF neural network;structure optimization;parameter optimization
0 引 言
径向基函数神经网络(Radial Basis Function Neural Network,RBFNN)是一种生物背景很强的前向神经网络,具有逼近能力强、学习速度快、鲁棒性强、泛化能力高等优点,在图像处理、自动控制、预测、信号处理、模式识别等多个领得到了广泛应用。
然而RBF神经网络存在着结构难以选取、参数的问题,许多学者对其训练方式进行了改进。与进化算法如遗传算法GA[1]、蚁群算法ACO[2]、粒子群算法PSO[3]、量子粒子群算法QPSO[4]等相结合是一个重要的改进方向。然而GA、ACO算法较为复杂,PSO算法简单但不能以概率1收敛到全局极小点,QPSO算能以概率1收敛到全局极小点,但搜索能力不够好,这些使得网络或陷入局部极小,或运算时间长,一定程度上影响了网络的性能。本文用简单且收敛性更好的QPSO改进型算法MQPSO-LQPSO来训练网络,将网络的结构也作为编码对象,在确定网络参数的同时也确定了网络的结构,提高了精度。
1 RBF神经网络
径向基函数神经网络是J.Moody 和C.Darken于20世纪80年代受人脑感受野的局部调节及重叠性启发而提出的,已经证明它能以任意精度逼近任意连续函数。径向基函数神经网络由输入层、隐层和输出层组成,其结构如图1 所示。输入层只传递输入信号到隐层;隐层传递函数由辐射状作用的非线性基函数组成,一般用Gauss径向基函数;输出为为线性传递函数。具有n个输入,h个隐节点,m个输出的径向基函数网络第i个模型输出为:
yi=ti+∑hj=1wijexp(-x-Cj2/2σ2j)(1)
图1 RBF神经网络结构
2 QPSO算法[5,6]
在量子空间中,粒子的速度和位置不能同时确定,因此Sun等人用粒子运动的波函数来描述粒子的状态,并求解薛定谔方程,得到粒子在空间某一位置的概率密度函数,进而得到位置的分布函数,应用Monte Carlo方法(详见文献[5,6],最后得到算法的进化方程:
Pij(t)=φij(t)Pbestij(t)+[1-φij(t)]Gbestij(t),
φij(t)~U(0,1)(2)
Mbestij(t)=1N∑nj=1pi(t)=[1N∑nj=1pi1(t),
1N∑nj=1pi2(t),…,1N∑nj=1piD(t)](3)
xij(t+1)=Pij(t)+αMbestij(t)-xij(t)ln1uij,
if rand()>0.5
Pij(t)-αMbestij(t)-xij(t)ln1uij,
otherwise uij(t)~U(0,1)(4)
式中:N为群体的规模;D为粒子的维数;P为局部吸引子;Pbest是第i个粒子的自身最优位置参数;Gbest是粒子群中所有粒子到目前为止最优位置参数;Mbest为平均最优位置,它是所有粒子自身最优位置的中心点;α为控制因子,用来控制粒子的收敛速度,是算法中惟一的控制参数。一般取1~0.5随迭代次数线性递减时,收敛效果最佳。
3 MQPSO-LQPSO的基本原理[7]
一个好的启发式搜索算法不仅要具有在未知区间上良好的全局搜索能力和在已搜区间上精细的局部勘探能力,而且还要使二者达恰当的平衡。QPSO具有良好的全局收敛性,但同时还需要一种有效的局部搜索机制,以便更好地搜索全局最优解。可以利用QPSO具的全局收敛性,将其在一个较小的局部范围内全局搜索,以达到增强局部搜索能力。基于这一思想,作者将较大规模的QPSO称为MQPSO,做全局勘探,将较小规模的QPSO称为LQPSO,做局部开发,继续搜索当前MQPSO搜索到的以Gbest为中心的某一邻域。LQPSO仍是一个完整的QPSO,只是其规模比MQPSO小,表现在搜索的范围和粒子的个数和迭代次数上。MQPSO搜索的范围是整个可行解的空间,而LQPSO的搜索范围是当前最优解的邻域,其邻域表达式为:
N(Gbest,radius)=Gbest•rand(1-radius,
1+radius)(5)
式中:radius
这种改进的算法在不增加计算次数的条件下,具有更好的搜索能力。
4 基于MQPSO-LQPSO的RBF神经网络训练方法
建立RBF网络的关键在于确定RBF网络隐层数据中心的个数h、数据中心的位置Cj、扩展常数σj,以及输出权值wij。设网络训练集X={(Pk,yk)|k=1,2,…,N},其中,Pk为输入,yk为目标输出,则神经网络的输出均方误差为:
mse=1m×n∑nk=1(yk^-yk)2(6)
式中:m为输入样本的维数;yk^为Pk对应的网络输出。由式(1)可知,它是关于h,Cj,σj和wij的函数,基于MQPSO-LQPSO的RBF神经网络训练就是让其达到最小,因此可将它作为MQPSO-LQPSO的适应度函数,而将h,Cj,σj和wij作为参数。粒子采用实数编码,由于h表示隐层神经元的个数,是正整数,可假设hmax为事先设定好的最大隐节点数。若hi>0(i
基于MQPSO-LQPSO的RBF神经网络训练方法具体描述为:
(1) 归一化处理样本;
(2) 随机生成初始种群,采用上述编码方式对各粒子的位置进行编码,并确定Pbest和Gbest;
(3) 重复下列步骤,直到满足MQPSO最大迭代次数或达到函数全局极小值的终止条件:
① 把每一向量映射为网络的一组神经网络参数值,并组成网络;
② 按照式(2)~(4)更新MQPSO中所有的粒子;
③ 输入训练样本进行训练,对每一个体进行评价,计算其适应值,并确定Pbest和Gbest;
④更新MQPSO粒子的Pbest和Gbest;
⑤按式(5)计算MQPSO的Gbest邻域,并在Gbest的邻域实行LQPSO操作;
⑥将LQPSO搜索到的Gbest赋给MQPSO的Gbest。
(4) 输出最佳参数值作为优化结果,算法结束。
5 仿真实验
Hermit多项式是一种常用的神经网络逼近测试函数,为:
f(x)=1.1(1-x+2x2)exp(-x2/2)
下面用MQPSO-LQPSO-RBF实现Hermit多项式逼近,并与文献[4]相比较,以0.08为步长同样在[-4,4]之间均匀采样101个实数值作为网络的训练输入样本,其相对应的函数值作为训练输出样本以此构成网络的训练样本集。同时在[-4,4]之间随机采样100个实数值作为网络的测试输入样本,其相对应的函数值作为测试输出样本,以此构成网络的测试样本集。实验中RBF神经网络隐含层预设为8,输入和输出层各取一个神经元,径向基函数采用高斯函数。因此网络中需要优化的参数为8个高斯函数的中心,8个高斯函数的扩展常数以及8个输出层的连接权值和1个输出偏移,共33个参数,即QPSO算法和IMQPSO-LQPSO算法中的粒子将在33维的空间中搜索,寻求满足最小均方误差要求的参数向量。
采用MQPSO-LQPSO算法中MQPSO的学习算法参数α作为迭代次数的函数从数从1~0.5线性减小,粒子数均为30。MQPSO-LQPSO中LQPSO的规模为5×6,参数α保持0.5 不变。总的最大计算适应度函数次数为12 000次,收敛最小误差为1×10-6。经仿真知最佳隐层个数为6。仿真结果如图2所示。比较结果如表1所示。
图2 迭代次数为200时的仿真结果
表1 MQPSO-LQPSO-RBF和QPSO-RBF的逼近效果比较
MQPSO-LQPSO-RBFQPSO-RBF[4]
训练集上的均方误差8.2×10-55.17×10-4
测试集上的均方误差9.7×10-55.10×10-4
从图2中仿真结果可以看出,逼近图形和原图形几乎重合;从表1中比较结果可以看出,改进算法有更小的均方误差,可见改进算法能很精确地实现函数逼近。
6 结 语
本文用性能比QPSO算法强的MQPSO-LQPSO算法来训练RBF网络,用这种方法改进的RBF网络不仅可以在确定网络的结构的同时确定网络的参数,还可以获得更好的逼近效果,因而是有效的。但注意到若预设的隐层节点较多,会导致搜索维数增加,从而降低搜索效率,因此下一步的工作是改进网络编码方式,用较小的维数来表示较大规模的网络,以增强算法的鲁棒性。
参考文献
[1]赵志刚,单晓红.一种基于遗传算法的RBF神经网络优化方法[J].计算机工程,2007,33(6):221-222.
[2]满春涛,李晓霞,张礼勇.一种基于ACO的RBF神经网络训练方法[J].哈尔滨理工大学学报,2007,13(1):56-58.
[3]梁桂兰,徐卫亚,何育智,等.PSO-RBFNN模型及其在岩土工程非线性时间序列预测中的应用[J].岩土力学,2008,29(2):995-1 000.
[4]陈伟,冯斌,孙俊.基于QPSO算法的RBF神经网络参数优化仿真研究[J].计算机应用,2006,26(8):1 928-1 931.
[5]Sun J,Feng B,Xu W B.Particle Swarm Optimization with Particles Having Quantum Behavior[A].Proceedings of 2004 Congress on Evolutionary Computation[C].2004:325-331.
[6]Sun J.A Global Search Strategy of Quantum-behaved Particle Swarm Optimization[A].Proc.2004 Congress on Cybernetics and Intelligent Systems[C].2004.
[7]Wang Jiahai,Zhou Yalan.Quantum-Behaved Particle Swarm Optimization with Generalized Local Search Operator for Global Optimization[A].ICIC 2007[C].Berlin Springer-Verlag,2007:851-860.
[8]刘兴华,刘宪英,胡泽.基于RBF神经网络系统辨识研究[J].现代电子技术,2004,27(24):57-59.
篇2
摘要:
高轨卫星是我国卫星导航系统的重要组成部分。提升该类卫星的轨道预报精度有利于用户定位精度的提高。提出了一种改进高轨卫星轨道预报精度的新方法。该方法避开了精化动力学模型的困难,尝试从轨道预报误差的规律中寻找突破。利用神经网络作为建立预报模型的工具,将某历史时刻的轨道预报误差作为训练样本,利用训练好的神经网络模型补偿当前时刻的预报轨道以提高轨道预报精度。对影响神经网络模型补偿效果的各因素进行了详细分析,制定了适应于高轨卫星短期、中期和长期预报的神经网络最优模型。利用实测数据进行了试验分析,结果表明:预报8,15及30d应选择的训练步长分别为10,20及25min;轨道预报8~30d时,训练噪声均选取0.01。神经网络模型有效地改进了高轨卫星的轨道预报精度,预报4~30d,轨道精度提高幅度为34.67%~82.37%不等。
关键词:
神经网络;轨道预报;训练噪声;训练步长;地球静止轨道卫星;倾斜地球同步轨道卫星
高轨卫星在我国的航天系统中应用十分广泛。特别是我国的卫星导航系统BDS(Beidousystem),其主要包括GEO卫星和IGSO卫星。导航卫星星历的精度是定位精度的基础,而广播星历本身便是轨道预报的结果。预报精度问题是制约BDS卫星导航系统服务性能的关键因素,因此有必要对导航系统中的高轨卫星轨道预报精度展开研究[1]。改进轨道预报精度的一种方法是建立更加精准的动力学模型[2 ̄3]。然而由于该方法需要长期精密轨道数据的支撑,周期长、难度大。改进轨道预报精度的另一种方法可以从轨道预报误差的规律中寻找突破[4]。神经网络作为一种新兴的建模工具,特点在于处理高维性、非线性的问题时不需要准确知道输出输入函数的结构参数。只要通过训练来掌握它们之间的内在关系,在输入训练集以外的数据时,神经网络可以获得它们之间正确的映射关系。该方法的优势在于不确定性系统的控制和预测。目前在轨道预报中使用神经网络工具的相关研究较少,文献[5]根据GPS卫星星历的相关周期特性,以时间系列预报作为基础,利用神经网络建立预报模型。在没有任何动力学模型的情况下得到了精度为数百米(1周)的预报结果。但是由于将卫星位置量直接作为神经网络的输出,神经网络算法的状态量动态范围大,限制了预报精度的提高。文献[6]利用GPS卫星精密星历已知的优势,将神经网络与动力学模型相结合组成混合预报模型,改进GPS导航卫星的中长期预报。该方法可以在一定程度上改进轨道预报精度,但不是每次改进均能成功,存在改进失效的情况。针对高轨卫星的高精度轨道预报这一难题展开研究。以神经网络作为建立预报模型的工具,在动力学模型基础上建立神经网络模型,通过对历史时刻预报误差的学习及训练,掌握其变化规律,再用于补偿和改进当前时刻的预报轨道,以达到提高预报精度的目的。针对神经网络训练及补偿特性,分析了不同因素对神经网络模型性能的影响。基于此制定了短、中、长期轨道预报的最优模型,最后利用不同类型卫星进行了试验分析。
1基于BP神经网络的轨道预报算法
BP神经网络是一种多层网络的“逆推”学习算法[7 ̄9]。利用神经网络进行轨道预报分为训练和补偿两个阶段。在训练阶段,采用拼接方法得到一条长时间的精密轨道,用于衡量动力学模型预报误差及神经网络模型的训练误差。针对拼接处小量级的跳跃现象,采用Robust ̄loess数值滤波方法进行轨道预报误差平滑[10]。由于预报轨道和预报误差为训练样本,故需要对两者的特性进行分析。同时神经网络模型参数在一定程度上影响神经网络的训练效果,因此有必要对影响神经网络模型的一些关键因素进行分析,以确定最优的神经网络模型。在补偿阶段,将当前时刻的预报轨道X(T)和V(T)作为神经网络模型的输入;将利用函数f(X,V)计算得到神经网络模型的输出作为当前时刻预报轨道的补偿值ΔXNN(T),将改进后的预报轨道X(T)和V(T)作为最终轨道输出。在神经网络具体应用中,为了提高网络性能以完成预定任务,需要认真考虑训练集预处理、网络结构设定以及训练算法等内容。网络的性能主要表现在训练效率及泛化能力。泛化能力是指辨识训练样本中所隐藏的规律并且当被输入样本以外数据时,网络能正确地反应这种规律的能力。关于网络泛化能力的相关讨论及改进措施,已有文献进行了比较详实的总结。这里涉及到的方法主要包括下列3个方面:一是处理训练样本的方法[11],将神经网络的训练样本进行归一化处理,使其在[-1,1]变化,以提高神经网络的性能;二是训练步长的选取;三是增加随机噪声[12 ̄13]。
2不同因素对神经网络模型性能的影响
分别针对预报轨道和预报误差特征、训练步长的选择、训练噪声的大小对神经网络模型性能的影响进行讨论。
2.1预报轨道和预报误差的特征分析
2.1.1中长期预报轨道和预报误差特征将短期轨道预报弧长定位为1~13d,中期轨道预报弧长为14~27d,长期轨道预报弧长大于27d。以某初始时刻的预报误差作为训练样本训练得到的神经网络可以对其他初始时刻的预报轨道提供补偿,但前提是两个初始时刻的预报误差数值大小及波形图要相近。对GEO卫星的预报误差进行时间序列分析,结果可以看出,预报误差最大值呈现以14d为周期的变化规律;IGSO卫星具有相同的特征。文中选取的训练弧长与当前时刻的轨道预报弧长相等。对于中长期轨道预报可以采用以下方案:假设预报弧长为md(14n≤m≤14(n+1),n≥1),用当前时刻起14(n+1)d之前那天的预报误差和预报轨道作为训练样本,训练弧长为md,训练得到神经网络模型。采用神经网络模型计算得到的补偿误差波形对当前的预报误差进行补偿。对于短期预报,由于预报弧长小于14d,其轨道预报方案中还考虑了预报误差波形的最佳匹配。即充分结合预报误差和预报轨道的动力学特性,建立了一个训练样本集。根据当前时刻的预报误差波形变化特征在样本集中搜索最佳训练样本,实现两者波形变化的最优匹配,从而实现最优的补偿效果。在中长期预报中未采用波形匹配算法的主要原因是,需要兼顾工程应用中的实时性,波形匹配耗时较长。
2.1.2短期预报中的波形匹配算法航天器是一个受摄动力系统,其初值不稳定性使得利用不同初始轨道得到的预报轨道和预报误差的特性均不同。这就导致不同初始时刻的预报误差并无规律。为了实现最佳的神经网络模型补偿效果,必须找到与当前时刻预报误差变化波形最为相近的历史时刻中的一条预报轨道。采用历史时刻的预报轨道和预报误差作为训练样本,训练得到神经网络模型。在实际工程应用中,因为当前时刻之后的预报弧段中的精密轨道无法获取,故不能获得当前时刻的预报误差波形变化规律,所以并不能直接通过预报误差波形比对来寻找补偿当前时刻预报轨道的训练样本。但是基于动力学模型外推可以得到当前时刻的预报轨道,如果能找到预报轨道与预报误差之间的波形变化对应关系,就可得到当前时刻的预报误差波形变化规律。由于预报误差的变化周期与轨道周期相同,对于GEO/IGSO卫星均为1d,通过对比预报误差波形变化最大值和最小值出现的时刻,搜寻得到用于补偿当前时刻预报误差的训练样本。由于预报轨道在数值上远远大于预报误差,为了便于分析问题,将两者进行归一化处理,即分别将两者除以各自的最大值,这样它们就在±1之间变化。图2和图3分别给出了某GEO卫星和某IGSO卫星在2013年第23天预报8d的轨道与相应的预报误差之间的对应关系。其中,横坐标表示预报时间,单位为d;纵坐标表示归一化后的数值,无量纲。1)对于两种类型的卫星,在J2000坐标系中X和Y轴方向,当预报轨道X/Y=0时,对应时刻的预报误差为最大值(峰值)或最小值(谷值)。预报轨道从正值变化为负值经过零值的时刻对应着预报误差的峰值,从负值变化为正值经过零值的时刻则对应着预报误差的谷值。2)在Z轴方向,GEO卫星的预报轨道和预报误差之间并无明显的对应关系;IGSO卫星存在与X/Y轴相同的对应关系。将作为训练样本的预报误差选择定义在J2000坐标系中,主要是因为在该坐标系中预报误差的规律性强,并且与预报轨道之间存在一定的对应关系。
2.2训练步长对预报精度的影响预报误差改进率的计算公式如下。以某GEO卫星为例,表1给出了不同预报弧长、不同训练步长下利用神经网络模型得到的预报误差改进率。分析表1中的数据可以看出下列3点。1)训练步长越小,神经网络模型的改进率就越高。2)预报弧长的长度与对训练步长的敏感度成反比,即弧长越长,训练步长的延长对改进率的影响就越小。训练步长从5min延长至40min,预报8,15和30d的改进率分别降低5.68%,3.9%和1.36%。3)由于训练步长越小,训练时间越长,因此改进率与训练时间是一对矛盾体。从综合改进率和训练时间的要求考虑,即改进率应尽可能高,而训练时间应尽可能短。故预报8,15和30d应选择的训练步长分别为10,20和25min。
2.3训练噪声对预报精度的影响以某初始时刻的轨道预报误差(称为训练值)作为训练样本训练神经网络模型,用其补偿另一个初始时刻利用动力学模型外推得到的预报误差(称为期望值)。如果训练值和期望值在同一时刻吻合的很好,那么利用神经网络模型一定能很好地修正动力学模型的预报误差。以某GEO卫星轨道预报8d为例,图4给出了采用不同噪声值时训练值和期望值之间的吻合关系。分为无噪声、噪声为0.01、噪声为0.05和噪声为0.10共4种情况。从图4中可以看到,不加噪声时训练值与其期望值的差别较大,因此应加入训练噪声以提高神经网络的泛化能力;加入噪声后训练值与期望值吻合的较好,但无法区分噪声值为多大时预报精度最高。表2给出了采用不同训练噪声时,经神经网络模型补偿后的轨道预报误差最大值的统计结果。其中原始预报误差为未进行补偿时的采用动力学模型外推得到的预报误差。表2不同训练噪声下的预报分析表2中数据可以看出下列两点。1)无噪声时,前4d无改善,精度反而降低;预报8d及更长弧段时预报误差略有改善,故应加入训练噪声。2)增加噪声后,噪声从0.001~0.100的变化对预报精度的改进幅度相当。但从总体来看,噪声越小,前6d的预报精度越高;但预报8d以及更长弧段时噪声为0.010的预报误差最小,故应选择训练噪声为0.010。
3试验结果及分析
根据上述短、中、长期轨道预报方案,并结合不同神经网络模型参数的优化设计分析,给出了利用神经网络模型进行轨道预报的试验结果。通过与精密星历比对可以分别得到动力学模型和神经网络模型的预报精度。表3列出了BDS系统中两颗GEO、三颗IGSO共5颗卫星在2013年第23天利用神经网络模型和动力学模型外推得到的预报误差(其中NN代表神经网络模型;Dyn代表动力学模型)。Sat02卫星由于轨道机动未能统计其中长期预报结果。表3中误差是在一定弧段内预报误差的最大值。从表3可得,神经网络模型1d预报误差有时会大于动力学模型的预报误差;但预报4,8,15及30d各卫星采用神经网络模型补偿后的预报精度均有所提高。这主要因为1d的预报弧段规律性不强,不利于神经网络模型的学习及训练。随着弧段的增长,训练样本的规律性增强,神经网络模型的补偿效果有所提高。为了更好地衡量神经网络模型的改进效果,给出各卫星的预报精度提高幅度,其与预报误差改进率的计算公式相同。表4给出了各卫星经神经网络模型补偿后的预报精度提高幅度。从表4中可以看出,预报4d各卫星的轨道精度改进幅度为40.25%~60.31%;预报8d各卫星的轨道精度改进幅度为63.28%~72.59%;预报15d改进幅度为47.01%~82.37%;预报30d改进幅度为34.67%~82.35%。可见神经网络模型在改进轨道预报误差中的作用显著。
4结论
篇3
关键词: 谐波; 间谐波; 全相位快速傅里叶变换; 人工神经网络; 虚拟仪器
中图分类号: TN711?34; TM417 文献标识码: A 文章编号: 1004?373X(2017)01?0125?04
Abstract: On the basis of analyzing the available harmonic detection methods, the harmonic and interharmonic detection method based on all?phase fast Fourier transform and artificial neural network is studied. A new harmonic detection method based on all?phase fast Fourier transform and BP neural network is proposed to solve the problem of low harmonic detection precision. And a harmonic detection method based on all?phase fast Fourier transform and adaptive neural network is used to further improve the accuracy of harmonic detection. A harmonic detection software based on all?phase fast Fourier transform and adaptive neural network was designed on virtual instrument software development platform LabWindows/CVI. The software can realize the detection of harmonic amplitude and phase and calculation of total harmonic distortion, and give an alarm when the total harmonic distortion is out of limit.
Keywords: harmonic; interharmonic; all?phase fast Fourier transform; artificial neural network; virtual instrument
在理想情况下,电力系统的电能应该是具有单一频率、单一波形和若干电压等级的正弦电压信号。但是实际生产生活中由于一些原因,电网中的电能很难保持理想的波形,实际的波形总是存在偏差和形变,这种波形畸变称为谐波畸变[1]。造成谐波畸变的原因是电网中存在大量的电力系统谐波。随着谐波污染问题愈加严重,其产生的危害也越来越广泛。因此,谐波检测问题具有十分重要的研究价值和意义[2]。
1 基于全相位快速傅里叶变换和BP神经网络
的谐波检测
1.1 谐波相角检测
全相位快速傅里叶变换具有相位不变性。利用该性质对电网电压信号的采样值进行全相位快速傅里叶变换谱分析,获得高精度的谐波相位值[3]。其步骤如下:
(1) 采集电网信号,获取个采样值。
(2) 对采样数据进行全相位快速傅里叶变换谱分析,获得幅值谱和相位谱。
(3) 全相位快速傅里叶变换所得的幅值谱受到栅栏效应的影响无法获得准确的谐波信号幅值,但是幅值谱在谐波相应的频率附近会出现峰值谱线,通过读取该峰值谱线对应的相位值即可得到精确的谐波相位[4]。
1.2 基于BP神经网络的谐波幅值检测
选择BP神经网络作为谐波幅值的检测方法。基于BP神经网络的谐波幅值检测分为以下步骤:
(1) 构建谐波检测BP神经网络结构
传统的BP神经网络谐波检测网络由输入层、隐含层、输出层构成[5]。本文构建的网络仅含有一个隐含层。由于传统结构的BP神经网络输出层各神经元共用同一个隐含层,相互之间影响比较严重,存在谐波幅值检测精度不高的问题。因此本文采用改进的BP神经网络结构,输入层、输出层设置不变,仅使输出层的每一个神经元分别都对应一个隐含层,解决了各待测谐波相互影响的问题,提高了谐波检测的精度。
(2) 确定谐波检测BP神经网络学习算法
设电网中电压信号为一周期性非正弦信,对做一个周期内的等时间间隔采样。采样数据作为神经网络的输入。隐含层的输出为。输出层为分别对应三次谐波和五次谐波幅值[6]。由于各次谐波具有相同的学习算法,在此仅以三次谐波为例,介绍其学习算法。三次谐波的隐含层和输出层的输出为:
(3) 选取谐波检测神经网络训练样本
在实际检测时以检测奇次谐波中次数较低的谐波为主。本文谐波检测前通过滤除基波和更高次的谐波,选取由三次谐波和五次谐波组成的谐波电流为例说明训练样本的选取过程[7]。谐波电压可以表示为:
(4) 学习样本选取完成后,按照BP神经网络的训练过程训练神经网络。待训练结束,获取神经网络各个连接权值,从而固定BP神经网络结构和连接权值,完成对谐波幅值的记忆。其后只需要采集电网信号作为同相位条件下的BP神经网络的输入,即可从网络输出获取信号中所含的各次谐波幅值。
1.3 谐波检测仿真实验
本仿真只对某个相位条件下的BP神经网络对三次和五次谐波的幅值进行仿真验证。在三次谐波的相位为30°,五次谐波的相位为60°的条件下采用训练样本选取方法,获取676组训练样本,离线训练谐波检测BP神经网络。仿真程序流程如图1所示。
训练完成后,选择多组相位同为30°和60°未训练的样本仿真验证谐波幅值检测的精度。通过实验可以看出,BP神经网络谐波幅值检测方法结果比插值FFT具有更高的精度。通过增加训练样本个数可进一步提高神经网络谐波幅值检测的精度。
2 基于全相位快速傅里叶变换和自适应神经网
络谐波检测
2.1 检测步骤
基于全相位快速傅里叶变换和自适应神经网络的谐波检测方法的具体步骤如下:
(1) 采集训练样本。设定采样频率和采样时间,采集电网电压信号,为全相位快速傅里叶变换提供分析数据,为自适应人工神经网络提供训练样本。
(2) 确定谐波初相位。将电网信号采样数据经过全相位快速傅里叶变换分析,在分析结果的幅值谱中找出峰值谱线,并由峰值谱线对应的相位值获取各谐波的高精度相位。
(3) 初始化谐波幅值检测神经网络。利用谐波相位检测结果设置神经网络参考输入向量中的各次谐波相位值。
(4) 计算误差读取一次训练样本,根据采样时间计算神经元输出与此刻的电网信号采样值做差,进而计算误差函数和性能指标。
(5) 根据误差调整神经网络权值。
以最小均方差法(LMS)作为谐波幅值检测自适应神经网络的学习算法,则权值调整公式,即谐波幅值调整公式为:
(6) 判断是否等于训练样本总数如果是,再判断是否达到最大训练次数。若达到最大训练次数则结束训练转至下一步。若未达到,则需计算并判断是否达到性能指标要求,达标则转至下一步,不达标则返回步骤(4)再次执行。如果否,返回步骤(4)继续执行。
(7) 训练结束。根据所得神经网络权值获得各次谐波幅值。
2.2 谐波检测仿真
取511个电网信号采样点经过apFFT分析后,可以看出该谐波相位检测具有很高的精度。利用apFFT分析结果初始化神经网络,并取50组训练样本训练神经网络,可以看出性能指标函数的值在训练次数足够大的情况下可以达到,在经过10次以内的训练后基波和谐波检测值趋于稳定。由实验数据可以看出本文采用的方法极大地提高了谐波幅值的检测精度。
3 基于全相位快速傅里叶变换和增强型自适应
神经网络的间谐波检测
3.1 增强型自适应神经网络间谐波检测模型
谐波检测中在基波频率已知的情况下,由于谐波频率为基波频率的整数倍,因而谐波频率无需检测。但是对于间谐波检测,由于间谐波频率为基波频率的非整数倍,无法通过基波频率获知间谐波频率,因此在间谐波检测时,需要将间谐波的频率也作为检测项[8]。为此,将应用于间谐波检测的自适应神经网络结构设计成如图3所示的形式。
3.2 谐波检测步骤
基于全相位快速傅里叶变换和增强型自适应神经网络的间谐波检测步骤如下:
(1) 信号采集和apFFT分析。将电网信号滤除已测量的基波、谐波信号后得到由间谐波构成的信号,采样并经apFFT算法分析后,得到幅值谱和相位谱。
(2) 神经网络结构的确定和初始化。由于神经网络中间层神经元的个数等于间谐波个数,因此通过apFFT幅值谱峰值谱线的个数确定神经元个数。分别确定间谐波频率和幅值的学习率和动量因子。设定神经网络的最大训练次数,开始人工神经网络的训练。
(3) 计算误差。读取一次训练样本,根据式(11)计算神经网络实际输出,并与此刻的采样值做差,进而计算误差函数和性能指标。
(5) 判断是否等于训练样本总数如果是,再判断是否达到最大训练次数。若达到最大训练次数则结束训练转至下一步。若未达到,则需计算并判断是否达到性能指标要求,达标则转至下一步,不达标则返回步骤(3)再次执行。如果否,返回步骤(3)继续执行。
(6) 学习结束。学习结束后,通过激励函数的角频率获取间谐波频率,通过神经网络权值得到间谐波幅值。
3.3 间谐波检测仿真
设基波频率为50 Hz,采样频率为2 560 Hz,采集511个点。利用apFFT的分析结果初始化神经网络。设置间谐波幅值调整的学习因子=0.01,设置动量因子=0.3,随后开始训练神经网络。从实验数据可得,网络经过70次左右的在线训练后基本收敛。经过70次训练后幅值误差都达到了以下,频率误差达到了以下。通过对原始间谐波叠加信号波形和检测得到的间谐波组合信号波形进行对比可知,基于全相位快速傅里叶变换和增强型自适应神经网络的间谐波检测方法具有更高的检测精度。
4 LabWindows/CVI谐波检测软件实现
4.1 谐波检测系统设计方案
针对电力系统中存在C波问题,利用LabWindows/CVI和计算机设计虚拟谐波检测仪器。主要实现的功能是分析数据采集卡采集的电网电压数据,利用apFFT和自适应线性神经网络算法获取高精度的谐波电压幅值和谐波初相位,并通过计算机显示出检测结果。利用检测结果计算总谐波畸变率,当畸变率超过标准值时给出警报。首先获取电网电压采样信号,进而将采样信号经过全相位快速傅里叶变换分析得到基波和各次谐波信号的高精度相位值,通过获得的相位值设置自适应神经网络激励函数中的谐波相位值,随后利用采样数据在线训练神经网络获得基波和各次谐波的幅值。
4.2 谐波检测系统软件设计过程
基于LabWindows/CVI的谐波检测软件设计过程可分为以下步骤:
(1) 启动LabWindows/CVI编程环境,创建谐波检测软件工程。
(2) 在用户界面编程窗口,根据谐波检测的功能要求设计虚拟仪器用户面板。在面板上添加相应控件,控件分布设计完成后,需要对控件属性及其对应的回调函数进行设置,使得点击或使用这些控件时能够得到有效的响应。
(3) 用户界面设计并保存完成后,LabWindows/CVI自动生成程序代码的主体框架,并通过菜单栏CodeGenerateMain Function生成main函数和各个控件对应的回调函数框架程序。
(4) 在各个控件对应的回调函数内编写实现其功能的程序代码,例如本文在主面板开始检测按钮对应的回调函数内部编写apFFT和神经网络谐波检测算法的代码,以实现谐波检测功能。
(5) 完成代码编写、调试和运行程序。
4.3 检测软件实验测试
本文通过读取两组离线测量数据对谐波检测功能进行实验检测。通过第一组数据的检测结果可以看出谐波幅值较基波幅值低很多,且奇次谐波的幅值较偶次谐波幅值高。通过apFFT采样数据分析的结果中,测量信号波形和基波波形的对比可以看出谐波对基波波形的影响较小。实验结果表明该软件具有很好的谐波检测精度。
通过第二组数据的检测结果看出谐波总畸变率超出设定值(4%),谐波畸变率告警灯变为红色,同时告警对话框弹出。谐波检测的结果同时在表格和柱形图中显示。将测量信号、谐波叠加信号和基波信号的波形进行对比,谐波对电网电压的波形影响仍然很有限,保证了电网中负载的用电安全。此次谐波检测的检测结果,检测精度仍然较高。
5 结 论
本文主要对基于全相位快速傅里叶变换和神经网络的谐波、间谐波检测方法进行了研究。针对现有成熟的谐波检测算法检测精度不高的问题,提出了基于全相位快速傅里叶变换和BP神经网络的谐波检测算法;为了进一步提高谐波检测精度,减小对训练样本的依赖,扩大谐波检测算法的适用范围,提出了基于全相位快速傅里叶变换和自适应神经网络的谐波检测算法;针对电力系统间谐波检测问题,通过调整自适应神经网络结构,提出了基于全相位快速傅里叶变换和增强型自适应神经网络的谐波检测算法;利用虚拟仪器开发平台LabWindows/CVI设计了基于全相位快速傅里叶变换和自适应神经网络的谐波检测软件,最后利用两组数据验证了软件功能。
参考文献
[1] 肖雁鸿,毛筱.电力系统谐波测量方法综述[J].电网技术,2002,26(6):61?64.
[2] 聂晶晶,许晓芳,夏安邦,等.电能质量监测及管理系统[J].电力系统自动化设备,2005,25(10):75?77.
[3] 王子绩,孟鑫,张彦兵,等.基于瞬时无功功率理论的新型谐波检测算法[J].电测与仪表,2012,49(4):9?13.
[4] 刘桂英,粟时平.利用小波傅里叶变换的谐波与间谐波检测[J].高电压技术,2007,33(6):184?188.
[5] 危韧勇,李志勇.基于人工神经元网络的电力系统谐波测量方法[J].电网技术,1999,23(12):20?23.
[6] 王凯亮,曾江,王克英.一种基于BP神经网络的谐波检测方案[J].电力系统保护与控制,2013(17):44?48.
[7] 付光杰,曲玉辰,郭静.RBF神经网j在谐波检测中的应用[J].大庆石油学院学报,2005,29(6):76?79.
篇4
关键词:电阻点焊;神经网络;消音锯片
0序言
电阻点焊过程是一个高度非线性,既有多变量静态叠加又有动态耦合,同时又具有大量随机不确定因素的复杂过程。这种复杂性使得传统方法确定最佳工艺参数存在操作复杂、精度低等缺陷。
本文通过深入研究提出了一种神经网络优化消音锯片电阻点焊工艺参数方法。以试验数据为样本,通过神经网络,建立焊接工艺参数与焊接性能之间的复杂模型,充分发挥神经网络的非线性映射能力。为准确预测点焊质量提高依据。在运用试验手段、神经网络高度非线性拟合能力结合的方式,能在很大程度上克服传统方法的缺陷,完成网络的训练、检验和最优评价,为电阻点焊过程的决策和控制提供可靠依据。
1原理
人工神经网络是用物理模型模拟生物神经网络的基本功能和结构,可以在未知被控对象和业务模型情况下达到学习的目的。建立神经网络是利用神经网络高度并行的信息处理能力,较强的非线性映射能力及自适应学习能力,同时为消除复杂系统的制约因素提供了手段。人工神经网络在足够多的样本数据的基础上,可以很好地比较任意复杂的非线性函数。另外,神经网络的并行结构可用硬件实现的方法进行开发。目前应用最成熟最广泛的一种神经网络是前馈多层神经网络(BP),通常称为BP神经网络。
神经网络方法的基本思想是:神经网络模型的网络输入与神经网络输出的数学关系用以表示系统的结构参数与系统动态参数之间的复杂的物理关系,即训练。我们发现利用经过训练的模型进行权值和阈值的再修改和优化(称之为学习)时,其计算速度要大大快于基于其他优化计算的速度。
BP神经网络一般由大量的非线性处理单元——神经元连接组成的。具有大规模并行处理信息能力和极强的的容错性。每个神经元有一个单一的输出,但可以把这个输出量与下一层的多个神经元相连,每个连接通路对应一个连接权系数。根据功能可以把神经网络分为输入层,隐含层(一或多层),输出层三个部分。设每层输入为ui(q)输出为vi(q)。同时,给定了P组输入和输出样本 ,dp(p=200)。
(6)
该网络实质上是对任意非线性映射关系的一种逼近,由于采用的是全局逼近的方法,因而BP网络具有较好的泛化的能力。
我们主要是利用神经网络的非线性自适应能力,将它用于消音锯片的电阻点焊过程。训练过程是:通过点焊实验获得目标函数与各影响因素间的离散关系,用神经网络的隐式来表达输入输出的函数关系,即将实验数据作为样本输入网络进行训练,建立输入输出之间的非线性映射关系,并将知识信息储存在连接权上,从而利用网络的记忆功能形成一个函数。不断地迭代可以达到sse(误差平方和)最小。
我们这次做的消音金刚石锯片电焊机,通过实验发现可以通过采用双隐层BP神经网络就可以很好的反应输入输出参数的非线性关系。输入神经元为3,分别对应3个电阻点焊工艺参数。输出神经元为1,对应焊接质量指标参数。设第1隐含层神经元取为s1,第2隐含层神经元取为s2。输入层和隐含层以及隐层之间的激活函数都选取Log-Sigmoid型函数,输出层的激活函数选取Pureline型函数。
2点焊样本的选取
影响点焊质量的参数有很多,我们选取点焊时的控制参数,即点焊时间,电极力和焊接电流,在固定式点焊机上进行实验。选用钢种为50Mn2V,Φ600m的消音型薄型圆锯片基体为进行实验。对需要优化的参数为点焊时间,电极力和焊接电流3个参数进行的训练。最后的结果为焊接质量,通常以锯片的抗拉剪载荷为指标。
建立BP神经网络时,选择样本非常重要。样本的选取关系到所建立的网络模型能否正确反映所选点焊参数和输出之间的关系。利用插值法,将输入变量在较理想的区间均匀分布取值,如果有m个输入量,每个输入量均匀取n个值(即每个输入量有m个水平数), 则根据排列组合有nm个样本。对应于本例,有3个输入量,每个变量有5个水平数,这样训练样本的数目就为53=125个。
我们的实验,是以工人的经验为参考依据,发现点焊时间范围为2~8s,电极力范围为500~3000N,点焊电流范围为5~20kA时,焊接质量比较好。我们先取点焊电流,电极力为定量,在合理的范围内不断改变点焊时间,得到抗拉剪载荷。如此,可以得到不同点焊电流和电极力的抗拉剪载荷。根据点焊数据的情况,我们共选用200组数据。部分测试数据如表1:
神经网络建模的关键是训练,而训练时随着输入参数个数的增加样本的排列组合数也急剧增加,这就给神经网络建模带来了很大的工作量,甚至于无法达到训练目的。
3神经网络
我们用200组训练样本对进行神经网络训练,以err_goal=0.01为目标。调用Matlab神经网络工具箱中的函数编程计算,实现对网络的训练,训练完成后便得到一个网络模型。
程序
x1=[2.1 2.5 3 3.5 4……]; %点焊时间输入,取200组
x2=[1.3 1.5 1.9 2.1 2.3……];%电极力输入,取200组
x3=[9 10 11 12 13……];%点焊电流输入,取200组
y=[2756 3167 3895 3264 2877……]; %输出量,取200组
net=newff([1 10;0.5 3;5 20],[10 10 1],{‘tansig‘‘tansig‘‘purelin‘});
%初始化网络 转贴于
net.trainParam.goal = 0.01;%设定目标值
net=train(net,[x1;x2;x3],y);%训练网络
figure; %画出图像
选取不同的s1,s2,经过不断的神经网络训练,发现当s1=8,s2=6时,神经网络可以达到要求。工具箱示意图如下图1。
图 1工具箱示意图
工具箱示意图非常清晰地表示了本实验的神经网络的输入,输出以及训练的过程。
神经网络的训练结果,如图2所示:
图2神经网络的学习过程
图中可以看出双层网络训练的sse在训练100次时,已经接近0.0001,效果较理想。
为了验证经过训练的网络模型的泛化能力,在输入变量所允许的区域内又另选多个样本进行了计算。发现:利用BP神经网络模型计算的测试输出与期望输出值相符,误差小于2%。
在已经训练好的网络中找出最大值:
for i=2:10 %点焊时间选择
for j=0.5:0.1:3%电极力选择
fork=5:0.1:20%点焊电流选择
a=sim(net,[i,j,k]);%仿真
ifan %比较仿真结果与最大值,取最大值n=a;
i(1)=i;%最大值的时间
j(1)=j;%最大值的电极力
k(1)=k; %最大值的电流
end
end
end
end
将i(1),j(1),k(1)以及n输出,n为最大值。得到点焊时间为3.4s,电极力为12.7kN,点焊电流为11.8kA,此时的抗剪拉剪载荷为4381N,为训练结果的最大值。将点焊时间为3.4s,电极力为12.7kN,点焊电流为11.8kA在点焊机上进行实验,得到结果为4297N。并且通过与实际的结果相比较,发现误差也在2%以内。
4结论
1)本文采用了插值法作为选取BP神经网络训练样本的方法。并且在数据变化剧烈的地方多选取了75组数据,这样可以得到较高精度的网络模型,使点焊模型的可行性。
2)基于此方法建立了三个点焊参数的BP神经网络模型,而且所建的BP模型具有较高的精度,可以很好的描述了这三个点焊参数与点焊质量的映射关系。
3)由于神经网络模型将系统结构参数与传统动态特性参数之间的物理关系,反映为神经网络模型的网络输入与网络输出的数学关系,因此,在神经网络模型上进行结构修正与优化比在其他模型上更直接,简单与高效。
本文采用神经网络的方法优化复合消音锯片的点焊工艺参数,为分析点焊质量提供了很好的辅助手段。通过与以前工艺相比较,提高了点焊质量。
参考文献
[1] 方平,熊丽云.点焊电流有效值神经网络实时计算方法研究.[J].机械工程学报,2004(11).148-152.
篇5
关键词 压力传感器;温度漂移;温度补偿
中图分类号:TP212 文献标识码:A 文章编号:1671-7597(2014)10-0038-02
压力传感器的输出结果精度容易受到多种因素的影响,其中,唯独是影响传感器输出精度的最主要因素。目前,国内经常使用硬件补偿和软件补偿两类方法对压力传感器进行温度补偿。硬件补偿方法调试难度较高、精度低、通用性也较差,在实际工程中应用时,难以去得较好的效果;而软件补偿方法有效弥补了硬件补偿的缺点,其中BP神经网络补偿在实际工程中运用十分广泛,但是典型BP神经网络补偿法虽然精确度高,但是整个流程过于复杂、整个过程耗时较长,因此,本文提出了一种基于主成分分析的BP神经网络补偿方法,希望对提高补偿效率和准确性起到一定的作用。
1 典型BP神经网络补偿原理分析
BP神经网络是目前研究中应用范围最广的神经网络模型之一,BP神经网络术语单向传输网络结构,整个信息传输的过程呈现出高度的非线性特点。典型的BP神经网络结构包括输入层、隐含层和输出层3层结构。通常情况下BP神经网络只有这3层结构,这主要是由于单隐层的BP神经网络既可以完成从任意n维到m维的映射。其典型结构如下图所示。
BP神经网络结构模型
BP算法设计到了信息的正向传播以及误差的反向传播,信息首先从输入层传入,然后经过隐含层的处理传入输出层,最终输出的信息可以用下面的形式进行表示:
其中:、分别代表了隐含层及输出层的权值;
n0、n1分别对应了输入节点数及隐含层节点数。
输出层神经元的激励函数f1通常呈现出线性特点;而隐含层神经元的激励函数f2通常采用如下所示的形式在(0,1)的S型函数中进行输出:
由于BP神经网络隐含层采用的传递函数为对数S型曲线,其输出范围在(0,1)之间。为了避免节点在短时间之内饱和而无法继续进行训练,需要在训练开始之前利用下面公式对样本数据进行预处理:
,
其中:Ui、Pi均为训练数据的标定值;Uimin、Uimax分别表示输出电压的标定极值(最小和最大);Pimin、Pimax分别表示压力的标定极值(最小和最大)。
当目标矢量为T,信息通过正向传递,可以得到误差函数,具体如下所示:
如果输出结果无法达到要求的误差范围,则返回误差信号并按照一定的权值对公式中的各层权值进行修正,直到输出结果达到期望值。
在利用典型BP神经网络进行压力传感器温度补偿的过程中,算法过于复杂,而且非常耗时,因此,需要对其进行改进,以提高补偿效率。
2 BP神经网络法的改进
2.1 改进原理
基于典型的BP神经网络,利用以下方法进行改进。
1)利用小波神经网络的思想对神经元的激励函数进行改进,从而实现小波特性与BP神经网络自学功能的充分结合,提高激励函数的逼近能力。以Morlet函数作为小波函数的母函数,可以降低不同层面神经元之间的影响,提高网络的收敛速度。以Morlet函数作母函数的小波函数属于幅值小波,其信号中包含了复值和相关信息,改进后的函数具体如下所示:
在本次研究中,我们选取了R个输入样本和N个输出节点,则可以利用下面的公式对第l个样本的第n个节点的输入进行表示:
其中:K表示神经网络隐含层的单元数量;M表示神经网络输入层的单元数量;ωn,k表示神经网络隐含层第k单元与输出层第n单元的连接权值;ak-小波伸缩因子;bk-平移因子;Sl(xm)―输入信号。
2)在计算过程中通过,附加动量法的应用可以有效改实现梯度方向的平滑过渡,使得计算结果更具稳定性。该方法以BP法为基础对权值进行调节,具体公式如下:
其中:t表示样本的训练次数;η表示学习速率;σ表示动量因子;σΔωki(t)表示附加动量项,它能够有效降低不同神经元之间的影响,提高网络的收敛速度。
2.2 主成分BP神经网络算法的实现
步骤1:按照典型BP神经网络数据预处理方法对样本数据进行预处理。
步骤2:利用主成分分析法对预处理后的样本数据进行分析,降低输入向量之间的影响,使各个输入变量的协同方差趋于统一,从而使各权值具有相同的收敛速度,并以此确定神经网络的输入节点。
步骤3:对神经网络进行初始化,并对其中的部分关键变量进行设置。
步骤4:为神经网络选取一组学习样本,以输入节点作为网络的输入向量,并输入期望fn,l,n=1,2,…,N;l=1,2,…,R。
步骤5:利用输入的网络参数计算网络的实时输出能力,当输出误差在允许范围之内时,停止训练;而当输出误差超过允许范围 ,则将误差信息进行反向传播,使权值沿误差函数的负梯度方向发生变化,然后利用梯度下降法计算出变化后的网络参数,然后再重复进行第4步的操作。
步骤6:BP神经网络在训练合格之后,对其进行样本补偿。
步骤7:对补偿后的样本进行反标准化处理,然后与实测数据进行误差比较,判断出网络改进之后的变化。
2.3 压力传感器温度补偿
根据前文提供的BP神经网络算法实现步骤,可以利用Matlab编程语言来实现。在实现该算法之后,我们通过在压力传感器量程范围内确定n个压力标定点,同时确定m个温度标定点。标准值发生器会根据每个标定点的信息产生对应的标定输入值。然后输入样本数据,样本数据按照目标值要求的±20%范围进行选择,然后以误差目标小于10-3进行训练,当达到误差目标之后,网络的收敛速度得到有效的提升。
3 结论
通过研究结果发现,利用主成分分析法对信息进行补偿之后,再利用BP神经网络对这些信息进行训练,其学习速度相对直接利用BP神经网络进行训练更高。同时,通过改进典型的BP神经网络,利用小波函数作为激励函数,并应用动量附加发对网络敏感性进行控制,可以有效避免网络发生局部极小问题。通过基于主成分的BP神经网络温度补偿方法可以使压力传感器受环境温度变化而发生的误差问题得到高效、精确的解决。
参考文献
篇6
关键词:专家系统 神经网络 故障诊断 旋转机械
引 言
针对旋转机械故障的复杂性、多样性和诊断时对领域专家知识的依赖性,对旋转机械的故障诊断提出了采用人工神经网络(ANN)和传统专家系统(ES)融合的新途径,充分利用人工神经网络和专家系统各自特点,使其功能互为补充。解决了传统的专家系统在旋转机械故障诊断中遇到的知识获取的“瓶颈”等问题。同时也解决了单一神经网络系统在旋转机械故障诊断中遇到的不足。这种人工神经网络和专家系统集成的故障诊断方法,能提高旋转机械故障诊断的能力,更大限度地发挥人工智能技术在诊断领域的威力。
1、基于神经网络与专家系统集成的旋转机械故障诊断模型
基于神经网络与专家系统集成的旋转机械故障诊断模型如图1所示。
图1 神经网络与专家系统集成的诊断系统模型
各部分的主要功能是:
1)编译器。主要是将符号知识转换成神经网络所必须的数据知识。
2)神经网络。主要完成专家系统的推理工作。其实质是神经网络的计算,即由已知的征兆向量经过神经网络计算获得故障向量。
3)行为解释。利用网络中的各项数据(包括征兆输入数据、故障输出数据和隐含神经元输出数据)及输入神经元,输出神经元的物理含义并结合知识库中的连接权值来形成规则,其过程相当于神经网络训练的一个逆过程。
4)知识库管理。存储和管理知识库的知识,丰富知识库,以便系统不断完善。
5)人机接口。以友好的人机界面同用户交互。
6) 数据库。用于存储在线监测和诊断时所需的实时检测到的工作数据、推理过程中所需要和产生的各种诊断信息;静态数据库用于存储故障时检测到的数据或人为检测到的一些特征数据。
7) 知识获取。知识获取过程就是网络的学习过程,主要有两种途径实现,一是直接从数据化的实例中学习,二是从传统的专家系统已获取的知识中学习。
2基于神经网络和专家系统的旋转机械故障诊断方法
1) 诊断参数的选取
根据故障机理,若某一故障发生,则其特征参数将发生较大变化。因受各种因索影响,尽量不以绝对值作为异常诊断的依据,而要与初始值或正常值进行比较,用其比值作为检测参数来进行诊断。为此,诊断的监测参数定义为:
(1)
式中: ——相对于 的待检状态参数值;
——相对于 的正常状态参数值。
两者的比值与—门限值进行比较若大于门限值.故障征兆输入取为“1”即故障征兆存在,否则取为“0”,即故障征兆不存在。
2)知识库的建立
它包括知识获取和知识存储两个过程。知识获取表现为训练样本的获得与选择,训练样本来源于同类型诊断对象在正常运转时和带故障运行时的各种特征参数。知识存储是将由训练样本对神经网络进行训练获得的连续权值和阈值进行存储,从而形成知识库。
3)神经网络模块结构图
为了进一步提高系统的推理和学习能力,建立了故障诊断神经网络模型,其结构如图2所示。神经网络采用N层结构的BP网络。抽取出故障若干信息作为网络的输入;并从工程实例中选取有代表性的样本对网络进行训练;训练完毕后即可利用神经网络进行推理。当出现网络拒识样本时,通过专家进行判断推理,然后将此样本输入到训练样本集中,使网络继续学习,对权值进行调整,直至做出正确推理为止。
图2故障诊断神经网络模型
4)知识处理
在旋转机械故障诊断神经网络专家系统中,只需将观测到的故障现象通过编译器转化为数值知识,送入神经网络,然后计算网络输出,最后将网络的数值输出经反编译器转化为符号知识,即得到了故障原因,这种专家系统的知识处理是与神经网络的结构紧密相关的统一体,不需增加相应的推理机构,将数值知识转换为符号知识的反编译器是编译的逆过程,有与编译器类似的结构。
4、算例
以某一旋转机械为例,用MATLAB工具,通过神经网络与专家系统集成的方法实现故障诊断。
选用旋转机械常见的不平衡、不对中、油膜涡动等常见的10种故障作为网络的输出。取9个频段的谱峰能量归一化值,作为输入[6]。因此,该网络的输入神经元应为9个,输出神经元为10个。
训练BP网络。将上述数据作为样本训练BP网络。首先确定BP网络的结构,BP网络输入神经元数为9,输出神经元数为10,而隐含层数及每层的神经元数目经过MATLAB程序多次仿真实验,结果表明当采用双隐含层网络时,第一隐含层的神经元数为9,第二隐含层神经元数为11,网络训练10步时误差就可下降到0。故选择的双隐含层BP神经网络结构为9-9-11-10为最佳网络结构。
测试BP网络。利用训练好的神经网络进行故障诊断,故障诊断运行的部分结果见表2。诊断结果表明,对于已经学习过的样本知识,网络输出与期望结果充分相符,表明该网络能够正确地实现故障诊断;当输入数据在一定范围内偏离样本知识时,网络的输出具有接近样本的倾向,因而表明了该网络在故障诊断方面的使用可靠性。
表2故障测试结果
续表2
5、结论
在旋转机械故障诊断中,将神经网络和专家系统结合,弥补了旋转机械故障诊断专家系统存在的不足。实例证明,该方法诊断效率和精度较高,是一种有效的故障诊断途径。
参考文献
[1]徐敏.基于神经网络集成的专家系统模型[J].计算机工程与设计,2006,(4).
篇7
(黑龙江民族职业学院,黑龙江 哈尔滨 150066)
摘 要:盈余预测具有引导投资者投资行为的作用,因此受到投资者的广泛重视。然而,国内对公司未来盈利进行预测的研究还相当少。提出了以决策树作为基分类器,采用集成学习方法,利用上市某公司2001至2005年的财务数据对该上市公司在2006年的盈利状况进行预测研究。首先,采用有放回的随机抽样技术分别从训练样本和测试样本中产生50个训练子集和1个测试集;然后利用决策树,采用CHAID算法对50个训练子集分别进行训练,得到50个基决策树分类器;通过采用Bagging方法,构建决策树集成模型。所得到的集成模型在测试集上的分类准确率达到96%以上,通过比较由不同数目的基分类器构成的集成模 型和单个分类器的预测准确率,证明了该集成模型的预测准确率高且稳定。
关键词 :神经网络;集成学习;盈利预测
中图分类号:F275文献标志码:A文章编号:1000-8772(2014)31-0253-02
收稿日期:2014-10-28
作者简介:潘道华(1981-),女,汉族,黑龙江哈尔滨人,研究生,主要研究方向:人工智能、数据挖掘与决策支持。
1 引言
公司的财务状况及其未来盈利情况不但对公司的管理层十分重要,而且对其他投资者也非常重要。如果能够利用公司以往的财务报表数据和其它一些宏观经济数据(如GDP、CPI、利率等)及早准确预测公司未来的盈利状况的话,那么就可以更有效地对公司进行管理和指导投资者的投资行为。但是,一个公司的财务报表往往只反映了公司在过去的财政年度内的经营状况,并不反映出公司在下一年中的管理情况。因而,一个公司的财务状况与其未来盈利之间的关系并没有那么明显,它受到很多因素的影响,要构建一个精确的模型反映它们之间的关系是很困难的。针对此情况,本文提出采用决策树集成方法,构建模型来刻画公司财务状况与其未来盈利之间的关系,利用上市公司已有的财务数据,并结合主要的宏观经济变量来预测公司未来的盈利状况,这必将是公司财务处理的一个新发展。
数据挖掘技术越来越多地被用于预测研究。集成学习方法作为数据挖掘技术中一种较新的方法,由于其在提高预测的准确性上的优点,正被越来越多的研究者使用。
尽管许多领域都应用集成学习方法来进行研究,但在对公司未来盈利的预测研究上还很少,在国内尚未见到任何报导。虽然Takashi Washio等人对日本上市公司的未来盈利状况进行了研究,但是他们只是将盈利状况分为两种情况来进行研究。本文通过利用集成学习方法,考虑宏观经济对公司盈利可能造成的影响,提出将宏观经济变量纳入变量体系,同时,为了使结果更有指导意义,将上市公司的每股收益(EPS)指标将公司盈利的情况划分为三类,即EPS为负,EPS大于均值及EPS介于二者之间,对其进行预测研究。
2 研究方法
2.1神经网络
人工神经网络是由大量并行分布式处理单元组成的简单处理单元[1]。由于神经网络具有非线性,自学习能力、自适应性强和容错性高等优点,因而被广泛用于各种非线性预测问题。
所有神经网络都有一个输入层和输出层,一个网络结构可以包含一个或多个隐含层。神经网络的学习是通过调整连接权重和偏差实现的。Cybenko等人证明了如果神经网络利用一个有界的,连续的,非递减的激活函数时,只要不对隐含层的神经元数进行限制,一个三层网络(包含一个隐含层)就能够学习任意一个在输入和输出空间的连续映射[2]。在实际应用中用的最多的是BP神经网络。
BP神经网络是一种基于误差后向传播算法(BP算法)的多层感知器网络。BP神经网络的激活函数一般采用Log-Sigmoid或Tangent Sigmoid等可微函数。BP算法分为两个阶段。第一阶段是前向过程,逐层计算各神经元的输出值,第二阶段是误差后向传播过程,从后向前逐层传播输出层的误差并据此修正各层权重,直到输出结果满足预先设定的精度要求或达到算法设定的最大循环次数。
2.2神经网络集成
如何根据观测数据学习得到精确估计是机器学习领域中人们非常关注的一个问题,机器学习的一个重要目标就是对新的测试样本尽可能给出最精确的估计。构造一个高精度估计是一件相当困难的事情,然而产生多个只比随机猜测好的粗糙估计却很容易。传统的机器学习方法是在一个由各种可能的函数构成的空间中寻找最接近实际分类函数的分类器。常用的单个分类器模型主要有决策树、人工神经网络等。
集成学习(ensemble learning)的基本思想是在对新的实例进行分类的时候,把若干个单个分类器集成起来,通过对多个分类器的分类结果按某种方式来进行组合,决定最终的分类,以取得比单个分类器更好的结果。如果把单个分类器比作一个决策者的话,集成学习方法就相当于多个决策者共同进行一项决策。
尽管单个神经网络在处理非线性问题上表现良好,但是用单个神经网络来进行预测,一个不足的地方就是结果的稳定性差。因为神经网络的预测结果受网络各层之间的初始权重影响很大。为了克服这一不足,本文利用集成学习的思想,采用以BP神经网络作为基分类器的神经网络集成方法来对公司未来盈利状况进行预测。
以神经网络作为基分类器构建集成模型的方法主要有Bagging和Boosting。本文选择采用Bagging方法,因为Bagging方法较易于实现,而且不容易产生过拟合现象。对一个已知的有n个数据元素的数据集,Bagging法的原理是[1]:对每次循环(=1,2,…,),采用有放回的随机抽样方法从数据集中抽取m个数据形成训练集(mn),分类器模型从中学习。为了对一个未知的元素X分类,每个都返回一个分类值,将该分类值看成是一票,而最后的集成分类器,通过统计这些投票,将X归为得票最多的那一类。
3 研究步骤与具体实例分析
3.1样本选取
本文采用的上市公司数据样本来自天软数据库。在剔除了财务变量有大量缺失值后,样本共包含从2001年至2006年的深市和沪市A股的1174家上市公司。其中,沪市上市公司734家,深市440家。本文选取了反映上市公司偿债能力,成长能力,经营能力,资本结构,盈利能力,现金流,每股指标等方面的29个财务变量作为初始变量。此外,为了研究宏观经济环境对公司未来盈利的影响,相应的选择了2001年至2006年的三个宏观经济变量:国内生产总值增长率(GDP),居民消费价格指数增长率(CPI)及一年期金融机构贷款基准利率。这几个变量都与公司的盈利状况有着密切的关系。国内生产总值反映了整个国家的经济状况,而居民消费价格指数是反映居民购买并用于消费的商品和服务项目价格水平的变动趋势和变动幅度的相对数,它可以全面反映多种市场价格变动因素及其对居民实际生活的影响程度。一年期金融机构贷款基准利率会影响公司的营运成本,会对公司的利润产生直接的影响。所有变量见附表。
为了预测未来公司的盈利状况,本文将数据样本分为训练样本和测试样本。其中,训练样本由2001年至2005年的公司样本数据用有放回的随机抽样方法得到,每个训练样本包含1000个观测,测试样本是用相同方法得到的上市公司在2006年的数据样本,包含400个观测。
3.2指标选择
对于初始变量表,变量之间存在着相关性。虽然神经网络对变量间的相关性具有较强的容忍度,但是,变量太多会增加网络的复杂度,还有可能使网络过适应,从而使得网络在测试样本上的表现很差,而且并不是变量越多,神经网络的预测精度就越大,所以适当选择具有代表性的指标变量既可以达到与用所有变量相同的预测精度,又能降低网络的复杂度,避免使网络陷入过适应,提高网络的训练速度。
然而,运用神经网络方法,对输入变量的选取目前并没有一个公认的方法。为了从众多的初始变量中选择具有代表性的变量,本文利用spss Clementine11.1数据挖掘软件包选项面板中的建模栏中的特征选择节点来对变量进行筛选。通过构建一个带有特征选择节点的流,可以为每一训练集筛选出重要的变量。利用筛选出来的变量和全部变量分别对训练样本进行训练,得到两种神经网络模型,分别对测试样本进行分类,并分别构建集成模型。
3.3 建立模型
本文是对2001年至2005年上市公司的数据样本进行训练得到单个神经网络模型,用该模型对测试样本进行预测。如何产生不同的分类模型是影响集成模型准确性的一个重要因素[4]。以下四种方法——不同的初始条件,不同的网络结构,不同的训练数据,不同的训练算法常用来产生分类模型。本文采用不同的训练数据和不同的网络结构这两种方式结合得到基神经网络。
按照Bagging方法的要求,本文采用有放回随机抽样方法,从训练样本中随机抽取了15个子训练集,并用相同的方法从测试集中抽取了400个样本数据组成测试集。每个子训练集含有1000个样本,它们均由2001至2005年的200个公司样本组成。利用特征选择节点在每个训练集上选出的变量分别在这15个子样本上进行训练得到子分类器,然后用这些子分类器对测试样本进行分类。采用多数投票法对子分类器进行集成,得到集成方法在测试集上的预测结果。
3.4 结果分析
为了比较集成模型与单个神经网络预测准确率的差异,按照单个神经网络模型预测准确率按升序进行排序,分别计算了由7个、9个、11个、13个、15个基神经网络模型构成的集成模型的预测准确率,集成模型,不论是由用全部变量进行训练得到的基神经网络构建还是由用筛选出的变量进行训练得到的构建,都显示出了很高的准确率,而且得到的预测准确率相当稳定。
4 结论
本文利用神经网络集成的方法,以上市公司过去的财务数据和宏观经济数据为样本,对上市公司的未来盈利状况进行预测。研究结果表明,相比于单个神经网络模型,尽管选用7个预测精度最差的单个神经网络作为基神经网络,其集成网络的预测准确率仍然很高,因而集成方法得到的结果更稳定,更具有说服力。
由于上市公司管理水平的差异,影响公司盈利状况的因素又多,所以要想较好的刻画它们对盈利状况的影响,是一个很有挑战性的问题。本文的研究结果还表明,采用神经网络集成方法来研究未来盈利状况是可行的。进一步的研究可以从以下几个方面考虑:
(1)变量的选取。为了使预测更为准确,在建模时,需要考虑更多的影响因素。由于公司盈利状况跟公司的管理水平直接相关,因此,如何合理选取量化一些有关公司治理的指标变量,将它们加入到模型中去,是一个值得深入研究的问题。
(2)产生集成神经网络的方法。除了Bagging方法,还有其他产生集成神经网络的方法,比如Boosting方法。不同的方法会得到不同的结果,从而通过比较不同的结果,可以得到一个用来研究此类问题的最好的方法。
参考文献:
[1] Lars Kar Hansen, Peter Salamon. Neural network ensembles,IEEE transactions on pattern analysis and machine intelligence,vol.12, pp993-1001, 1990.
[2] Li-Chiu Chia,Tseng-Chung Tang. Artificial neural networks in reorganization outcome and investment of distressed firms: The Taiwanese case, Expert Systems with Applications, vol.29,pp641-652, 2005.
[3] Jiawei Han Micheline Kamber, data mining; concepts and tech-niques(second edition)[M].北京:机械工业出版社,2006.
篇8
【关键词】介损值;BP算法;人工神经网络
1.引言
当前的电容型电气设备绝缘在线监测与诊断还停留在一个简单处理数据的层次上,如果能够结合先进的数学工具进行分析,将有助于提高监测与诊断的应用水平。模糊数学、专家系统、神经网络、灰关联分析等理论在电气设备的绝缘监测与诊断方面已经有了广泛的应用,并提供较完备的知识与信息,提高了绝缘监测与诊断的准确性。
大量停电试验和专门试验的介损值结果统计分析表明,介损值会对温度的变化较为敏感,环境的湿度对介损值也会有影响。在分析了各种因素影响介损值的基础上,文献[6]提出了基于人工神经网络的电容型电气设备的绝缘状况的预测方法。人工神经网络方法能够根据大量的故障机理研究以及经验性的直觉知识归纳出典型样本,通过对神经网络内部的竞争达到问题的求解,从本质上模拟专家的直觉。在此基础上本文提出了基于人工神经网络的电容型电气设备的介损值的预测方法,以BP神经网络作为主要的研究方法。BP网络的预测结果的准确与否取决于学习样本的优劣,本文根据实际情况选取了神经网络的学习样本并进行了仿真,结果表明该预测方法的误差满足工程误差的要求,基于人工神经网络的介质损耗值的预测方法是可行的、正确的和有效的。
2.基于BP神经网络预测方法的确定
人工神经网络的模型有数十种,可分为三大类:前向网络、反馈网络和自适应网络。但在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP网络及其变化形式。BP(Back Propagation)网络是一种多层前馈型神经网络,其神经元的传递函数是S型函数,输出量为0到1之间的连续量,它可以实现从输入到输出的任意非线性映射。BP神经网络的主要优点:
(1)BP神经网络具有分布式信息存储能力;
(2)BP神经网络的容错性和大规模并行处理能力;
(3)BP神经网络具有自学习、自组织和自适应能力;
(4)BP神经网络是大量神经元的集体行为,表现出一般复杂非线性系统的特性;
(5)BP神经网络可以处理一些环境信息十分复杂、知识背景不清楚和推理规则不明确的问题。
基于以上优点,本文选用BP神经网络作为主要研究方法。
3.BP算法基本思想和网络的基本结构
BP神经网络是一个多层前馈神经网络,包括了输入层、隐层和输出层。这种网络在输入层和输出层之间至少有一个隐含层,每一个神经元结点都与其后一层的结点相连接,但是没有后层结点向前层结点的反馈连接。BP网络具有结构简单、可靠性强的优点,能够满足工业应用的需要,而且有关网络的机理和算法的研究都很丰富,是众多网络中最为成熟,应用最为广泛的一种,是复杂系统建模的优秀工具。
BP算法的基本思想:当一对学习样本提供给网络后,神经元的激活值从输入层经隐层向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按照减少目标输出与实际误差的方向,从输出层经过各隐层逐层修正各连接权值,最后回到输出层,这种算法为“误差逆传播算法”。随着这种误差逆的传播修正不断进行,网络对输入模式响应的正确率也不断升高。
三层前馈网络中,输入向量为X=(x1,x2, ……,xi,……,xn)T;隐层输出向量为Y=(y1,y2,……,yj,……,ym);输出层输出向量为O=(o1,o2,……,ok,……,ol)T;期望输出向量为d=(d1,d2,……,dk,……,dl)T。输入层到隐层之间的权值矩阵用V表示,V=(v1,v2,……,vj,vm),其中列向量Vj为隐层第j个神经元对应的权向量;隐层到输出层之间的权值矩阵用W表示,W=(W1,W2,……,Wk,……,Wl),其中列向量Wk为输出层第k个神经元对应的权向量。如图3-1所示。
对输出层,有
Ok=f(netk) k=1,2,…,l (1)
netk= k=1,2,…,l (2)
对于隐层,有
yj=f(netj) j=1,2,…,m (3)
netj= j=1,2,…,m (4)
以上两式中,转移函数f(x)均为单极性(或双极性)sigmoid函数,f(x)具有连续、可导的特点。式(3.1)到式(3.4)共同构成了三层前馈网的数学模型。
图1 三层BP网络
三层前馈网络的BP学习算法权值调整计算公式为:
(5)
(6)
其中:
(7)
对于一般多层前馈网,设共有h个隐层,按前向顺序各隐层节点数分别记为m1,m2,…,mh,各隐层输出分别记为y1,y2,…,yh,各层权值矩阵分别记为W1,W2,…,Wh,Wh+1,则各层权值调整计算公式为:
输出层:
j=0,1,…,mh;k=1,2,… (8)
第h隐层:
i=0,1,…,mh-1;j=1,2,…,mh (9)
按以上规律逐层类推.则第一隐层权值调整计算公式:
p=0,1,…,n;j=1,2,…,m1 (10)
容易看出,BP学习算法中,各层权值调整公式形式上都是一样的,均由3个因素决定,即:学习率η、本层输出的误差信号δ以及本层输入信号Y(或X)。
4.基于MATLAB的BP神经网络的实现
4.1 网络的输入层和输出层设计
大量停电试验和专门试验的介损结果统计分析表明,电容型设备的介质损耗值的大小与环境等外界因素之间有着密切的关系。基于此,本文提出了基于环境等外界因素影响分析电容型设备绝缘状况的BP神经网络模型,其示意图如图2所示。
图2 神经网络模型示意图
为了更好的体现输入和输出变量的相应关系,输入层神经元应尽可能多采集与输出量相关性大的信息。本文以某一时刻设备的电压、电流、电容、环境温度、湿度和介质损耗值所为网络的输入参数,所以网络输入层的神经元有6个。输出层只有一个即预测时刻的介质损耗值,则输出层只有一个神经元。
为了统一量纲和防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区。BP神经网络的训练样本在输入网络之前要进行必要的归一化,也就是通过变换处理将网络的输入、输出数据限制在[0,1]或[-l,1]区间内。归一化方法有很多种形式,本文采用如下公式来进行样本数据的归一化:
令P为网络的输入向量,t为网络的目标向量,p_test、t_test为网络的测试样本向量,利用MATLAB归一化的代码为:
归一化后的输入向量P
for i=1:6
P(i,:)=(p(i,:)-min(p(i,:)))/(max (p(i,:))-min(p(i,:)));
end
归一化后的输入向量A
for i=1
T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));
end
测试样本向量p_test和t-test的归一化同输入向量p和目标向量t的归一化,归一化后的向量为P_test和T_test。
4.2 隐层神经元数的选择
在设计多层前馈网时,一般先考虑设一个隐层.当一个隐层的隐节点数很多仍不能改善网络性能时,才考虑再增加一个隐层。由于本系统是一个比较小型的网络,且各结点采用S型函数进行处理,故采用单隐层。
隐层的神经元数目选择是一个非常复杂的问题,往往需要根据设计者的经验和多次试验来确定。隐单元的数目与问题的要求、输入/输出单元的数目都有直接的联系。隐单元数目太多和会导致学习的时间过长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本。选择最佳隐单元数的参考公式:
(1)
其中,k为样本数,n1为隐单元数,n为输入单元数。
(2)
其中,m为输出神经元数,n为输入神经元数,a为[1,10]之间的常数。
(3)
其中,n为输入单元数。
由于单隐层BP网络的非线性映射能力比较强,本文采用了单隐层的神经网络,而中间层神经元个数需通过实验来确定,输入层神经元个数有6个,中间层神经元的个数选择3个值,分别为13、15和20,并分别检查网络性能。通过实际的迭代训练,设置多种不同的隐节点情况,用同一样本集进行训练,比较迭代训练实验的结果,从中确定网络误差最小时对应的神经元个数。
MATLAB代码为:
隐层单元个数向量
a=[13 15 20];
for i=1:3
net=newff(threshold,[a(i),1],{‘tansig’, ‘logsig’},‘traindx’);
net.trainparam.epochs=1000;
net.trainparam.goal=0.01;
init函数用于将网络初始化
net=init(net);
net=train(net,P,T);
Y(i,:)=sim(net,P_test);
end
figure;
绘制误差曲线
中间神经元个数为13
polt(1:6,Y(1,:)-T_test);
hold on;
中间神经元个数为15
polt(1:6,Y(2,:)-T_test);
hold on;
中间神经元个数为20
polt(1:6,Y(3,:)-T_test);
hold off;
通过3种情况下的误差比较发现,中间层神经元个数为13、20时网络的误差比较大,当隐层节点数为15时,网络误差较小,收敛速度较快能得到最理想的输出,网络的预测性能最好。
通过上述分析,可以确定本文设计的神经网络结构为6-15-1,网络中间层的神经元传递函数,采用S型正切函数tansig,输出层神经元传递函数采用S型对数函数logsig。这是因为函数的输出位于区间[0,1]中,正好满足网络输出的要求。
图3 预测误差对比曲线
本文所要解决的问题是根据环境等外界因素对设备的绝缘状况进行预测,对网络的训练速度和稳定性有较高的要求,因此选择traingdx函数作为训练函数,该函数结合了动量梯度下降算法和自适应学习速率梯度下降算法。
该算法的基本过程为:首先计算出网络的输出误差,然后在每次训练结束之后,利用此时的学习率计算出网络的权值和阈值,并且计算出网络此时的输出误差。如果此时的输出误差与前一时刻的输出误差的比值大于预先定义的参数max_perf_inc,那么就减小学习率(通过乘以系数lr_dec来实现),反之,就增加学习率(通过乘以系数lr_inc来实现)。再重新计算网络的权值和阈值以及输出误差,直到前后输出误差的比值小于参数max_perf_inc为止。
4.3 网络学习速率和动量系数的选择
学习速率大小的选择,直接影响训练时间,当学习速率的选择不当,特别在严重时,将导致网络完全不能训练,这是因为1986年Rumelhart等人在证明BP训练算法收敛中,假设了无限小的权重调节速率。实际上这是不可能的,因为这表示需要无限的训练时间,所以,实际上必须选一个有限的学习速率大小,即η的值取0.01到1。一般来说要根据实验或经验来确定,还没有一个理论指导。若η选得太小,收敛可能很慢:若η选得太大,可能出现麻痹现象。为了避免这种现象,通常会选择减少η,但又会增加网络的训练时间。动量项可以加快BP算法的学习速度,但选项的时候应当注意避免学习时产生振荡。
因此,本文在确定网络的学习速率和动量系数的时候,采用不同的值的组合,利用55组训练数据进行了若干次网络的迭代训练。本文根据比较结果确定学习速率为0.1,动量系数为0.7作为网络训练时的参数。
5.基于BP神经网络介损值的预测应用
本文所建立的BP网络是基于MATLAB中的GUI建立。图形用户界面GUI (Graphical User Interfaces)是神经网络的工具箱提供的人机交互界面,它引导工程人员一步步的建立和训练网络,避免了代码的编写过程。借助图形用户界面GUI,可比直接利用工具箱函数更快捷和方便的完成神经网络的设计与分析。
利用BP神经网络理论和经过以上训练得到的网络参数,利用Matlab软件提供的GUI构造出了基于环境等外界因素影响分析设备绝缘状况的BP神经网络模型。表1列出了本文研究中建立的BP网络的各个参数和函数。
网络所用的训练数据和测试数据均出自于某110KV变电站主变套管的在线监测的数据],本文采用其中的55组典型数据,其中50组数据用于网络训练(训练次数为1000次,训练目标为0.01),5组数据用于仿真预测,利用仿真函数获得网络的输出,网络的预测结果及误差见表2,可见预测值与实际监测值之间的误差非常小,能满足实际要求。
表1 基于BP神经网络的电容型设备绝缘诊断模型参数
名称 参数
输入层节点数 6
隐含层节点数 15
输出层节点数 1
训练函数 traingdx
学习函数 learngdm
学习速率 0.1
动量系数 0.7
表2 外界环境相同时介损值的实际值与预测值的对比
序号 电压 电流 电容 温度 湿度 实 际
介损值 预 测
介损值 误差
1 119 7.047 326.479 18 50 0.003906 0.004025 0.000119
2 119 7.057 327.545 17 52 0.000440 0.004386 0.000014
3 118 7.022 328.078 17 55 0.003946 0.004108 0.000162
4 119 7.059 327.035 16 55 0.004471 0.004512 0.000041
5 119 7.069 327.406 17 59 0.003249 0.003178 0.000071
6.结束语
本章通过对BP网络模型和学习算法的研究,深入分析了BP网络在函数预测方面的优点,确定了用BP网络来实现对容性设备介质损耗值的预测,得到的结论如下:
(1)通过对BP网络结构的研究,将三层前向神经网络结构进行了改进,适应了本文对介质损耗值的预测要求。
(2)BP网络的预测结果的准确与否取决于学习样本的优劣,本文根据实际情况选取了神经网络的学习样本并进行了仿真,结果表明该预测方法的误差满足工程误差的要求,及基于人工神经网络的介质损耗值的预测方法是可行的、正确的和有效的。
(3)数据预测具有一定的精度,但是还存在误差,需选择相关大的、较合理的输入向量,还可以对网络的结构和算法选择方面进行改进,选择更合适的训练函数使其收敛速度更快,误差更小。
参考文献
[1]张寒,文习山,丁辉.用人工神经网络预测基于泄漏电流、气象因素的绝缘子等值附盐密度预测[J].高压电器,2003,39(6):31-35.
[2]韩力群.人工神经网络理论、设计及应用[M].北京:化学工业出版社,2002.
[3]闫志忠.BP神经网络模型的改进及其应用研究[D].长春:吉林大学,2003.
[4]闻新.MATLAB神经网络仿真与应用[M].北京:科学出版社,2000.
[5]许东,吴峥.基于MATLAB6.X的系统分析与设计-神经网络(第二版)[M].西安:西安电子科技大学出版社,2002.
[6]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].合肥:中国科技大学出版社,1998
篇9
【关键词】双目视觉;神经网络;摄像机标定
1.引言
双目测距技术在非接触式测量,机器人视觉等领域都有广泛引用。本文研究的是被动式远距离目标的距离测量系统中系统的标定技术研究,双目测距系统标定方法研究对计算机视觉技术发展有重要意义。摄像机标定的目的在于确定摄像机的位置,以确定物体在空间坐标系与成像平面之间相应的位置关系。
这些位置关系以及摄像机光学和几何参数在一些场所并不需要一一解出,而只需要构建二维成像平面上像点坐标与三维空间坐标投影点之间的一种映射关系。而神经网络有非常强的非线性映射能功能,因此我们可以通过采用神经网络对摄像机进行标定。
2.基于神经网络的摄像机的标定方法
2.1 神经网络、双目视觉神经网络摄像机标定
人工神经网络也称神经网络,是一门新兴技术,用以处理一些难以用标准数学模型描述的系统,模拟人类大脑的一些机理,实现某些特定功能。它具有很强的自学习及自适应能力,而其中可自由设定隐层节点的多层前馈神经网络,可以完成任意精度近似任意连续函数[1,2]。
由于网络由相连的非线性单元组成,因此就具有了学习非线性过程的能力。与摄像机标定工作机制相似,神经网络可以从一些已知数据通过计算得到未知参数。而神经网络标定的畸变模型有任意性,可以避免传统标定方法非线性标定可能无解、标定精度低等多种问题。本文通过运用神经网络学维平面图像像点与三维空间物点坐标之间的关系,提出了改进神经网络双目摄像机的标定方法。
本文双目视觉神经网络摄像机标定具有的优点是不用假设初始值,也不用建立精确的标定模型,只要输入三维空间中物体在两个图像上的像点坐标,神经网络便可输出物体在的三维空间的世界坐标。进行多次的神经网络学习、训练,最后可得到相对理想的输入、输出非线性映射关系。
2.2 改进的RBF神经网络
径向基函数(Radial Basis Function, RBF)神经网络是一种三层前向神经网络,它结构简单,训练简洁,学习收敛速度快,能够以任意精度逼近任意连续函数,广泛应用于众多领域[3,4]。RBF网络模拟了人脑中局部调整、相互覆盖接收域的神经网络结构,是一种局部逼近网络。并且RBF神经网络在逼近能力、分类能力及学习速度等多方面都优于BP神经网络,
遗传算法是模拟生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟生物在自然进化过程中形成的一种自适应全局优化搜索最优解的方法[5]。
本文提出了一种基于改进的RBF神经网络的摄像机标定方法,引入了遗传算法,优化了径向基函数网络的学习算法。
2.2.1 RBF网络的结构
RBF网络是一种三层前向网络,三层分别是输入层,隐藏层和输出层。输入层由信号源节点组成;输出层是对输入作出响应;隐藏层中节点数由需要而定,其中的径向基函数是局部响应函数。
从输入空间到隐含层空间的变换是非线性的,而从隐含层空间到输出层空间是线性的。RBF网络是局部逼近网络,三层组成(m个输入、h个隐节点、n个输出),常用的径向基函数是高斯函数,因此径向基神经网络的激活函数可表示为:
(1)
式中:是欧式范数;X是输入样本,;是高斯函数的中心,也是网络隐含层节点的中心;为高斯函数的方差;i是隐含层节点数。
RBF网络的结构输出为:
(2)
式中:wij是隐含层到输出层的连接权值;yj是第j个输出节点的实际输出。
假设d是样本的期望输出值,则基函数的方差为:
(3)
式中:P是样本总数。
RBF网络学习方法求解需要的参数:基函数的中心、方差以及隐含层到输出层的权值。RBF网络的输出是隐单元输出的线性加权和。本文采用的是自组织选取中心法。
2.2.2 优化的RBF神经网络
本文加入遗传算法用以优化已有的神经网络,用全局搜索找到最优网络结构,确定较理想非线性映射关系,进而达到双目视觉的标定。采用实数编码、最佳保留(elitist model)选择机制,交叉概率采用自适应方式,再对数据做归一化处理。
2.3 整体算法步骤
用遗传算法对神经网路的参数进行优化,得到权值与偏差值范围。再用RBF网络在局部搜索得出最优网络结构标定系统。
1)将多组对应的双目视觉系统图像像点坐标作为输入的训练样本,组成群体;
2)采用梯度下降法学习样本网络个体基函数的中心、方差;
3)采用最小二乘法学习隐含层到输出层的线性权值;
4)采用遗传算法优化隐含层中节点数;
5)通过循环交替学习、训练,得到相对理想的RBF网络标定系统。
3.实验说明
分别采用线性标定、标准BP网络、和改进的RBF网络做双目视觉标定,后两种做非线性函数逼近,对测试结果进行比较。得出结果:较其他两种,改进的RBF网络测试误差最小。
表1 测试结果比较
隐节点数 训练误差 测试误差
线性标定 * * 0.2945
标准BP 26 0.0935 0.0356
改进RBF 13 0.0576 0.0123
4.结论
在不考虑镜像畸变及环境等因素的形象下,将基于改进的RBF神经网络应用于双目视觉摄像机标定方法中,提高了测量精度,减少了因传统标定方法建立的模型不完善而带来的误差,为双目视觉测量应用于精密测量提供了一种新的有效方法。标定后的测量系统在双目视觉空间具有很高的测量精度。
参考文献
[1]阎平凡,张长水.人工神经网络与模拟进化计算[M].清华大学出版社,2000:410-420.
[2]钱光耀,杨入超,赵光兴.基于人工神经网络的压力传感器三维数据融合[J].传感器与微系统,2007,26(2):79-81.
[3]Liu Hongmei,Ouyang Pingechao,Wang Shaoping.Fault detection based on RBF neural network in a hydraulic position servo system[A].The 6th World Congress on Control and Automation[C].Dalian, China,2006:5708-5712.
[4]杨耀华,李昕,江芳泽.基于OLS算法的RBF神经网络高速公路事件探测[J].系统仿真学报,2003,15(5):709-712.
篇10
关键词:灰色神经网络;商品销售;算法;销售预测
中图分类号:F71文献标识码:A文章编号:1009-3044(2009)27-7743-02
市场销售是根据根据市场过去和现在的信息,运用一定的数学方法,对产品的需求进行评估推测,市场预测可以减少企业风险,为企业决策提供依据。做为市场预测组成部分的需求预测,是直接影响企业生产企业,投资取向,库存保有量的重要依据,精确的需求预测可以减少库存,降低订单流失率,更有效的配置资源。对于商品销售预测来说,有很多种方法,本文采用灰色神经网络来预测商品销量。
1 灰色系统和神经网络概述
1.1 灰色系统
灰色系统理论是一种研究少数据、贫信息、不确定性问题的新方法,它以“部分信息已知,部分信息未知”的“小样本”,“贫信息”不确定系统为研究对象,通过对“部分”已知信息的生成、开发、提取有价值的信息,实现对系统运行行为、演化规律的正确描述和有效监控。它是我国学者邓聚龙教授在1982年首先提出的,经过20年的发展,灰色系统已基本建立起一门新兴学科的结构体系,其主要内容包括以灰色朦胧集为基础的理论体系,以灰色关联空间为依托的分析体系,以灰色序列生成为基础的方法体系,以灰色模型为核心的模型体系和以系统分析、评估、建模、预测、决策、控制、优化为主体的技术体系。
灰色系统中建立的模型称为灰色模型(GreyModel)简称GM模型,是以原始数据序列为基础做某种生成后建立的微分方程。建模中最有代表性的是针对时间序列的GM建模,它直接将时间序列数据转化为微分方程,利用系统信息,使抽象的模型量化,量化的概念模型化,最后进行模型优化,从而使所建的GM模型在寻求不到系统的概率特性或隶属特性的情况下显示其优越性。
1.2 神经网络
人工神经网络理论(ArtificialNeuralNetworks)是智能算法理论的一种,由于其具有大规模并行处理、分布式信息存储,容错性,自组织性和自适应性等特点,目前已经得到了国内外学者的广泛关注。目前,人工神经网络已成功应用在函数拟合、数据预测、模式识别、优化控制等很多工程领域,并在一些传统方法难以解决的问题上取得了满意的结果。
人工神经是由一些称为神经元的基本部件按一定规则组合形成的,它由神经元,神经元间连接方式和训练规则三个因素组成。其中最主要的部分是神经元,它由由输入,非线性变换和输出三部分构成,是一个基本计算单元,计算过程为,输入经过权值连接到内部后求和,和值首先与一个阀值做比较,然后经过非线性变化,得到输出。神经元的非线性变换有多种形式,比较常用的有Sigmoid函数,限幅函数等。神经元间不同的连接方式构成了不同类型的神经网络,比如信号由一层单向传播到另一层的前馈型神经网络,信号在层与层之间传播的反馈型神经网络等。目前,比较典型的神经网络包括BP网络,RBF网络、小波网络等。
2 基于灰色神经网络的销量建模
2.1 网络建模
对于销量预测的问题来说,灰色模型GNNM(1,N)的微分表达式为:
其中, y1是商品的销售量,y2-yn是影响销售量的因子。
求解微分方程(1)可得如下的离散响应方程:
令 ,则式2变为:
y1的阀值设为: 。
BP网络LB层神经元的激活函数取为Sigmoid函数:
将式(3)变型后映射到BP网络中,得到如下的映射销量问题的灰色神经网络模型,如图1所示。
2.2 学习算法
该模型中各个参数根据网络输出和实际输出的误差进行调整,从而是网络输出不断逼近实际输出,学习算法如下:
Step 1.根据系统数据列特征,选取两个较小的值做为 a,b1,b2,…,bn-1
Step 2.根据网络权值定义计算ω11,ω21,ω22, …,ω2n,ω31,ω32,…,ω3n
Step 3.对每一个输入序列(t,y(t)),(t=1,2,3,…,N)进行如下操作:
t输入LA层节点,对LB、LC、LD层的节点进行如下计算:
计算每层输出
计算网络输出与期望输出的误差
调整隔层权值:
调整LB到LC的连接权值:
调整LA到LB的连接权值:
调整阀值:
Step 4重复步骤3,直至满足结束条件为止。
2.3 总体设计
采用灰色神经网络进行销量预测,总的步骤分为灰色神经网络构建,灰色神经网络训练和灰色神经网络预测三步,其中灰色神经网络构建是根据输入输出变量构建灰色神经网络,灰色神经网络训练是对网络进行训练,灰色神经网络预测是对训练好的网络对数据进行预测,其灰色神经网络预测系统总体框图如图2所示。
3 基于灰色神经网络的销量预测
采用灰色神经来对某型冰箱的销售的做预测,分析得出影响该型冰箱的市场需求的因素为以下几个指标,1)竞争对手;2)市场特征;3)成本;4)广告力度;5)品牌认可;6)售后服务;7)价格性价比。输出数据为销售量,用模糊神经网络进行训练预测,设置输入节点数为8,输出节点数为1,即为预测销售量,网络共迭代100次,得到的预测值和实际值的结果如图3所示。
从图3中可以看到,灰色神经网络预测的销量值和实际值非常接近,说明了灰色神经网络预测的有效性。