bp神经网络篇1
[关键词]MATLABBP神经网络预测模型数据归一化
一、引言
自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。20世纪70年代初,每盎司黄金价格仅为30多美元。80年代初,黄金暴涨到每盎司近700美元。本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。最近两年,黄金价格一度冲高到每盎司900多美元。黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。
二、影响因素
刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。
三、模型构建
1.模型选择:BP网络具有理论上能逼近任意非线性函数的能力,将输入模式映射到输出模式,只需用已知的模式训练网络,通过学习,网络就有了这种映射能力。2.样本数据归一化:在训练前,对数据进行归一化处理,把输入向量和输出向量的取值范围都归一到[0,1]。
3.BP网络设计:采用单隐层的BP网络进行预测,由于输入样本为5维的输入向量,因此输入层一共有5个神经元,中间层取20个神经元,输出层一个神经元(即黄金价格),网络为5*20*1的结构。中间层的传递函数为S型正切函数,输出层为S型对数函数。中间层的神经元个数很难确定,测试时分别对12,15,20个数进行测试,寻找误差最小的。
4.网络训练:训练次数epochs5000,训练目标goal0.001
对30个样本数据进行训练,经过1818次的训练,目标误差达到要求,如***2所示:神经元个数为20个时误差最小,此时网络的仿真结果如***3所示,预测精度80%以上,效果满意。
四、结论
在对1976年~2006年的影响国际黄金价格的五种因素的数据进行归一化处理后,用MATLAB建立的BP神经网络预测模型进行预测,达到了很好的效果。
国际黄金的长期价格受到许多因素的影响,本文只是对道琼斯工业指数等影响因素诸如分析,来预测长期的国际金价。还有其他因素,如国际油价,局部***治因素等,如果考虑进去,预测精度会进一步提高。
参考文献:
bp神经网络篇2
【关键词】 基本算法 模糊神经网络 数据挖据
一、故障管理模块
随着计算机网络的迅速发展,网络规模越来越大,网络节点分布的范围越来越广泛,网络的特点趋向于异构性与复杂性,网络管理的难度也不断增加。为了提高大规模网络故障管理的灵活性、智能性和高效性,克服传统的集中式网络故障管理的缺点,本文提出了基于大规模网络的故障管理与健康预测,对网络实施更加高效、实时和准确的管理,在大规模网络的管理方面有针对性的优势。故障因素主要有:CPU、物理内存、流量、负载、环境因子、设备温度。
(1)数据处理模块,主要完成采集到的数据的融合,提取和转换。数据处理模块主要是采用数据挖掘技术的分类算法来完成,这里不做详细说明。
(2)状态监测模块,完成征兆信息的识别和状态的评估任务。
(3)诊断预测模块,包括故障诊断和故障趋势预测功能。该模块选用了模糊集理论下的模糊综合评判模型并利用分布式的神经网络算法来对网络的安全状况做出预测与健康管理。
该模型的工作流程为:首先数据采集和传输,只有及时准确地采集监测数据,才能为故障的预测与健康管理提供可靠的依据,本文采用北斗卫星来实时的采集和传输数据。通过数据处理模块的融合、特征提取和数据转换传输到各个区域的控制中心进行诊断预测。诊断预测模块使用基于模糊神经网络的算法对故障进行诊断与管理。
二、模糊神经网络系统构造
通过对输入特征向量分析,大规模网络的安全状况评价的模糊神经网络有前件网络和后件网络组成,共分为5层,分别为输入层、模糊化层、模糊推理层、去模糊化层以及输出层。每一层的具体工作见***1:
前件网络由前四层构成,用来匹配模糊规则,后件网络作为最后一层,用来产生模糊规则的输出。
(1)输入层。第一层为网络的模式输入层,每个节点与输入向量的各分量直接连接,该层将输入向量x=(x1,x2,…,xn)T传送到第二层,第一层节点数N1=n。第一层需对输入量进行归一化处理,得到输入特征向量。
(2)模糊化层。第二层为网络的隐含层,该层中每一个输入分量对应一组节点,这些节点的个数等于xi进行模糊分级的个数,其中每个节点都代表一个对应的模糊变量。其功能就是计算每个输入分量属于变量值模糊集的隶属度函数,网络综合评价隶属度采用高斯函数表示:
式中:n为输入向量的维数;mi为xi的模糊分割数,i=1,2,…,n;cij和σij分别表示隶属度函数的中心以及宽度,j=1,2,…,m。
(3)模糊推理层。第三层为模糊规则计算层,该层每个节点代表一条模糊规则,用来匹配模糊规则的前件,从而计算出每条规则的相关适用度。
(4)去模糊化层。该层对每条规则的适应度进行归一化计算。
(5)输出层。第五层是后件网络,也叫反模糊化层,用于计算每条规则的后件,在第5层中前件网络的输出作为后件网络的连接权值,此时模糊神经网络的输出值为:
三、仿真实验及分析
首先需要根据cacti采集到的原始的实时监测的物理内存使用情况的数据如下,其他故障因素的数据检测与之类似,不在一一列举,数据监测如***2所示。
本文以项目组安全监控系统在一段时间内所检测的数据为实验基础数据,如表1所示,表1中为时间段内的部分数据,其中故障编号见下节。
本文模糊神经网络训练用单项指标和系统给出的状态作为训练样本训练模糊神经网络,通过matlab对其进行建模仿真,获得模糊神经网络训练的误差下降曲线如***3所示。
通过误差下降曲线可以看出,前段时间下降趋势比较明显,说明神经网络的调节比较快,后面的时间段相对平缓,说明其实调节细微,整个模型趋于稳定,此时说明神经网络训练过程中针对权值等调整基本上趋于合理。 通过训练好的神经网络来进行故障诊断,基于模糊神经网络模型的大规模网络安全评价的误差很小,对于评价网络的安全状况影响很小。
bp神经网络篇3
【关键词】傅里叶变换;BP神经网络;自适应滤波
引言
BP神经网络具有很强的非线性函数逼近、自适应学习和并行信息处理能力,为解决未知不确定非线性信息处理和自适应滤波提供了一条新途径[1]。但随着BP神经网络输入向量维数增加,其隐含层层数和学习次数也会相应增加,降低了网络的自适应性且延长了学习时间。傅里叶变换是数字信号处理领域一种很重要的算法,其思想是将原始信号从时域变换到频域,通过对频谱***的分析,去除高频处的频率分量,再将频域变换回时域,达到信号去噪滤波的功能[2]。利用傅里叶变换与神经网络相结合的方法,对信息进行预处理,减少信息处理量,再利用神经网络强大的非线性函数逼近能力,从而实现信号的自适应滤波,减少网络的待处理信息,增强网络的自适应能力,其工作过程如***1所示。
***1
1.BP神经网络模型
1.1 神经元结构模型
人工神经网络是人脑的某种抽象、简化或模拟,它由大量的神经元广泛互联而成。网络的信息处理由神经元之间的相互作用来实现,网络的学习和识别取决于神经元间连接权系数的动态演化过程[3],其模型可以用***2来表示。
输入向量与输出y之间的关系式;
其中权值向量,输入向量,阈值,活化函数。
***2
1.2 BP神经网络
BP神经网络(Back-Propagation Neural Network)是一种无反馈的前向网络,网络中的神经元分层排列,除了有输入层、输出层之外,还至少有一层隐含层,BP学习算法是调整权值使网络总误差最小。具有隐含层BP网络的结构如***3所示,***中设有M个输入节点,L个输出节点,隐含层含有n个神经元。其中为网络输入向量,为实际输出向量,为网络的目标输出,为网络的输出误差。BP网络学习流程:(1)网络初始化,确定输入向量与输出向量的维数、目标向量、学习次数以及允许的误差值。(2)输入学习规则,初始化权值W。(3)计算输出层的输出与目标向量的误差。(4)判断误差精度是否达到预定值,没有则调整权值W并改变学习规则。(5)误差精度达到预定值,学习结束。
***3
2.BP神经网络权值变换理论基础
BP网络的自适应过程,其实就是对输出层权系数和隐含层权系数的调整的过程。记为第i层网络节点输出,为第j层网络节点的输入,则:
(1)
(2)
(3)
(4)
记二次型误差函数:
(5)
3.数值仿真与分析
在MATLAB神经网络工具箱中提供了实现BP神经网络的创建,仿真环境以单输入单输出的非线性函数,分别作为输入函数和目标函数。本文同时采取傅里叶变换、BP神经网络以及基于傅里叶变换的BP神经网络分别进行仿真滤波[5][6],表1给出了三种算法在MATLAB软件中的仿真主要步骤。
表1
三种算法在MATLAB中仿真处理方法
傅里叶变换 采样点N=256,t=0:1/256:255/256,X=fft(x),前24个点不变,高频部分置0,x=ifft(X)
BP神经网络 N=256,t=0:1/256:255/256,T1=y(t),P1=x(t), net=newff(P1,T1,900),学习次数2000,误差精度0.01,[net,tr]=train(net,P1,T1)a1=sim(net,P1);
基于傅里叶变换的BP神经网络 X=fft(x),Y=fft(x),前24个点不变,高频置0,T2=Y(1,1:24),P2=X(1,1:24)net=newff(P2,T2,200),学习次数1000误差精度0.01,[net,tr]=train(net,P2,T2)
a2=sim(net,P2);x=ifft(a2);
***4为y(t)与x(t)函数的波形***,***5是经傅里叶变换处理后的x(t)波形,***6是BP网络自适应滤波后的x(t)波形,***7是基于傅里叶变换的BP网络作用后的x(t)自适应滤波后的波形。通过比较***5、6、7可以明显看出傅里叶变换的滤波效果出现高频振荡,BP网络自适应滤波在形状上几乎与元波形一致,但是在某些点位置出现疵点,而基于傅里叶变换的BP神经网络自适应滤波后波形几乎和目标函数y(t)波形完全一致。
***4
***5
***6
***7
4.结束语
本文通过三种算法在MATLAB中的仿真分析,可以得出在输入向量维数比较大时,可以采用基于傅里叶变换的BP神经网络的方法对含噪信息进行处理,不仅可以降低隐含层的层数,增加自适应能力和减少学习时间,而且在波形拟合上可以达到更好的效果。
参考文献
[1]华,李雷,赵力.基于BP神经网络的自适应补偿控制方法[J].计算仿真,2012,29(7):202-205.
[2]张德丰.MATLAB小波分析[M].北京:机械工业出版社,2009:39-48.
[3]杨芳,马建伟.基于神经网络自适应滤波的低频Prony分析[J].中国水能及电气化,2012,86(4):32-37.
[4]李国勇,杨丽娟.神经模糊预测控制及其MATLAB实现[M].北京:电子工业出版社,2013:17-22.
bp神经网络篇4
关键词:BP神经网络;人脸识别;奇异值
中***分类号:TP391 文献标识码:A文章编号:1007-9599 (2011) 13-0000-01
Face Recognition Based on the BP Neural Network
Liu Weiwei
(Chinese People's Public Security University,Beijing100872,China)
Abstract:In order to achieve the purpose of face recognition by classifying the feature vector of face image,a new methods for face recognition on neural networks is presented in this paper.Singular values features of face image matrix are used as features,Back-Propagation(BP)networks are used as recognition.Through the experiments,it show that the method of face recognition is reliable and have a ability of high maneuverability.
Kewwords:BP neural network;Face recognition;Singular values
一、引言
人脸识别的发展应用广泛,利用人脸***像进行识别身份容易被接受,具有非打扰性、直接性、唯一性。人脸识别主要是对人脸特征向量分类识别。神经网络可以用做人脸特征的分类器。它是一种模拟人类大脑的思维方式和组织形式而建立的数学模型。具有强大的自适应、自学习、高度容错能力,因此成功运用在模式识别和预测等领域。BP网络是神经网络中最完美的,采用BP神经网络可以进行人脸特征向量识别分类。
二、BP神经网络
BP网络是一种单向传播的多层前馈神经网络,它包括一个输入层、若干隐含层和一个输出层,上下层之间实现全连接,而每层神经元之间没有连接。利用BP神经网络可以实现输入向量 到输出向量 的非线性映射。该网络的前层和后层都有连接权值 ,每一层有阈值 ,这些值在初始时刻是随机生成的。在具体的应用中,将特征值向量作为输入向量,特征值所对应的结果作为输出向量,BP网络载入这些数据训练和学习,从而对连接权值和阈值不断进行修正,使网络达到的最优状态,完成网络的学习和训练过程,为后续的数据分类做准备。因此可以将BP神经网络作为人脸特征向量的分类器,以达到人脸识别的目的。
三、基于BP神经网络的人脸识别
人脸识别是基于人脸的唯一性进行识别,这里采用奇异值分解的方法提取人脸特征向量。本实验的数据取自ORL人脸数据库,该库由40人、每人10幅、共400幅人脸***像组成。这些照片包含测试者的不同面部表情。本实验选择两个测试者进行识别,每个测试者的十幅***像作为一个类,每个类的前九幅***像的特征向量作为网络的学习训练样本,第十幅***像的特征向量作为测试数据。
(一)样本数据的获取
采用奇异值分解的方法提取人脸***像的特征向量,这些特征向量作为BP网络的学习和训练样本数据,对样本数据进行归一化后得到。例如 =(0.55650.53230.36750.40620.35990.38540.37030.3062)表示第一个测试者的第一副***像的特征向量,在BP网络中对应的输出向量为(1,0)。
(二)BP神经网络的建立
第一,确定隐含层的层数。对于一般的模式识别问题,三层网络可以有效的解决此问题。本试验采用三层网络,输入层的神经元个数为特征向量的维数n=8,隐含层的神经元个数为p=2n+1=17,输出层的神经元个数为输出向量的维数为m=2。隐含层神经元传递函数选用tansig,输出层神经元传递函数选用logsig。输出向量为(1,0)和(0,1)表示为第一个和第二个测试者。
第二,载入样本数据学习和训练。样本数据包括输入向量和输出向量,通过学习和训练不断的修正网络中的权值和阈值。训练曲线的收敛情况如***2.
在matlab环境下运行,采用测试样本进行测试,实验结果输出为(0.98490.0027);(0.00270.9547),试验结果接近(1,0)和(0,1),分别为一号和二号测试者,实验达到预期结果。
***1.训练曲线
四、结语
运用BP人工神经网络建立了人脸识别模型,解决了对人脸特征向量进行分类识别的问题,从而达到对人脸识别这一最终目的。识别结果表明,在小样本空间下,运用BP神经网络的人脸识别运算速度快、操作简单、识别率高,BP神经网络可以用于人脸识别系统中的识别部分,并且可以扩展到其他模式识别问题。
参考文献:
[1]郝文化.MATLAB***像***像应用教程[M].中国水利水电出版社,2004
[2]邵拥***等.基于BP神经网络的湘西金矿成矿预测[J].中南大学学报,2007
[3]高全学等.SVD用于人脸识别存在的问题及解决方法[J].中国***象***形学报,2006
[4]杨天***,张晓春等.基于BP神经网络的城市道路交通安全评价研究[J].中国矿业大学学报,2005
bp神经网络篇5
关键词:室内定位;RSS; BP神经网络;IEEE 802.11b
中***分类号:TN911.23 文献标识码:A
1 引 言
目前,室内定位算法主要有以下几种。
1)Time of arrival(TOA)
TOA定位的基本原理是通过测量节点间电波传播的时间来确定节点的位置。
TOA算法要求参加定位的各个基站在时间上实现严格同步。在室内环境中,由于已知点到待测点的距离通常不远,无线电波的传播速度太快,且存在严重的多径干扰,因此无法利用无线电波进行测距。目前,基于TOA的室内定位技术通常是利用超声波传播速度较慢的特点(在20摄氏度时超声波的传播速度为343.38m/s),来测量出已知点和待测点间的距离,进而求出待测点的位置[1]。
2)GPS L1 Re-radiating
GPS(Global Positioning System)是70年代初由美国开发的卫星导航定位系统,本质上它也是一个基于TOA的定位系统。
GPS L1 Re-radiating是将GPS在L1频段上的信号,通过户外天线接收后,增益放大为室内可接收信号,进而基于GPS实现室内定位。
3)Received signal strength,RSS
RSS定位的基本原理是利用移动装置侦测所接收到的无线电波信号强弱,然后根据经验模型或RSS随距离衰减的模型来推断节点间的距离,进而实现定位[2]。
该技术主要使用无线网络本身的无线电信号来定位,不需额外添加硬件,是一种低功率、廉价的定位技术[3]。
基于信号强度的室内定位方法分为经验模型法和信号衰减模型法。
(1)经验模型法
在经验模型法中,将RSSI数据转换为位置信息的方法主要有判定法和概率法两种。
(2)信号衰减模型法
信号衰减模型法则无需实地测量位置和RSSI,而是依据信号强度和距离的特定关系,结合三角测量法,根据来自三个(或以上)AP的RSSI来计算出待测点的位置。
基于TOA的定位模型在开放的室外环境中非常有效,但在室内环境却存在一些问题。使用超声波虽可克服无线电波传输速度快的问题,但需构建专门的超声波系统。GPS也主要是针对户外目标设计的定位系统,应用于室内存在定位精度不高等问题。基于RSS的定位模型中,经验法需进行大量的实地测量,同时无法保护定位用户的隐私;而信号衰减法在室内受NLOS(非视距传播)等因素影响,也使得定位精度较低。
因此,本文提出了一种基于BP神经网络的室内定位模型并借助MATLAB 7.0加以实现。采用该方法进行室内定位,不需要WLAN以外的其他资源。由于不需要知道定位节点和建筑物的详细特性,用户的隐私将随之得到完全的保护。
2 基于BP神经网络的室内定位模型
BP神经网络通常是指基于误差反向传播算法(Backpropagation)的多层前向神经网络,目前,该算法已成为应用最为广泛的神经网络学习算法[4]。
BP神经网络采用的是并行网络结构,包括输入层、隐含层和输出层,经作用函数后,再把隐节点的输出信号传递到输出节点,最后给出输出结果。该算法的学习过程由信息的前向传播和误差的反向传播组成。在前向传播的过程中,输入信息从输入层经隐含层逐层处理,并传向输出层。第一层神经元的状态只影响下一层神经元的状态。如果在输出层得不到期望的输出结果,则转入反向传播,将误差信号(目标值与网络输出之差)沿原来的连接通道返回,通过修改各层神经元权值,使得误差均方最小。神经网络理论已经证明BP神经网络具有强大的非线性映射能力和泛化功能,任一连续函数或映射均可采用三层网络加以实现。
计算技术与自动化2007年6月第26卷第2期李 瑛等:一种基于BP神经网络的室内定位模型2.1 样本数据的采集和处理
输入向量为待测点收到的来自至少三个不同位置AP的RSSI值,输出向量为待测点的坐标值(X,Y)。
样本采集在一个10mX10m的室内场地中进行。使用3个来自***C公司的AP和1台配置了ORiNOCO PC CARD的笔记本电脑。AP及无线网卡符合并工作在IEEE 802.11b标准下。笔记本电脑所使用的操作系统为RedHat Linux 9.0。样本均匀分布在6mx6m的中心区域中。
2.2 网络结构的确定
Kolmogorov定理已经证明[5],任意一连续函数可由一个三层BP 网络来实现。虽然研究表明三层以上的BP网络可以减少隐含层节点数,提高计算效率,但在缺乏理论指导的BP网络设计中这样做容易使问题趋向复杂化。因此选择三层BP神经网络,即只有1个隐含层的BP神经网络。
该网络输入层的节点数由输入向量的维数决定,输入向量的维数是3,所以输入层节点数确定为3个。输出层节点数由输出向量的维数决定,这里输出节点数为2 。
隐含层节点数的选择在BP网络设计中是一个难点,目前还没有理论上的指导。过多的网络节点会增加训练网络的时间,也会使网络的泛化能力减弱,网络的预测能力下降。然而网络节点过少则不能反映后续值与前驱值的相关关系,建模不充分。经反复试验,将隐含层节点数定为30,这样形成了一个3-30-2结构的BP神经网络,如***1所示。
2.3 学习算法的选择
基本BP 算法采用梯度下降法使得误差均方(mse)趋向最小,直至达到误差要求。但在实际应用中,存在收敛速度慢、局部极值等缺点。Matlab 7.0神经网络工具箱中提供了十多种快速学习算法,一类是采用启发式学习方法,如引入动量因子的traingdm 算法、变速率学习算法traingda 、“弹性”学习算法trainrp等;另一类采用数值优化方法,如共轭梯度学习算法traincgf 等。本研究选择traincgf 算法。该算法在不增加算法复杂性的前提下,可以提高收敛速度,并且可沿共扼方向达到全局最小点,较好地解决了经典BP算法所存在的收敛速度慢和可能出现局部最优解的问题。
2.4 BP神经网络的初始化、训练与仿真
1)建立网络
net==newff(P3,[30,2],{′tansig′,′purelin′},′traincgf′)
newff()为建立BP 神经网络的函数;P3为6维矩阵,表示3维输入向量中每维输入的最小值和最大值之间的范围。[30,2]表示隐层节点数是30,输出层节点数是2,{′tansig′,′purelin′}表示隐含层中的神经元采用tansig转换函数,输出层采用purelin函数,′traincgf′表示选择的学习算法。
2)权重和阈值初始化
net==init(net)
给各连接权重LW{1,1}、LW{2,1}及阈值b{1}、b{2}赋予(-1,+1)间的随机值。
3)训练
[net,tr]=train(net,P,T)
P为输入向量,T为目标向量,根据网络学习误差逆传递算法,利用阻尼最小二乘算法迭代,由前一次训练得到的网络权重及阈值训练得到新的网络权重及阈值。
为了使生成的BP网络对输入向量有一定的容错能力,最好的方法是既使用理想的信号又使用带有噪声的信号对网络进行训练。具体做法是先用理想的输入信号对网络进行训练,直到起平方和误差足够小;然后,使用20组理想信号和带有噪声的信号对网络进行训练。经过上述训练后,网络对无误差的信号也可能会采用对付带有噪声信号的办法,这样会导致很大的代价,因此,需要采用理想的向量对网络再次训练,以保证网络能对理想信号作出最好的反应。
使用函数traincgf对网络进行训练时,当网络平方和误差小于3时停止网络的训练。训练过程中的误差变化情况如***2所示。
根据训练后的网络及输入向量进行仿真输出。
3 实验结果及分析
利用训练后的BP神经网络进行了36次定位,并统计了36次定位的平均误差,结果如***3所示。
与利用信号衰减模型定位相比(如***4所示),利用BP神经网络定位具有更高的统计精度。
与信号衰减模型相比,虽然BP神经网络的模型解释直观性略有不足,但却可获得更精确的定位结果。
利用BP神经网络,虽然可解决传统处理方法所不能处理的非线性映射问题,但在实际应用中,对如何选择和确定一个合适的神经网络结构没有确切的理论指导,只能通过试验―调整―再试验的过程来确定一个合适的网络结构。同时,BP神经网络的隐含层作用机理和隐含层节点个数的选择是BP神经网络的难点问题。隐含层的节点个数的选择需反复进行试验,当多次输出结果在一定误差范围内时才可确定。
4 结束语
本文提出了一种基于BP神经网络的室内定位模型,并在基于IEEE 802.11b标准的WLAN环境中对此模型进行了测试。一个基于信号衰减模型的定位算法也在同样的环境中进行了测试。对比结果表明,利用BP神经网络进行室内定位能取得更好的定位精度。
bp神经网络篇6
关键词:BP网络 旋转触探仪 神经网络预测 训练函数
中***分类号:TP751 文献标识码:A 文章编号:1674-098X(2014)12(c)-0004-02
随着计算机技术的快速发展,人工神经网络在数学p物理p工程p岩土等行业得到广泛应用。Matlab软件提供了神经网络的工具箱,提供了多种神经网络库函数,为数值计算提供了计算平台。岩土工程问题的复杂多变性,在运用神经网络分析和预测时,其结果往往受各种因素的影响,关键还是网络结构的构建和训练函数的选取。因此,应该对网络的训练函数的选取进行深入研究。
该文在大量的旋转触探试验的基础上,结合土的物理性质指标含水量、干密度,土的强度参数粘聚力和内摩擦角,以及埋深情况,建立土的旋转触探模型,建立BP神经网络,采用不同的训练函数对网络进行训练。
1 BP神经网络
BP网络是一种单向传播的多层前向网络,具有三层或三层以上的神经网络,包括输入层、中间层(隐层)和输出层。在人工神经网络的实际应用中,BP网络广泛应用于函数逼近、模式识别/分类、数据压缩等,人工神经网络模型采用BP网络或它的变化形式,它是前馈网络的核心部分,体现了人工神经网络最精华的部分。BP算法的基本思想[1]是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。
2 BP神经网络的训练函数
BP神经网络中的训练算法函数是根据BP网络格式的输入、期望输出,由函数newff 建立网络对象,对生成的BP 网络进行计算,修正权值和阈值,最终达到BP网络的设计性能,从而完成网络的训练和预测。BP 神经网络几种主要的训练函数及其特点分述如下[2]。
(1)traingda、trainrp函数和trainlm函数。
traingda函数是最基本的自适应学习步长函数,其最大优点可以根据误差容限的性能要求调节函数,弥补标准BP算法中的步长选择不当问题。trainrp函数可以消除偏导数的大小权值带来的影响,只考虑导数符号引来的权更新方向,忽略导数大小带来的影响。trainlm函数。该函数学习速度较快,但占用内存很大,从理论上来说适用于中等规模的网络。
(2)共轭梯度算法:traincgf函数、traincgp函数、traincgb 函数、trainscg函数。
共轭梯度算法是介于最速下降法与牛顿法之间的一个方法,其利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点。上述四种共轭梯度算法前三种收敛速度比梯度下降快很多,其需要线性搜索,对于不同的问题会产生不同的收敛速度。而第四种不需要线性搜索,其需要较多的迭代次数,但是每次迭代所需计算量很小。
(3)Newton算法:trainbfg函数、trainoss函数。
trainbfg 算法的迭代次数较少,由于每步迭代都要Hessian矩阵,其每次迭代计算量和存储量都很大,适合小型网络。Trainoss为一步割线算法。它是介于共轭梯度法和拟牛顿算法的方法,其需要的存储和计算量都比trainbfg要小,比共轭梯度法略大。
上述各算法由于采用的训练函数不同,其计算速度、收敛速度及其迭代次数不尽相同,并且对内存要求依研究对象的复杂程度、训练集大小、网络的大小及误差容限的要求等存在差异。在运用BP网络解决相关工程性问题时,需要选择合理的训练函数。
3 网络训练函数的选取
该文着重研究BP神经网络的训练函数的选择,所用数据样本均来自于实践中用新型微机控制旋转触探仪采集到的数据,经过归一化处理建立了网络的样本数据库,根据训练函数的特点选择其隐含层数为2。文选择非线性函数为Sigmoid,输出层的传递函数为Purelin,可以用来模拟任何的函数(必须连续有界)。
采用不同的训练函数对网络的性能也有影响,比如收敛速度等等,下面采用不同的训练函数(trainbr、traingd、traingdm、traingdx、traincgf、trainlm、trainb)对网络进行训练,并观察其结果,如表1所示。
对比可知,trainlm训练函数的收敛效果较好,trainbr、trainlm训练函数得到的绝对误差相对较小,其它训练函数的收敛性能较差。trainbr训练样本的绝对误差比trainlm训练函数的绝对误差小,且分布比较均匀,但是trainbr训练函数的收敛精度却相对较差,这可能是出现局部最优化的问题,通过测试样本的进一步分析如表2所示,trainbr训练以后的网络对于预测样本的预测精度较低,偏差较大,进一步验证了该训练函数在训练过程中训练收敛精度相对较差,并出现局部最优化[3]。
综合考虑,可以看到trainlm训练函数具有训练速度快且预测精度高的特点,所以本文中选用trainlm作为训练函数。
4 结论
该文以Matlab神经网络的作为工具,基于触探模型作为研究对象,对不同的训练函数进行了仿真比较,结果表明采用不同的训练函数其存在明显的差异。综合考虑干密度误差,含水量误差,干密度误差(样本顺序),含水量误差(样本顺序)以及迭代次数和性能误差等因素,选用trainlm作为训练函数,trainlm函数由于其训练速度较快且计算精度较高而显现出一定的优势。
参考文献
[1] 葛哲学,孙志强.神经网络理论与MATLAB R2007实现[M].电子工业出版社,2007.
bp神经网络篇7
关键词:网络安全;态势评估;BP算法
中***分类号:TP393文献标识码:A文章编号:1009-3044(2011)14-3265-02
Using Back Propagation to Achieve The Rating of The Network Security Posture
TANG Jin-min
(Hongli Network Limited Company of Changchun, Changchun 130051, China)
Abstract: In order to alleviate the increasingly serious problem of network security, we can use assessment technology of the network security situation, optimized the factors that affect network security in advance. we try to used Back Propagation in network security situation assessment, and used a lot of experimental data in the training model, tested some of the data.
Key words: network security; situation assessment; BP
随着互联网时代的来临,网络的规模和应用领域不断发展,人们对网络依赖程度不断增加,网络已经成为社会、经济、***事等领域中不可或缺的重要组成部分。但同时,我国网络安全问题日益突出,目前网络系统的安全现状已经清楚地表明:传统的网络安全防护技术已无法为网络系统的安全提供根本的可靠保障。要在错综复杂的网络环境中切实有效地提高网络安全,迫切需要探索新的理论和方法,网络安全技术研究已经步入一个全新的时代。网络安全态势评估(Network Security Situational Assessment,NSSA)研究就是顺应这个需求而生并迅速发展成为网络信息安全领域一个新的研究热点。网络安全态势评估技术能够从整体上动态反映网络安全状况,并对安全状况的发展趋势进行预测和预警,为增强网络安全性提供可靠的参照性依据。
1 相关研究
网络安全态势是指由各种网络设备运行状况、网络行为以及用户行为等因素所构成的整个网络的当前状态和变化趋势。网络安全态势感知,即是在大规模网络环境中,对能够引起网络态势发生变化的安全要素进行觉察、理解、显示以及预测未来的发展趋势。态势强调环境、动态性以及实体间的关系,是一种状态,一种趋势,一个整体和宏观的概念,任何单一的情况或状态都不能称之为态势。
1999年,Bass等人首次提出了网络态势感知概念,即网络安全态势感知。国国家能源研究科学计算中心(NERSC)所领导的劳伦斯伯克利国家实验室于2003年开发了“Spinning Cube of PotentialDoom”系统,该系统在三维空间中用点来表示网络流量信息,极大地提高了网络安全态势感知能力。2005年,CMU/SEI领导的CERT/NetSA开发了SILK,旨在对大规模网络安全态势感知状况进行实时监控,在潜在的、恶意的网络行为变得无法控制之前进行识别、防御、响应以及预警,给出相应的应付策略,,该系统通过多种策略对大规模网络进行安全分析,并能在保持较高性能的前提下提供整个网络的安全态势感知能力。国内方面,网络态势感知也是在起步阶段,主要是从***事信息与网络安全的角度来研究,这对我***在新形势下的信息安全保护和信息战有重大的战略意义。
2 网络安全态势评估系统
下面介绍一个网络安全态势评估系统,它的工作流程***如***1所示。
这其中的关键技术就是态势评估过程,在这里我们使用BP算法来完成网络安全态势评估。
2.1 BP算法
BP算法,也就是误差反向传播(Error Back Propagation, BP)算法,BP算法的最早提出是在1986年,两位科学家Rumelhart和McCelland他们领导的科学小组通过长时间的分析,弄清了非线性连续转移函数的多层前馈网络的误差反向传播算法,并且在《Parallel Distributed Processing》一书中进行了非常详细的阐述,这个分析阐述实现了Minsky的设想。我们也经常把BP算法称之为BP网络。
下面简单介绍一下BP算法的基本思想,在学习也就是网络训练过程中,信号的传播分为正向传播和反向传播,其中反向传播的是误差信号。在进行正向传播时,将训练样本输入,也就是从神经网络的输入神经元输入,样本数据经各隐藏层逐层处理后,最后从输出层传出。如果从输出层输出的数据与期望的输出(事先给定的)不一样,这就说明计算出现了误差,为了解决这个误差问题,训练就会进行反向传播。反向传播就是将输出数据与期望数据的误差以某种形式通过隐层向输入层逐层反向传,在这个过程之中,会把误差值分摊给各隐层的所有神经元上,这样就能获得各层每个神经元的误差信号,我们可以通过这些误差信号来修改各个神经元上的权值。上面所讲的训练样本信号正向传播和误差信号的反向传播是不断地进行的,这个不断进行的过程也就是BP网络的学习和训练过程,经过了这个过程,误差信号逐步减小,达到了一个我们事先约定的限度,或者完成了所有训练样本的输入,这时就可以结束训练过程,同时整个网络确定了下来,网络中的神经元上的权值也固定了下来,这样就可以进入实际的应用阶段,可以用这个网络来进行工作了。
2.2 指标体系的建立
安全态势评估的核心问题是确定评估指标体系。指标体系是否科学、合理,直接关系到安全态势分析的质量。为此指标体系必须科学地、客观地、合理地、尽可能全面地反映影响系统安全性的所有因素。指标体系的建立必须按照一定的原则去分析和判断,指标体系建立过程中所遵循的原则并不是简单的罗列,它们之间存在着密切的关系。指标体系设立的目的性决定了指标体系的设计必须符合科学性的原则,而科学性原则又要通过系统性来体现。在满足系统性原则之后,还必须满足可操作性以及时效性的原则。进一步,可操作性原则还决定了指标体系必须满足可比性的原则。上述各项原则都要通过定性与定量相结合的原则才能体现。此外,所有上述各项原则皆由评估的目的性所决定,并以目的性原则为前提。
根据查找资料等,发现在不同的攻击下一下一些指标有明显变化,就选择这些指标组成指标体系,CPU占用率、内存占用率、端口流量、丢包率、网络可用带宽、平均往返时延、传输率、吞吐率。我们就选择这8种指标作为我们的评价指,根据原系统的设计将网络的安全态势分为五个级别分别是:Good、OK、Warning、Bad、Critical。这5种状态由高到底的标示出整个网络安全状态。
2.3 评级系统的实现
因为有8个评测指标,所以网络的输入层有8个神经元,输出因为要求的评估等级为5,所以输出层的神经元为5个,对应的网络输出模式为(1,0,0,0,0)(0,1,0,0,0)(0,0,1,0,0)(0,0,0,1,0)(0,0,0,0,1),隐含层的神经元个数也要确定,在这里我们将隐含层的神经元个数设为8*2+1=17个,这个也是BP神经网络常用的原则。
同取样本数据100组解决BP神经网络的训练问题,,进行学习训练,同样使用MatlabR2007b作为平台训练BP神经网络,隐藏层神经元的传递函数选择的是S型对数函数logsig,输出层神经元的传递函数选则purelin,性能目标采用MSE,设为0.01,训练步数设为500,学习速率设为0.1,经过多次迭代运算后达到收敛目标,这时候结束训练过程,保存该训练好的网络。然后将25组测试数据代入网络进行网络状态评估。
3 结论
bp神经网络篇8
【关键词】BP神经网络;PID控制;直流电机调速系统
1.引言
PID控制以其算法简单,鲁棒性好和可靠性高等优点,广泛地应用于工业生产当中,成为衡量各行各业现代化水平的一个重要标志。随着科学技术的发展,生产工艺的日益复杂化,生产系统具有非线性,时变不确定性,在实际生产中,常规PID控制器参数往往整定不良、性能欠佳,对运行工况的适应性很差[1]。
BP神经网络具有良好的自学习、自适应能力和鲁棒性,可以用来处理高维、非线性、强耦合和不确定性的复杂控制系统。本文结合BP神经网络的优点和传统PID控制的优势,对PID控制器进行优化,使其具有很强的自适应性和鲁棒性。通过对直流电机调速系统仿真,结果表明,这种方法是有效的。
2.PID控制原理
PID是工业生产中最常用的一种控制方式,PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微(D)通过线性组合构成控制量,对控制对象进行控制。传统的PID控制系统原理框***如***2.1所示,系统主要由PID控制器和被控对象组成。它根据给定值rin(t)与实际输出值yout(t)构成控制偏差额e(t):
***2.1为PID控制系统原理框***。
3.基于BP神经网络的PID整定原理
PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,而是从变化无穷的非线性组合中找出最佳的关系[2]。BP神经网络具有良好的自学习、自适应能力和鲁棒性,将PID和BP神经网络结合起来,建立参数自学习的PID控制器。其结构如***3.1所示。
经典增量式数字PID的控制算式为:
式中,是与、、、u(k-1)、y(k)等有关的非线性函数,可以用BP神经网络通过训练和学习找到这样一个最佳控制规律。
假设BP神经网络NN是一个三层BP网络,其结构如***3.4所示,有M个输入节点、Q个隐层节点、三个输出节点。输出节点分别对应控制器的三个可调参数,,。其激发函数为非负的Sigmoid函数。而隐含层的激发函数可取正负对称的Sigmoid函数。
神经网络的前向算法如下:设PID神经网络有M个输入,3个输出(,,),上标(1)(2)(3)分别代表输入层、隐含层和输出层,该PID神经网络在任意采样时刻k的前向计算公式(3-3)如下所述:
基于BP神经网络PID控制算法可以归纳为:①选定BPNN的结构,即选定输入层节点数M和隐含层节点数Q,并给出各层加权系数的初值,选定学习速率和惯性系数;②采样得到和,计算;③对进行归一化处理,作为BPNN的输入;④计算BPNN的各层神经元的输入和输出,输出层的输出即为PID控制器的3个参数,,;⑤计算PID控制器的输出,参与控制和计算;⑥计算修正输出层的加权系数;⑦计算修正隐含层的加权系数:⑧置,返回②[3]。
4.仿真实例
仿真试验中所用的直流电机参数Pnom =10kw,nom=1000r/min,Unom=220V,I=55A,电枢电阻Ra=0.5Ω,V-M系统主电路总电阻R=1Ω,额定磁通下的电机电动势转速比=0.1925V.min/r,电枢回路电磁时间常数Ta=0.017s,系统运动部分飞轮距相应的机电时间常数Tm=0.075,整流触发装置的放大系数=44,三相桥平均失控时间Ts=0.00167s,拖动系统测速反馈系数=0.001178V.min/r,比例积分调节器的两个系数T1=0.049s,T2=0.088s。BP神经网络的结构采用4-5-3,学习速率和惯性系数,加权系数初始值取区间[-0.5,0.5]上的随机数。利用simulink模块建立模型如***4.1所示。
从上面的仿真结果中,进行比较分析后,可以得出常规PID控制系统BP神经网络PID控制系统两者对于在零时刻加幅度为1的阶跃信号,它们有着不同响应曲线。为了便于比较,可以将两者的响应结果列表,见表4.1。
5.结论
由仿真结果可知,BP神经网络控制系统的最大超调量和调整时间均比常规PID控制系统的最大超调量要小。这说明利用BP神经网络对PID控制器进行优化具有有良好的自学习、自适应能力和鲁棒性,在工业生产中,具有更高的价值。
参考文献
[1]王敬志,任开春,胡斌.基于BP神经网络整定的PID控制[J].工业控制计算机,2011(3):72-75.
bp神经网络篇9
关键词PID控制;BP神经网络;遗传算法;参数优化
1引言
由于常规PID控制具有鲁棒性好,结构简单等优点,在工业控制中得到了广泛的应用。PID控制的基本思想是将P(偏差的比例),I(偏差的积分)和D(偏差的微分)进线性组合构成控制器,对被控对象进行控制。所以系统控制的优劣取决于这三个参数。但是常规PID控制参数往往不能进行***调整,难以适应对象的变化,另外对高阶或者多变量的强耦合过程,由于整定条件的限制,以及对象的动态特性随着环境等的变化而变化,PID参数也很难达到最优的状态。
神经网络具有自组织、自学习等优点,提出了利用BP神经网络的学习方法,对控制器参数进行***调整,以满足控制要求。由于BP神经网络学习过程较慢,可能导致局部极小点[2]。本文提出了改进的BP算法,将遗传算法和BP算法结合对网络阈值和权值进行优化,避免权值和阈值陷入局部极小点。
2加热炉的PID控制
加热炉控制系统如***1所示,控制规律常采用PID控制规律。
***1加热炉控制系统简***
若加热炉具有的数学模型为:
则PID控制过程箭***可以用***2表示。
其中,
采用经典参数整定方法——临界比例度对上述闭环系统进行参数整定,确定PID控制器中Kp=2.259,Ki=0.869,Kd=0.276。参考输入为单位阶跃信号,仿真曲线如***3所示。
***2PID控制系统
***3Z—N整定的控制曲线
仿真曲线表明,通过Z—N方法整定的参数控制效果不佳,加上PID参数不易实现***调整,所以该方法不宜用于加热炉的***控制。
3基于遗传算法改进的BP神经网络PID控制器参数优化整定
对于加热炉控制系统设计的神经网络自整定PID控制,它不依赖对象的模型知识,在网络结构确定之后,其控制功能能否达到要求完全取决于学习算法。
3.1遗传算法改进的BP算法实现
一般BP网络结构如***4所示,其算法步骤为:
(1)输入训练样本,按网络结构得到输出;
(2)将实际输出与希望输出比较,得到误差,根据误差调节阈值和权值。重复两个步骤,直到误差满足要求为止;
研究表明,采用上述BP算法逐步调整权值和阈值,可能导致学习过程收殓速度慢,训练时间过长,又易陷入局部极小点而得不到最佳的权值和阈值分布。为了加快学习速率,已经有了一些优化BP算法[3],采用动态学习因子和惯性因子。这些方法在加快网络收殓速度方面比较显著,能较好地避免网络陷入局部极小。遗传算法不要求目标函数具有连续性,而且可以对复杂的多峰的,非线性及不可微的函数实现全局寻优,因此容易得到全局最优解或性能很好的次优解。将遗传算法和BP算法相结合可以具有寻优的全局性和精确性。算法过程为:
(1)对权值和阈值编码生成初始种群,由于是多参数优化问题,采用多参数映射编码;
(2)计算适应度值;
(3)如果不满足遗传算法停止条件,则对当代种群进行交叉、选择和变异产生新的个体,转(2);否则,转(4);
(4)对遗传算法找到的较好的解空间,采用BP算法在这些小的解空间中搜索出最优解。
3.2PID参数优化
由***5可知,神经网络根据系统的运行状态,通过***调整PID的三个参数Kp,Ki,Kd,以达到某种性能指标的最优化。
***5BP网络整定PID参数原理***
经典增量式PID的控制算法:
算法步骤:
(1)确定网络结构,采用3—4—3的结构,输入分别为e(k),e(k)-e(k-1),e(k)-2e(k-1)+e(k-2)。输出为Kp,Ki,Kd。
(2)选择初始种群N=60,交叉概率Pc=0.08,权值,阈值的范围和初始化。选取目标函数为(偏差绝对值积分):,适应度函数为:
(3)采样得到rin(k)和yout(k),计算该时刻的误差。
(4)对网络进行学习,***调整权值,阈值,计算神经网络的各层输入,输出,得到三个可调参数Kp,Ki,Kd。计算系统输出。
(5)计算适应度若不满足要求,转入第(3)步。
(6)找到最优的Kp,Ki,Kd,对系统仿真。
***6BP网络整定的控制曲线
仿真结果显示,用BP神经网络整定的PID控制系统比经典的Z—N(临界比例度)法有更快的响应特性,良好的动态特性和比较强的鲁棒性。
4结束语
由于神经网络具有自组织、自学习等优点,本文提出的优化的BP神经网络相结合的方法对控制器参数进行寻优,可根据对象的变化情况对控制器参数的***调整,满足控制对象的动态特性随着环境变化而变化的要求。达到好的控制效果。遗传算法与BP网络的结合弥补了BP网络学习过程收敛速度慢,可能陷入局部级小的不足。
参考文献
[1]王树青等编著.工业过程控制工程[M].北京:化学工业出版社,2002
[2]李士勇著.模糊控制、神经控制和智能控制论[M].哈尔滨:哈尔并工业大学出版社,1996
[3]胡志***,王建国,王鸿斌.基于优化BP神经网络的PID控制研究与仿真[J].微电子学与计算机2006,23(12):138—140
[4]张文修著.遗传算法的数学基础[M].西安:西安交通大学出版社,2003
bp神经网络篇10
关键词: 时间序列; BP神经网络; EMD; 本征模函数; 预测模型
中***分类号:TP311.1 文献标志码:A 文章编号:1006-8228(2014)02-01-04
0 引言
时间序列是将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。时间序列分析是一种动态的数列分析[1],出发点是承认数据的有序性和相关性,通过数据内部的相互关系来辨识系统的变化规律。常用的时间序列分析法主要是建立在回归――移动平均模型(ARMA)[2-3]之上,被用来对股价(最高价、最低价、开盘价、收盘价)及综合指数进行预测[4-5]。然而,这些经典回归分析暗含着一个重要假设:数据是平稳的。如果数据非平稳,往往导致出现“虚假回归”,严重影响预测效果。股票等金融数据是典型的非平稳时间序列,一般地说,股票价格的变化主要包括经济性因素、***治性因素、人为操纵因素、有关行业及投资者心理等多种因素的影响,各因素的影响程度、时间范围和方式也不尽相同;且股市各因素间相互关系错综复杂,主次关系变化不定,数量关系难以提取及定量分析[6]。因此,需要寻找一种好的方法来避免或减弱这些因素的影响,于是学者研究小波分析[6]和神经网络[7-8]用于时间序列分析预测。小波变换可以使非平稳数据中的有效成分和噪声呈现出各自不同的特征,但小波变换中小波基的选取会对数据去噪的效果产生很大的影响,因此利用小波变换对非平稳数据分析的方法缺乏自适应性。Zhaohua Wu[11]等人通过大量的实验,证实经验模态分解(EMD,Empirical mode decomposition)具有类似小波变换中的二进滤波器特性,通过分解、数据重组后实现了数据的去噪,汲取了小波变换优势,同时又克服了小波变换中的小波基选择难的问题。
本文将经验模态分解和BP神经网络相结合,构建了一种基于EMD-BP神经网络的预测模型,通过对中国石化股票进行预测模拟仿真,实验结果得出结论,将EMD用于时间序列的预测分析,大大降低了扰动因素的影响,提高了预测精度。
1 时间序列的BP神经网络训练
神经网络具有较强的学习能力和适应能力,在非线性系统中的预测方面得到了广泛的应用。考虑到金融数据是一类非线性较强的时间序列,本文选用BP神经网络作为预测工具。BP网络[9-10]是一种多层前馈型神经网络,其神经采用的传递函数一般都是Sigmoid(S形弯曲)型可微函数,是严格的递增函数,***性和非线性之间显现出较好的平衡,所以可实现输入和输出间的任意非线性映射,适用于中长期的预测;逼近效果好,计算速度快,不需要建立数学模型,精度高;理论依据坚实,推导过程严谨,所得公式对称优美,具有强非线性拟合能力。目前,已经有一些比较成熟的神经网络软件包,其中MATLAB的神经网络工具箱应用最为广泛。
在网络训练中,最重要的三个参数是权值、学习率和单元数。权值可能变得很大,这会使神经元的输入变得很大,从而使得其激活函数的导函数在输入点的取值很小,这样训练的步长就会变得非常小,进而导致训练的速度下降到很小的程度,最终可能使得网络停止收敛,即网络瘫痪。因此在对网络的连接权矩阵进行初始化时,随机给定各层之间的权值与阈值的初始值比单纯地随机给定某一部分层的收敛速度更快。学习率的选择,其合理与否是网络是否稳定的关键:太高的学习率,可以减少网络训练的时间,但是容易导致网络的不稳定与训练误差的增加;太低的学习率,需要较长的训练时间。在一定的条件下,较少的单元数目往往能够提高网络的收敛速度,而较多的单元数目有可能在规定的训练长度里不能满足要求。因此,对于参数数目的选择,并没有一个固定的模型,往往根据更多的经验成分。
2.1 经验模态分解(EMD)
经验模态分解法EMD[11]是由美国NASA的黄锷博士提出的一种信号分析方法。它适合于分析非线性、非平稳信号序列,具有很高的信噪比。该方法的关键是经验模式分解,它能使复杂信号分解为有限个本征模函数(Intrinsic Mode Function,简称IMF),所分解出来的各IMF分量包含了原信号的不同时间尺度的局部特征信号。
EMD是基于以下假设条件:①数据至少有一个最大值和一个最小值两个极值点;②数据极值点间的时间尺度惟一确定局部时域特性;③如果数据没有极值点但必须有拐点,通过对数据微分一次或多次求得极值,再通过积分来获得分解结果。
2.2 数据重构
对原始数据进行EMD分解后,得到有限个IMF分量。为了降低原始数据中的非平稳性,需要对得到的各分量进行相关系数分析,筛选出有用的IMF分量,对其进行重构,以得到一个与原始数据近似的新数据进行预测实验。
数据重组的方法有多种,本文采用相关系数分析法进行数据的筛选。由于篇幅有限,关于EMD分解与重构的代码不在本文提供。
2.3 应用训练好的神经网络对合成数据预测
对于非线性系统,BP神经网络预测有着明显的优势。但是在复杂的非线性系统中,非平稳因素给预测带来了一定的困难。正是因为EMD分解降低了各个分量的平稳性[12],才得到了广泛应用[13-15]。金融数据等时间序列随着时间,以及在多种因素的影响下会随之改变,所以数据本质上是非平稳的,因此利用神经网络对该数据进行预测,数据的平稳性使得其预测结果不是很理想,为了提高预测精度,我们用EMD方法对数据进行分解,以降低其非平稳性对预测精度的影响。然后对分解后的各分量进行相关系数分析比较,选取有用的IMF分量,进行数据的合成,从而得到一个与原始数据近似的新数据。将重组后的拟合数据输入到训练好的BP神经网络进行预测。预测过程如***1所示。
3 应用实例和分析
3.1 股票数据的BP神经网络训练
将中国石化股票从2011年6月至2011年12月共130天的股票价格数据进行样本划分。用前60天的数据来预测后5天的数据,作为网络训练集。选取剩下的60天数据预测最后的5天,作为测试集。
3.3 数据合成及预测
本文对中国石化股票数据(***3)进行EMD分解后得到4个IMF分量和1个剩余分量。对4个分量分别进行与剩余分量的相关系数分析。分析结果表明,IMF3和IMF4相关性较大,并与剩余分量的相关性也较大(相关门限值选取0.3)。所以选取IMF3和IMF4两个分量与剩余分量进行重构,得到与原始数据近似的较平滑的新数据如***9所示。
经过比较可知,对于具有非平稳强烈的股票时间序列的预测,基于EMD的BP神经网络预测要比直接BP神经网络预测更为准确。
对于非平稳的时间序列,BP神经网络预测有着明显的优势,但是对于影响因素复杂的非平稳数据,多种因素的干扰给预测带来了一定的困难。EMD分解分离了各个不同因素的相互干扰,通过对各分量单独预测再合成的处理,从而提高了预测精度。从表1可以看出最终的预测误差经过EMD分解的信号要精确于直接神经网络预测。从***4中可以看出影响信号平稳性程度最大的是IMF1,如果再对其进行分解处理,整个系统的预测精度会得到更大的改善。
4 结束语
对于非平稳的时间序列,BP神经网络预测有着明显的优势,但是对于影响因素复杂的非平稳数据,多种因素的干扰给预测带来了一定的困难。EMD分解分离了各个不同因素的相互干扰,通过对各分量分析再合成的处理,提高了预测精度。目前EMD方法主要用于模拟信号和大气数据分析[13-15],用于金融数据预测还较为少见。本文将其与BP神经网络结合,构建了EMD-BP神经网络预测模型。从本文的预测过程和仿真结果可以看到,利用EMD分解的BP神经网络预测优于直接BP神经网络预测,相比其精确度有了明显的提高。
参考文献:
[1] 刘瑛慧,曹家琏.时间序列分析理论与发展趋势[J].电脑知识与技术,2010.2:257-258
[2] 刘佳,赵文慧,刘光荣.基于SAS的非平稳时间序列分析及实证研究[J].汕头大学学报.2010.2(1):48-53.
[3] 李海林,郭崇慧,时间序列数据挖掘征表示与相似性度量研究综述[J].计算机应用研究,2013.5(30):1285-1290
[4] 魏宇.中国股票市场的最优波动率预测模型研究[J].管理学报,2010.6(6):936-942
[5] 方启东,温鑫,蒋佳静等.基于时间序列的股价预测[J].宿州学院学报,2010.8(8):71-74
[6] 杜建卫,王超峰.小波分析方法在金融股票数据中的应用[J].数学的实践与认识,2008.7(38-7):68-75
[7] 刘海,白艳萍.时间序列模型和神经网络模型在股票预测中的分析[J].数学的实践与认识,2011.2(4):14-19
[8] 张媛,刘红忠.基于行为金融的神经网络模型在股票价格预测中的有效性研究[J].世界经济情况,2011.2(2):62-67
[9] 焦淑华,夏冰,徐海静,刘莹.BP神经网络预测的MATLAB实现[J].哈尔滨金融高等专科学校学报,2009.3(97):55-56
[10] 李萍,曾令可,税安泽,金雪莉,刘艳春,王慧.基于MATLAB的BP神经网络预测系统的设计[J].计算机应用与软件,2008.4(25-4):149-151
[11] Zhaohua Wu, Norden E. Huang. A study of the characteristics of white noise using the empirical mode decomposition method[J].The Royal Society,2004.3(10):1597-1611
[12] 刘慧婷,倪志伟,李建洋.经验模态分解方法及其应用[J].计算机工程及应用,2006.1(32):44-47
[13] 徐世艳.经验模态分解的时频分析方法及其应用[J].吉林大学学报,2009.9(27-5):487-492