公务员期刊网 精选范文 神经网络前向传播算法范文

神经网络前向传播算法精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的神经网络前向传播算法主题范文,仅供参考,欢迎阅读并收藏。

神经网络前向传播算法

第1篇:神经网络前向传播算法范文

【关键词】神经网络;配电网;线损

一、引言

线损是电能在传输过程中各个环节的损失,是供电量和售电量之间的差值。在电能的传输过程中造成部分电能的浪费,因此研究人员在不断的探究新的降低线损的方法。将BP神经网络算法应用到配电网的综合降损中,为配电网降损研究做出了贡献。

二、BP神经网络算法

BP神经网络包括输入层、隐含层和输出层,按照误差逆向传播的方式训练多层前馈网络。BP神经网络的学习过程是信息的前向传播和信息误差的反向传播两项内容。在信息前向传播的过程中输入层传播到隐含层,信息由隐含层处理后再传播到输出层,这是信息逐层更新的过程。

BP神经网络算法是通过调整权重来实现使网络输出值逼近期望值的目的,BP神经网络算法学习过程为:1.将各权重值和阀值设为最小正数;给定网络一组输入向量和目标输出向量;2.根据输入向量计算实际输出向量,即,将此输出值送到下一层作为输入;3.权重的调整是通过权重调整公式来实现;式中为增益相,为输出误差。在应用BP神经网络解决问题前,除了了解它的学习过程外,还需要对其进行训练,步骤如下:

1.对相应的数据进行初始化:期望误差最小值:err_goal;最大循环次数:max_epoch;权值修正学习速率:lr,取0.01-0.6

2.完成一个训练样本的学习后,将下一个学习样本提供给网络,以此类推完成全部的样本训练。

3.从学习样本中选取一组输入和目标样本数据,然后再计算输出向量,网络全局误差小于设定期望误差为止,训练结束。

三、配电网综合降损

将BP神经网络算法应用到配电网的综合降损中。以某地区一条10KV配电线路为例说明,此配电线路的拓扑结构如图1所示,标号1-13为负荷母线,Sl-S12为母线之间的联络开关,两座变电站由A、B表示。选取l号负荷母线2013年12月前十天的负荷数据为训练数据,数据如表1所示。

表1 1号负荷母线12月前十天负荷数据

(一)负荷预测

采用BP神经网络实现负荷预测的过程为:以当天负荷段对应的负荷点12个分量的数据为配电网的输入向量,且输出向量同样为第二天12个分量的负荷数据,这样就实现了为下一天负荷的预测。

用1号到9号的数据进行网络训练,训练函数设置为:net.trainParam.epochs=500;%训练次数设为500次;net.trainParam.goal=0.001;%训练目标设为0.001;L.P.lr=0.05;%学习速率设为0.05;Net=train(net,P,T);%P为输入向量,1到5号的负荷数据;%T为输出向量,6到10号的负荷数据。训练结果为:TRAINLM,Epoch0/500,MSE3.7989/0.001,Gradient1081.63/1e-010 TRAINLM,Epoch5/500,MSE0.000463846/0.001,Gradient7.38793/1e-010 TRAINLM,Performance goal met.

由此可见通过训练之后,预测数据和实测数据误差为0.001,且基本无偏差,可很好的满足实际应用需求

图2某地区10KV配电网线路

(二)配网重构

根据负荷等级将图1配电网线路中的13条母线分为7类,则有713种负荷模式,从713种负荷模式中选取4000个,以其中3000个数据作为训练集合,应用BP神经网络算法对配电网进行学习训练,另外1000个数据为测试集合,经过46次训练后可达到误差要求,训练结果为:

TRAINBFG-srchbac.Epoch0/500,MSE21.616/0.02,Gradient236.65/1e-006

TRAINBFG-srchbac.Epoch25/500,MSE0.026354/0.02,Gradient0.150609/1e-006

TRAINBFG-srchbac.Epoch46/500,MSE0.0199597/0.02,Gradient0.0677733/1e-006

TRAINBFG, Performance goal met.

以13条母线的某一时刻负荷的实测数据为依据,通过负荷预测网络的预测得到下一时刻的负荷预测数据,并通过配电网重构在预测时刻采用将图1中开关S6断开的模式运行则配电网线损为586.21kW,若采用将开关S7断开的模式运行则线损为628.18kW,可见通过配电网重构后线损降低了41.97kW,降低了约6.7%,提高了配电网的输电效率。

四、结论

通过对BP神经网络算法的简单介绍和学习、训练过程的分析,将BP神经网络算法应用到配电网的综合降损中,分别从负荷预测、配网重构两个方面说明了BP神经网络算法在配电网综合降损可取的较为良好的降损效果。

参考文献:

[1]顾勇.农村10kV电网节能降损技术措施分析[J].电源技术应用2012 (11).

[2]赵传辉.基于神经网络的配电网综合节能降损技术[D].济南:山东大学,2011.

作者简介:

第2篇:神经网络前向传播算法范文

关键词:室内定位;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个来自SMC公司的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神经网络进行室内定位能取得更好的定位精度。

第3篇:神经网络前向传播算法范文

【关键词】短期负荷预测;BP神经网络;模拟退火算法

0 引言

电力的短期负荷预测是电力系统的一项重要工作,是实现供电可靠、经济管理的基础。由于电力负荷受到很多因素的影响,负荷预测方法发展至今,虽然已经积累了很多经验,但是还没有一种可靠的模型实用于不同地区。本文针对某市电力负荷的特点,提出了模拟退火BP神经网络电力短期负荷预测模型。经验证,该模型在实现负荷预测方面的可行性。

1 BP神网络

人工神经网络理论的研究始于1890年美国著名心理学家W.James关于人脑结构与功能的研究,至今已提出过许多网络模型,其中用于预测的网络主要是BP神经网络。这是因为BP神经网络主要有以下特点:(1)较强的非线性映射能力;(2)很好的泛化能力;(3)很强的容错能力和学习能力。

D.E. Ru melhart和J.L. Mc Cella nd及其研究小组于1986年研究并设计出来BP神经网络(Back-propagationN eutralN etwork)是一种基于误差反向传播(BP算法)的多层前向神经网络,采用有导师的训练方式。BP算法的学习过程包括信号的正向传播与误差的反向传播两个过程。三层BP网络是一种应用很普遍的神经网络,它包括输入层、隐层和输出层,如图1所示,输入层神经元的个数为输入信号的维数,隐含节点的个数视具体情况而定,输出层神经元的个数为输出信号的维数。BP网络的工作流程见图2所示。

图1 BP神经网络

误差的反向传播是BP网络的一大特点,但是,该网络也存在以下一些主要缺陷:(1)训练次数太多,效率较低;(2)易于陷入局部极小而不能实现全局最优。针对这些缺点,本文利用模拟退火算法对BP网络进行改进。

2 模拟退火算法

1953年Metropolis等提出的模拟退火算法 (Simulated Annealing,简称SA)能够近似求解具有NP复杂性的问题,可以避免陷入局部极小的问题。模拟退火算法主要包括状态产生函数、状态接受函数、温度更新函数、内循环终止准则和外循环终止准则。

其工作过程如图3所示。

图2 BP网络的工作过程

图3 模拟退火算法的流程图

3 神经网络负荷预测模型

本文设计的预测模型中BP神经网络的输入层共有8个输入端,分别用来输入待测日前四天对应时刻的负荷,以及天气因素中的最低温度、最高温度、降雨量和日期类型;因为本模型的输出为对应时刻的负荷,故输出层只有一个输出端;隐含节点的最佳个数现在没有一个具体的方法或者公式来确定,通过实验,本文最终取9个隐含节点。该模型工作流程见图4所示。

4 验证

本文利用该模型及单一的BP神经网络模型来预测某市的负荷。由于预测过程中所用的数据性质不同,大小差别很大,因此在使用之前,需要对数据进行归一化处理,对预测结果需要进行还原。本文所用的转移函数均为单极性Sigmoid函数。利用历史数据,进行预测,预测结果见图5所示。预测误差分布见图6所示。

图4 预测模型工作流程

图5 预测结果

图6 预测误差

通过以上预测结果可知,利用该模型在预测结果的准确性方面,比单一BP神经网络具有很大的优势,同时也验证了该模型的可行性。

5 结论

针对单一的BP神经网络的缺点,本文利用模拟退火算法来优化BP神经网络,经验证,该方法是可行的。

【参考文献】

[1]朱兴统.基于SA-LSSVM的电力短期负荷预测[J].科学技术与工程,2012,12(24):6171-6173.

[2]师彪,李郁侠,于新花,等.基于改进粒子群模糊神经网络的短期电力负荷预测[J].系统工程理论与实践,2010,30(1):157-166.

[3]李慧,王来运.基于混沌蚁群算法的电力短期负荷预测[J].北京信息科技大学学报,2011,26(4):40-43.

第4篇:神经网络前向传播算法范文

关键词: Matlab; 串联BP; 多函数拟合; 自定义网络

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2013)22?0014?03

0 引 言

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland提出的,它是一种误差按反向传播的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP神经网络具有非常强的非线性映射能力,能以任意精度逼近任意连续函数,因此在人工智能的许多领域都得到了广泛的应用,如函数逼近、模式识别、分类和数据压缩等领域[1?2]。由于目前一个神经网络只能同时对一个函数进行拟合,针对此本文提出了一直串联BP网络同时实现两个函数的拟合。

1 BP网络结构与学习算法

BP神经网络是目前应用最广泛的拓扑结构。BP模型是一种多层前向网络,这里采用的是三层BP神经网络模型,它由输入层、隐层和输出层组成,其结构如图1所示,分别为:

(1)输入层节点,其输出等于[xi]([i]=1,2,…,n),将控制变量值传输到隐含层;

(2)隐层节点[j],其输入[hj],输出[oj] 分别为:

[hj=i=1nwjxi-θj=i=1n+1wjxi]

[oj=f(hj)]

(3)输出节点[k],其输入[hk],输出[ok] 分别为:

[hk=j=1m+1wjkoj]

[ok=f(hk)]

式中:[k]=1,2,…,[l];[f]为传输函数。

BP算法分两步进行,即正向传播和反向传播[3]。

(1)正向传播

输入的样本从输入层经过隐单元逐层进行处理,通过所有的隐层之后,在传向输出层。在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。

(2)反向传播

反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小[4]。

2 BP网络的串联模型

神经网络串联即由两个或两个以上的神经网络串联所组成的新型网络模型,用于串联的各神经网络称为子神经网络。神经网络串联模型中的各子神经网络首尾相连,如图2所示。

假设总的神经网络由k个子神经网络串联而成,即第一个神经网络的输出作为第二个神经网络的输入,第二个神经网络的输出做为第三个神经网络的输入,以此类推下去。每一个子神经网络均由同类型的神经网络构成,在本文中,每一个子网络都采用最常用的BP神经网络,其子网络的构建都遵循现有的BP网络的构建形式,其基本的子网络结构采用三层模式,一个输入层,一个隐含层和一个输出层[5?6]。

通过Matlab神经网络工具箱的自定义的方法来实现两个子BP网络的串联。

部分程序如下所示:

net=network;

net.numinputs=2;

net.numlayers=6;

net.biasConnect=[1;1;1;1;1;1];

net.inputConnect=[1 0;0 0;0 0;0 1;0 0;0 0];

net.layerConnect=[ 0 0 0 0 0 0;1 0 0 0 0 0 ;0 1 0 0 0 0;

0 0 1 0 0 0 ;0 0 0 1 0 0;0 0 0 0 1 0];

net.outputConnect=[ 0 0 1 0 0 1];

网络的拓扑结构如图3所示,其中每个子网络的隐含层节点为20个,传递函数为tansig,输出层采用线性函数[7]。

3 实验测试与分析

运用本串联BP网络在Matlab 2011的环境中同时对两个目标函数进行拟合。其目标函数为:

目标函数1:

[y=sin x]

目标函数2:

[y=x(1-16x2)e-x]

训练样本输入的设置:输入样本p={p1’,p1’}其中p1=[-1:0.05:1],目标向量T={t1’;t2’},其中t1= sin(3*pi*p1),t2= p1.*(1-1/6*p1.^2).*exp(-p1)。并加入噪声t3=sin(3*pi*p1)+0.15*randn(size(p1));t4=t2+0.15*randn(size(p1));T={[t3]’;[t4]’};对其进行训练仿真[8?10]。

网络的输出y包含了两个待拟合函数的拟合后的数据通过下面操作:

y1=cell2mat(y);

y2=y1’;

a=y2(1:1:41);

b=y2(42:1:82);

得到各自的拟合数据。

仿真结果如图4~图6所示。

由图4、图5仿真拟合曲线与待拟合函数曲线的比较可以看出此串联网络在通过加噪声的训练样本训练后能够很好的对两个待拟合函数进行拟合。由图6知在经过342次训练后其误差达到了0.000 978。可见,通过此串联BP神经网络准确地拟合了待拟合函数曲线。

4 结 语

通过以上叙述可以看出本文设计的串联神经网络能够和好地对函数曲线进行拟合,为同时实现多函数曲线的拟合提供了新的方法。

参考文献

[1] 张雨浓,蔡炳煌.人工神经网络研究进展及过程[M].北京:电子工业出版社,2010.

[2] 蒋正金,汪晓东,端木春江.采用BP神经网络拟合光纤位移传感器特性曲线[J].微型机与应用,2012,31(4):67?69.

[3] 郭军.BP神经网络算法研究[D].武汉:华中科技大学,2005.

[4] 贾丽会,张修如.BP算法分析与改进[J].计算机技术与发展,2006,16(10):102?107.

[5] 刘华,高大启.RBF_LBF 串联神经网络的分类应用及其学习算法[J].计算机应用,2004,24(10):100?104.

[6] 邓秋香.神经网络串并联学习算法在B超图像识别中的应用[D].武汉:武汉理工大学,2008.

[7] 张德丰.Matlab神经网络应用设计[M].北京:机械工业出版社,2012.

[8] 陈小宇,乔翠兰,汪瑞祥,等.基于BP算法神经网络的物理实验曲线拟合[J].物理实验,2002,22(9):10?13.

[9] 李洁.BP网络的算法及在Matlab上的程序仿真[J].西安航空技术高等专科学校学报,2009,27(1):42?43.

第5篇:神经网络前向传播算法范文

经过长期不懈努力,科学家认为可以从仿制人脑神经系统的结构和功能出发,研究人类智能活动和认识现象。然而,客观现实世界是纷繁复杂的,非线性情况随处可见,人脑神经系统更是如此。为了更好地认识客观世界,我们必须对非线性科学进行研究。人工神经网络作为一种非线性的、与大脑智能相似的网络模型,就这样应运而生了。因此,首先对人工神经网络进行了概述;而后重点描述BP网络模型,对其基于弹性BP算法的BP网络设计与实现;最后,对网络的训练和测试进行了简单的分析。

关键词:

人工神经网络;数学模型;策略

神经系统,是人体器官的一种较为复杂的系统。人工神经网络是对人脑的神经结构与机制进行模拟,是一种区别于符号推理以及逻辑思维的人工智能技术。人工神经网络是基于现代神经生物学和认知科学对人类信息处理研究成果的基础上研发的,用来模拟生物神经系统对真实世界的物体来做出反应。除此之外,它还属于一种大规模自适应的非线性动力学系统,具备非常强的联想记忆和自主学习能力。人工神经网络具有非线性映射、模式识别、函数逼近、聚类分析、数据压缩以及优化设计的功能,并且在稳定性、收敛性等方面都有良好的性质,被广泛应用于信息处理、模式识别、计算机视觉、优化计算、智能控制等各个领域中。

一、人工神经网络

人工神经网络,可以称之为神经网络或者链接模型,是属于一种对人脑或者自然神经网络的若干个基本特性进行抽象和模拟的网络。现阶段人工神经网络的研究成果基础是对大脑的模拟研究,是为了模拟大脑当中的某些机理与机制,实现某个方面的功能而进行专项研究的。人工神经网络具有可以充分逼近任意复杂的非线性关系,对于定量或者定性的信息会采用并行分布的处理方式,使其可以大量并且快速进行运算、适应不确定的系统和对定量以及定性信息进行同一时间的处理。人工神经网络的优越性表现在三方面,具有自主学习的能力,具有联想存储的能力,具有高速寻找并且寻找优化方式的能力。对人工神经网络的研究,可以分为理论研究和应用研究两个方面的研究。在理论研究中,可以利用神经生理与认知科学对人类的思维以及智能机理进行相关研究,还可以利用人脑神经的基础理论研究成果,用数理方法对神经网络模型进行更加完善、更加优越的探索。在应用研究方面,神经网络可以实现对软件的模拟和对硬件的科学研究。而且,神经网络在各个领域中也都得到了广泛的研究,例如模式识别、信号处理、知识工程、专家系统、优化组合以及机器人控制等领域。

现行的数理知识是建立在集合论的基础上的,随着数学阶段的发展,对于人类系统的行为,或者对于人类复杂系统,比如航天系统、人脑系统以及社会系统等方面,其中的参数和变量有很多,各种因素也是相互交错的,因此,系统是相当复杂的,相对的模糊性也会显得非常明显。就认识方面来讲,可以用模糊性这个词语来概括概念外延的不确定性。因此,模糊数学的概念应运而生,主要的研究内容包括三个方面。首先,可以对模糊数学的理论进行精确研究,其中包含着与精确数学以及随机数学的关系;其次,还需要研究模糊语言学和模糊逻辑,人类的自然语言都是具有模糊性的,人们经常会接收到迷糊语言和模糊的信息,并且可以对其做出正确的判断和辨别。因此,为了可以使得自然语言和计算机语言的直接对话,就必须把人类的自然语言和思维的过程提炼成为数学模型来对计算机进行指令,这样就可以建立模糊数学的模型样本,通过运用此种方式,建立的就是模糊数学的模型,也是运用数学方法的关键之所在。最后,研究模糊数学的应用,模糊数学的研究对象通常是以不确定的事物为主的。模糊的集合通常都是通过数学来适用描述的复杂的事物,将研究的对象数学化,将其中的不确定性很好地和抽象的数学沟通起来,达到形象生动直观的效果。

二、BP网络模型

1.BP网概述BP算法,是由PallWerbas博士在1974年首次提出的,即为误差逆传播学习算法,而对于此算法完整的提出是在1986年由Rumelhart和McCelland为首的科学家小组提出来的。后来,人们把BP算法在进行训练之前的前馈型的神经网络称之为BP网络,逐渐以其简洁、实用和高度的非线性映射能力成为流行的网络模型,在信号处理、模式识别、系统辨识以及数据压缩中都有广泛的应用。在人工神经网络的实际应用过程当中,大部分的模型会采用BP网络或者它所拥有的变化形式,属于前向网络中的基础核心部分,属于人工神经网络中的精华部分。2.BP网络拓扑结构BP网络属于一种前向型神经网络,其中的神经网络具有三层或者三层以上,可以对上下层之间的神经元进行全部的连接,也就是说下层的每一个神经元可以和上层的每一个神经元实现连接,但是在同层之间的神经元是没有办法相连的。3.BP网络的工作原理以及过程对于BP网络的学习可以有两个阶段。首先,需要学习信号的正向传播过程。当一对学习的模式进行网络提供之后,神经元的激活值就会从输入层当中的各隐含层向输出层中进行传播,并且在输出层的各个神经元内会相应地输入响应值。其次,是对正方向的传播过程进行误差的修正,如果在输出层中的输出值和预期的有偏差,就会对实际输入与期望输出之间的误差进行逐层递归的计算,计算方向会按照减小期望输出和实际输出之间的误差方向。对输出层之间的各个隐含层进行每一层的连接权进行逐层的修正,最后再回到输入层,这个循环的过程就称之为“误差逆传播学习算法”。现阶段,这种误差传播的修正方式在不断地进行创新修正,网络对应的输入模式相应的正确率也会随着算法的不断发展得到相对应地提高。4.算法流程BP的算法流程如图2。

三、基于弹性BP算法的BP网设计与实现

1.BP网络结构的设计在1989年,RobertHecht-Nielson证明了在任何一个闭区间当中的一个连续的函数都可以用一个隐含层的BP网络来进行逼近,这就导致了用一个3层的BP网络可以完成任意的从N到M维的映射。输入层节点的点数是根据样本的输入特征项来决定的,而输出的节点数是根据样本的期望输出项来决定的。在隐层节点当中,由于隐层节点的数目过多,平均的收敛速度就会变慢并且速度是极其不稳定的,这样就会增加初始权值的敏感度,网络的泛化能力也会随之降低,在对隐层节点数进行计算的时候。其中,h代表的是隐层节点数,nin代表的是输入层的节点数,则nout则代表的是输出层的节点数。当因为网络发生误差产生下降的时候,也就是E(网络误差)下降的速度非常缓慢的时候,这个时候网络的收敛水平还需要进一步提高的时候,就会增加一个隐层节点。如果遇到相反的情况,则就会减少一个相应的节点。对于BP网络的优化,主要包括以下几个步骤。首先,利用弹性BP算法来对网络的权值和偏差进行修正,利用此种算法,在很大程度上避免了使得学习(是学习)陷入局部狭小的现象,这样可以加快学习收敛的速度;其次,对于隐含的节点数可以进行随意的设定;而后,在对隐含层和输出层的激活函数之间可以在给定的5种畅通的函数当中进行随意的选择,最后就需要对输入向量的归一化了。

四、网络的训练与测试

1.训练样本的声场以及网络的构造如果采用100个样本对来进行声场训练样本对,这里的样本数据采用LINSPACE(X1,X2,N)的函数生成。在本文当中,BP网络有三层构造。在这三层构造当中,第一层采用tansig激活函数;第二层采用logsig激活函数,在第三层则需要采用purline激活函数来进行。在网络训练当中需要用Matlab神经网络工具箱当中的L-M法的trainlm这个函数来进行计算。2.网络学习以及等级的评价通过MATLAB的神经网络工具箱上建立的模型,需要将学3.网络测试成效从评价的结果上来看,运用人工神经网络的评价方法最大限度地减少了人为因素的影响,在这其中可以在很大程度上减少因为传统方式而在设计权重过程当中的不确定性,通过这种方式来对评价的对象进行自动评价。同时,BP的神经网络这种评估方式本身也具有一定的局限性,例如对网络当中的隐层节点个数难以确定,在学习训练的过程当中最容易陷入局部最优的问题,在很大程度上会影响评价结果的精准性。

五、结束语

运用人工神经网络方式有效解决多源、多类型以及多属性地址处理和分析问题,在很大程度上突破了统计数学模型对预测的约束力和限制力。应用人工神经网络进行复杂的地址信息的非线性整合处理,可以精准的对各类资料进行综合分析和归类。

参考文献:

[1]李传杰.基于模糊数学及神经网络的心理评估模型[D].山东大学,2008

[2]徐振东.人工神经网络的数学模型建立及成矿预测BP网络的实现[D].吉林大学,2004

[3]邓丽琼,朱俊.基于BP神经网络的教师课堂教学评价模型[J].国土资源高等职业教育研究,2013

第6篇:神经网络前向传播算法范文

关键词:期货经纪公司 综合实力 主成分分析 聚类分析

人工神经网络(ANN)是大脑及其活动的一个理论化的数学模型,由大量的处理单元(神经元)互连而成的,是神经元联结形式的数学抽象,是一个大规模的非线性自适应模型。人工神经网络具有高速的运算能力,很强的自学习能力、自适应能力和非线性映射能力以及良好的容错性,因而它在模式识别、图像处理、信号及信息处理、系统优化和智能控制等许多领域得到了广泛的应用。

人工神经网络的学习算法可以分为:局部搜索算法,包括误差反传(BP)算法、牛顿法和共轭梯度法等;线性化算法;随机优化算法,包括遗传算法(GA)、演化算法(EA)、模拟退火算法(SA)等。

蚁群算法是一种基于模拟蚂蚁群行为的随机搜索优化算法。虽然单个蚂蚁的能力非常有限,但多个蚂蚁构成的群体具有找到蚁穴与食物之间最短路径的能力,这种能力是靠其在所经过的路径上留下的一种挥发性分泌物(pheromone)来实现的。蚂蚁个体间通过这种信息的交流寻求通向食物的最短路径。已有相关计算实例表明该算法具有良好的收敛速度,且在得到的最优解更接近理论的最优解。

本文尝试将蚁群算法引入到前向神经网络的优化训练中来,建立了基于该算法的前向神经网络训练模型,编制了基于C++语言的优化计算程序,并针对多个实例与多个算法进行了比较分析。

前向神经网络模型

前向人工神经网络具有数层相连的处理单元,连接可从一层中的每个神经元到下一层的所有神经元,且网络中不存在反馈环,是常用的一种人工神经网络模型。在本文中只考虑三层前向网络,且输出层为线性层,隐层神经元的非线性作用函数(激活函数)为双曲线正切函数:

其中输入层神经元把输入网络的数据不做任何处理直接作为该神经元的输出。设输入层神经元的输出为(x1,x2,Λ,xn),隐层神经元的输入为(s1,s2,Λ,sh),隐层神经元的输出为(z1,z2,Λ,zh),输出层神经元的输出为(y1,y2,Λ,ym),则网络的输入-输出为:

其中{wij}为输入层-隐层的连接权值,{wi0}隐层神经元的阈值,{vki}为隐层-输出层的连接权值,{vk0}为输出层神经元的阈值。网络的输入-输出映射也可简写为:

1≤k≤m (5)

前向神经网络的训练样本集为

A={Xi,Tii=1,2,A,n)}

(其中Xi∈Rn,为第i组训练数据的输入,Ti∈Rm为与第i组训练数据的输入对应的期望输出,Tki为输出层第k个神经元的期望输出),设第i组训练数据的输入的实际输出为Yi∈Rm,Yki为输出层第k个神经元的实际输出,则基于该训练样本集的误差函数为

该函数是一个具有多个极小点的非线性函数,则对该前向神经网络的训练过程为调整各个神经元之间的连接权值和阀值{wij},{wi0},{vki},{vk0},直至误差函数E达到最小。

误差反向传播算法(BP算法)是一种梯度下降算法,具有概念清楚、计算简单的特点,但是它收敛缓慢,且极易陷入局部极小,且对于较大的搜索空间,多峰值和不可微函数也不能搜索到全局极小。为此人们提出了很多改进的学习算法,其中最简单且容易实现的是加入动量项的变学习率BP算法,这种算法一般都比较有效,但是收敛速度还是比较慢,仍是局部搜索算法,从本质上仍然摆脱不了陷入局部极小的可能。为了摆脱局部极小,人们已经尝试将可用于非线性优化的遗传算法、演化算法以及模拟退火算法等进行前向人工神经网络的训练。

蚁群算法

蚁群算法简介

蚂蚁在路径上前进时会根据前边走过的蚂蚁所留下的分泌物选择其要走的路径。其选择一条路径的概率与该路径上分泌物的强度成正比。因此,由大量蚂蚁组成的群体的集体行为实际上构成一种学习信息的正反馈现象:某一条路径走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大。蚂蚁的个体间通过这种信息的交流寻求通向食物的最短路径。蚁群算法就是根据这一特点,通过模仿蚂蚁的行为,从而实现寻优。这种优化过程的本质在于:

选择机制:分泌物越多的路径,被选择的概率越大。

更新机制:路径上面的分泌物会随蚂蚁的经过而增长,而且同时也随时间的推移逐渐挥发消失。

协调机制:蚂蚁间实际上是通过分泌物来互相通信、协同工作的。

蚁群算法正是充分利用了选择、更新和协调的优化机制,即通过个体之间的信息交流与相互协作最终找到最优解,使它具有很强的发现较优解的能力。

蚁群算法具体实现

蚁群算法求解连续空间上的优化问题 以求解非线形规划问题为例。考虑如下的非线性规划问题:minF(x1,x2,Λ,xn),使得,ai1x1+ai2x2+Λ+ainxn≥bi,i=1,2,Λ,r。这里F为任一非线形函数,约束条件构成Rn上的一个凸包。可以使用不等式变换的方法求得包含这个凸包的最小的n维立方体。设该立方体为

设系统中有m只蚂蚁,我们将解的n个分量看成n个顶点,第i个顶点代表第i个分量,在第i个顶点到第i+1个顶点之间有ki条连线,代表第i个分量的取值可能在ki个不同的子区间。我们记其中第j条连线上在t时刻的信息量为τij(t)。每只蚂蚁要从第1个顶点出发,按照一定的策略选择某一条连线到达第2个顶点,再从第2个顶点出发,…,在到达第n个顶点后,在kn条连线中选取某一条连线到达终点。每个蚂蚁所走过的路径代表一个解的初始方案,它指出解的每一个分量所在的子区间。用pijk(t)表示在t时刻蚂蚁k由城市i转移到城市j的概率,则(式(7))

为了确定解的具体值,可在各个子区间已有的取值中保存若干个适应度较好的解的相应分量作为候选组,为了加快收敛速度,参考具有变异特征的蚁群算法提出的具有变异特征的蚁群算法,使用遗传操作在候选组中确定新解的相应分量的值。首先可随机在候选组中选择两个值,然后对他们实行交叉变换、变异变换,以得到新值作为解的相应分量。该候选组中的值在动态的更新,一旦有一个更好的解的分量在该子区间中,就用这个值替换其中的较差者。

在m只蚂蚁得到m个解后,要对它们进行评估,本人使用Lagrange函数作为评估解的优劣的适应度函数,否则要对每个解进行合法性检查并去除其中的不合法解。然后要根据适应度函数值更新各条边上的信息量。要根据下式对各路径上的信息量作更新:

Δτijk表示蚂蚁k在本次循环中在城市i和j之间留下的信息量。

重复这样的迭代过程,直至满足停止条件。

候选组里的遗传操作 若候选组里的候选值的个数gi=0,即候选组里没有候选值,此时则产生一个[li+(j-1)×length,min(ui,li+j×length]间的随即数作为解分量的值wij,vij,跳过选择、交叉、变异等遗传操作。

若gi=1,即候选组里只有一个候选值wik,vik,则跳过交叉、选择等操作,直接对这个候选值wik,vik进行变异操作。

若gi=2,即候选组里有两个候选值,则跳过选择操作,直接对这两个候选值进行交叉、变异等操作。

否则,选择两个分量后进行交叉、变异操作。

在选择操作中,根据候选组里各候选值的适应度的大小,用“赌轮”的方法选取两个值。设第j个值所在解的适应度为fj,则它被选中的概率为

在交叉操作中,设所选择的两个值为wij(1),vij(1)和wij(2),vij(2),其适应度分别为f1,f2,且f1>f2,我们以概率Pcross进行交叉操作。随机产生p∈[0,1],若p>Pcross,则进行交叉操作。取随机数r∈[0,1],交叉结果值

在所有蚂蚁都得到解以后,修改边条上的信息量按式(8)和式(9)相应地更新各子区间上的信息量。但对Δτijk的更新应按下式进行:

其中W为一个常数,fk为蚂蚁k的解的适应度。

前向神经网络的训练过程

基于上述的定义,用蚁群算法训练具有三层前向神经网络,可按以下步骤进行:

输入相关参数:输入最大迭代次数number,每次迭代选取的适应度最好的解的个数num,每个分量的ki个子区间中信息量最大的子区间被选种的概率q0(其余子区间被选中概率为(1-q0))。

初始化:通过神经网络在控制变量可行域内随机产成m只蚂蚁,即产生m组{wij},{wi0},{vki},{vk0},且各个分量均为[-1,1]区间内的随机数。

迭代过程:对于n个分量,分别对m个蚂蚁进行循环更新相应的信息量τij(t),对候选组中的分量进行遗传操作,计算新解的适应度,对各边的信息量进行修改,根据适应度的优劣增删候选组中的值。判断是否满足结束条件,若不满足则继续迭代。

第(3)步的具体算法如下:

while not结束条件(如最大迭代次数) do

{for i=1 to n do (对n个分量循环)

{for k=1 to m do (对m个蚂蚁循环)

{根据q0和概率pijk(t)确定第i个分量的值在第j个子区间;

局部更新第j个子区间的信息量τij(t);

在第j个子区间候选组里通过遗传操作生成第i个分量值;}

计算新解的适应度函数值;}

修改个条边上的信息量;

取适应度最好的num个解将其各分量直接插入相应的子区间的候选组中,并淘汰候选组中的较差者。}

上述过程中根据下列公式选取第i个分量的值所在的子区间号j:

由于算法中以q0的概率选择ki个子区间中信息量最大的子区间,因此信息量最大的那个子区间常常被选中,这就使得新一代解的该分量值集中在这个子区间,容易发生停滞现象。为了避免这种现象,在上述过程中对所选的子区间的信息量进行局部更新,对被选中的子区间立即适当地减少其信息量,使其他蚂蚁选中该子区间的概率降低。设第k个个体的第i个分量选中第j个子区间,则按下式局部更新子区间j的信息量:

这样,更新后的信息量是原来的信息量和有关第i个分量各子区间的最小信息量的凸组合。当信息量最大的子区间被多次选中之后,信息量减少到ki个子区间的信息量的平均水平,从而蚂蚁选择其他子区间的概率增加,增加了所建立解的多样性,同时也有效减少了停滞现象的发生。

实验结果

为了评价蚁群算法的性能,笔者做了大量的计算机模拟试验,在此给出了两个函数COS(X)和SIN(X)函数的实验结果,选择蚂蚁群规模m=20;每次迭代选取的适应度最好的解的个数num=10;每个分量的ki个子区间中信息量最大的子区间被选中的概率q0=0.8;前向神经网络的输入层有1个神经元,隐层有10个神经元,输出层有1个神经元,多个方法SIN(X)函数的试验结果列于表1,多个方法COS(X)函数的试验结果列于表2。

结论

本文给出了基于蚁群算法的三层前向神经网络的训练模型,并建立了一种新的网络训练算法。从试验结果分析,与演化算法、模拟退火算法、加动量项的BP算法相比,蚁群算法具有较快的收敛速度,能够达到较小的均方误差值,因此,此方法收敛过程有比较明显的优势和稳定性。

网络训练算法。从试验结果分析,与演化算法、模拟退火算法、加动量项的BP算法相比,蚁群算法具有较快的收敛速度,能够达到较小的均方误差值,因此,此方法收敛过程有比较明显的优势。

参考文献:

1.褚蕾蕾,周梦等.计算智能的数学基础[Z].科学出版社,2002

2.吕岗,陈小平,赵鹤鸣.一种优化多层前向网络的IA-BP混合算法[J].计算机工程与应用,2003.27

3.王建群,卢志华.三层前向人工神经网络全局最优逼近[J].数学的实践与认识,2003.7

4.陈陵,沈洁,秦玲.蚁群算法求解连续空间优化问题的一种方法.软件学报,2002

5.Dorigo, M., Luca, M. A study of some properties of Ant-Q. Technical Report, TR/IRIDIA/1996-4, IRIDIA, University Libre de Bruxelles,1996

6.Gambardella, L.M., Dorigo, M. Ant-Q: a reinforcement learning approach to the traveling salesman problem. In: Prieditis, A., Russell, S., eds. Proceedings of the 12th International Conference on Machine Learning. Tahoe, CA: Morgan Kaufmann, 1995

7.Sheng, Jie, Chen, Ling. A new approach to solving nonlinear programming. Journal of System Science and System Engineering, 2002

8.Wu, Qing-hong, Zhang, Ji-hui, Xu, Xin-he, An ant colony algorithm with mutation features. Jurnal of Computer Research & Development, 1999

作者简介:

王晶(1980-),女,河北保定人,硕士研究生,主要研究领域为人工智能与数据处理。

张国立(1959-),男,吉林榆树人,教授,主要研究领域为智能计算理论、方法及其在电力市场中的应用。

第7篇:神经网络前向传播算法范文

关键词: BP神经网络;价格预测;归一化处理

期货市场是一个不稳定的、非线性动态变化的复杂系统。市场上期货合约价格的变动受金融、经济、政治及投资者心理等众多因素的影响,其过程具有非线性、混沌性、长期记忆性等特点。传统的经济模型大部分是线性模型,具有一定的局限性.而人工神经网络则能很好地解决这个问题。

一、BP神经网络原理与过程

BP神经网络(反向传播网络Back Propagation)是一种多层前馈型神经网络,其神经元的激活函数是sigmoid函数,一般为log sigmoid 函数和tan sigoid 函数,函数的图形是S 型的,其值域是为0到1的连续区间。它是严格递增函数,在线性和非线之间有着较好的平衡性。

1.数据归一化处理

数据归一化方法是神经网络预测前对数据常做的一种处理方法。数据归一化处理把所有数据都使其落在[0,1]或[-1,1]之间,其目的是取消各维数据间数量级差别。避免因为输入输出数据数量级差别较大而造成网络预测误差较大。数据归一化的方法主要有以下两种。

(1)平均数方差法,其公式如下:

2.BP神经网络的学习过程

BP网络的学习过程由信号的正向传播和误差的反向传播两个过程组成。其基本原理是:网络先根据输出层的误差来调整输出层和隐含层的权值和阈值,再将部分误差分配置隐含层,然后根据误差来调整隐含层和输入层之间的权值和阈值,并不断地重复上述过程,直到网络的输出与目标之间的误差趋于最小,达到规定的要求。

一般地,BP网络的学习算法描述为如下步骤。

(1)初始化网络及学习参数,如设置网络初始权矩阵,给出学习速率和神经元激活函数等。

(2)提供训练模式,训练网络,直到满足学习要求。

(3)前向传播过程:对给定训练模式输入,计算网络的输出模式,并与期望模式比较,若有误差,若执行步骤(4),否则,返回步骤(2)。

(4)反向传播过程:计算同一层单元的误差,修正权值和阈值,返回步骤(2)。

二、玉米期货价格预测分析

美国是世界上玉米生产大国和消费大国,良好的现货基础为美国玉米期货市场的发展提供了优越条件。其中,以CBOT为代表的美国玉米期货市场同现货市场有效接轨,不仅在美国内玉米生产流通领域发挥了重要作用,而且在世界玉米市场上也影响巨大。

发现价格作为期货市场的基本功能之一,CBOT作为全球最大的玉米期货交易市场,其玉米期货价格的国际影响力是非常巨大的。目前,在国际玉米市场上,玉米贸易价格的形成和交易活动是以CBOT的玉米期货价格为中心展开的,该价格是国际玉米贸易中签约双方需要考虑的最重要的依据之一。美国已经通过芝加哥玉米期货市场取得国际玉米贸易的定价权,在国际玉米市场中发挥着主导作用,并且能够对本国和其他国家玉米产业的发展产生深刻影响。

本文研究所采取的样本来自WIND资讯金融终端,以2008年07月-2015年10月的CBOT的玉米期货为研究对象。共计100组样本数据,将其中92组数据作为训练数据。8组作为分析样本。本文从影响全球玉米的供需平衡的角度出发,从期初库存、产量、进口、饲料消费、国内消费总计、出口、期末库存、总供给、贸易量共九个因素进行分析研究,对玉米期货的价格进行预测。利用MATLAB软件训练生成BP神经网络并进行预测,将隐含层神经元设为20个,训练次数为100次,训练精度为0.00005。最后得到结果见表1。

从表1中可以看出,通过BP神经网络计算得出的预测值与实际值绝对误差相对较小,这说明通过BP神经网络预测模型产生的预测结果的精确度较高。具有较强的实用性。但是由于玉米期货除了受到供需因素的影响外,同时还受金融、经济、政治及投资者心理等众多因素的影响。所以本文的结果还带有一定的局限性。若把上述因素考虑进去,其精确度可能进一步提高。

三、结语

本文采用BP神经网络对美国玉米期货的价格进行了研究。使用了多因素BP神经网络预测模型,对玉米期货的价格进行预测,得到了拟合度在较高的预测值。这说明BP神经网络方法可以对玉米期货价格走势进行有效预测。通过预测,可以对投资者的投资行为进行指导,从而达到规避风险而获取较好的经济利益。

参考文献:

第8篇:神经网络前向传播算法范文

关键词:语音识别;神经网络;遗传算法;遗传神经网络

中图分类号:TP183文献标识码:A文章编号:1009-3044(2008)22-774-03

Research of Speech Recognition Based on Genetic Neural Network

ZHAO Feng

(Computer School of Wuhan University,Wuhan 430081,China)

Abstract:This Paper mainly studies the application of the BP neural network in the research of speech recognition. BP neural network can get higher identification precision, but its training speed is very low. a new recognizing algorithm based on BP algorithm by combining with the good effect method in ANN which named genetic algorithm(GA) was proposed and used to improve the BP neural network . Experiment results show that the training speed can be accelerated by the method and the recognition performance is also promoted.

Key words: speech recognition; neural network; genetic algorithm; genetic neural network

1 引言

语音识别SR(Speech Recognition)是指让机器听懂人说的话,即在各种情况下,准确地识别出语音的内容,从而根据其信息,执行人的各种意图[1]。现代语音识别技术以神经网络为主要发展趋势,进入20世纪90年代以来,神经网络已经成为语音识别的一条重要途径。由于神经网络反映了人脑功能的基本特征,故具有自组织性、自适应性和连续学习能力等特点,特别适合于解决像语音识别这类模拟人的认知过程和智能处理能力,难以用算法来描述而又有大量样本可供学习的问题[2]。

人工神经网络(ANN)是采用大量的简单处理单元广泛连接起来构成的一种复杂信息处理网络。网络的训练学习是应用一系列输入矢量,通过已确定的算法逐步调整网络的权值,最终达到期望的目标。BP神经网络是神经网络中前向神经网络的核心部分,BP算法的学习过程由信号的正向传播和误差的反向传播组成。随着误差逆传播修正的不断进行,网络对输入模式响应的正确率不断上升。然而BP算法是一种梯度下降算法,梯度下降存在多极值问题,且BP网络学习训练速度慢,容易陷入局部最小或振荡。因此,参数的选择非常重要。为克服标准BP算法存在的各种缺点,本文研究用BP算法结合人工智能领域较为有效的方法――遗传(GA)算法来训练网络进行语音识别,仿真实验表明,GABP算法使BP网络在收敛速度上有了很大提高,尤其是克服了容易陷入局部最小值的缺点,基于GABP的语音识别系统的最高识别率和平均识别率都有了很大的提高。

2 语音识别的基本原理

大部分基于神经网络的语音识别系统实现识别功能都要经过从特征参数提取到应用识别算法进行识别的过程,该过程如下图1所示:

图1 语音识别系统原理框图

该文主要面向孤立数字识别系统作一些改进研究,其基本识别过程也符合上图1描述:输入的语音信号首先进行预处理,包括抗混叠滤波、声音的预加重、加窗分症处理与端点检测等。预加重的目的是在于滤出低频干扰,尤其是50Hz或60Hz的工频干扰,将对于语音识别更为有用的高频部分的频谱进行提升,以便于语音参数分析。

预加重滤波器传递函数为: H(Z)=1-0.9375Z-1(1)

若S(n)为预加重前语音信号,则经过预加重滤波器后得到的信号■(n)为:

■(n)= S(n)-0.9375 S(n-1)(2)

该文主要完成孤立数字识别,所要求识别的字数不多,对环境的噪声的适应能力的要求也并不高,因此采用了目前比较流行的双门限端点检测算法,借助于语音信号短时平均能量和短时过零率来判定语音有效范围的开始和结束。

语音信号经过预处理后,接下来很重要的一环就是进行特征提取,常用的特征包括短时平均能量和幅度、短时平均过零率、线性预测系数(LPC)、短时傅里叶变换和Mel频率倒谱系数(MFCC)。语音特征参数的时间序列构成了语音的模式,将其与通过应用一系列已知信号训练提取的参考模式逐一进行比较,获得最佳匹配的参考模式便是识别结果。本文中对于预处理的每个有效语音信号段,都要提取其12个一阶MFCC系数,提取过程为:用汉明窗将语音切割成长短一致的语音帧,对每帧语音进行正反傅里叶变换,经对数和离散余弦变换后取前12个数作为MFCC系数来描述每一个帧。最后将每个语音信号对应的MFCC系数序列用K-means聚类算法进行聚类,分为4个聚类,使得每个语音信号都得到相应的12个4维一阶MFCC系数,即可作为语音的特征参数成为神经网络的输入信号。

3 语音识别中的BP网络构造

语音识别中的BP网络构造主要包括输入层、隐层、输出层、初始权值、学习速率与期望误差的选取几个方面的问题。

1) 网络层数:理论上,在不限制隐层节点数的情况下,两层(只有一个隐层)的BP网络可以实现任意非线性映射。当模式样本很多时,减小网络规模,增加一个隐层是必要的,但BP网络隐层数一般不超过两层。本文所要求识别的模式样本不多,因此一个隐层已经足够。

2) 输入层节点数:在BP网络语音识别系统中,输入层节点数与选取的语音信号特征参数的维度和阶数有关。本文中每个语音信号都得到相应的12个4维一阶MFCC系数,故输入层的节点数为12×4=48。

3) 输出层节点数:输出层的节点数取决于输出数据的类型和表示该类型所需的数据大小。当BP网络用于语音识别时,以二进制形式来表示不同的识别结果,则输出层的节点数可根据训练模板的语音数来确定。本文设定输出节点数为10,分别对应于0~9这10个数字。

4) 隐层节点数:通过采用一个隐层,增加其神经元数的方法来达到网络训练精度的提高,这在结构上,要比增加更多的隐层简单的多。但究竟选取多少个隐层节点才合适?在理论上并没有个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当的加上一点余量[4]。一般可利用下面式子决定:

n1=■+a(3)

其中n1为隐层节数;m为输入节点数;n为输出节点数;a为取1~10的常数。本实验中输入节点数为48,输出节点数为10,a选取为常数4,因此隐层节点数n1=12。

5) 初始权值:由于系统是非线性的,初始值对于学习是否达到局部最小、是否能收敛以及训练时间的长短关系很大。一般总是希望经过初始加权后的每个神经元的输出值都接近于零。所以,一般取初始值在(-1,1)之间的随机数。

6) 学习速率与期望误差的选取:学习速率决定每一次循环训练中所产生的权值变化量。小的学习速率虽然会导致收敛速度慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小值。所以,一般情况下,学习速率的选取范围在0.01~0.8之间。期望误差0.000001。

解决了上述几个方面的问题后,本文采用三层结构神经网络,如图2所示:输入层各节点将输入信号经权重藕合到隐层的每个节点,隐层各节点对来自前一层的信号加权,经激发函数转换后再藕合到输出层。

4 基于遗传神经网络的语音识别

本文研究引用遗传算法对网络的初始连接权值进行优化处理,用BP算法完成给定精度的学习。

4.1 个体编码方案

编码对于网络进化过程的性能和效率影响很大,因此,编码技术是连接权值进化过程中学解决的首要问题和关键步骤。本文中考虑到BP网络的节点数和结构已经固定,可以采用实数编码方案,将网络的权值和各节点的阀值依此排列得到一个向量。

假设一个具有m个节点的n层BP网络,如果第i个节点对应的权值分别为vi(vi[-1,+1]),则一个个体用实数向量表示为X=(v1,v2,…vm)。

4.2 适应度函数的选择

一个网络连接权值优劣的标准,是根据网络对一组输入得到的实际输出与期望输出之间的误差大小来制定的。BP网络中误差平分和小,则表示该网络性能比较好。本文中适应度函数为:

f(x)=■(4)

其中,E为神经网络的输出误差,即:

■(5)

其中n为学习样本总数,yk,■k为第k个个体的期望输出和实际输出向量。

4.3 进化参数

连接权的进化过程中所涉及到的主要进化参数有:种群规模、交叉率、变异率和进化代数等等。交叉是最主要的进化操作,交叉率是指各代中交叉产生的后代数与种群规模之比。常用的交叉率取值范围为0.6~1.0。变异率是指种群中变异的基因数占总基因数的比例,其值控制了新基因引入的比例。常用变异率的数量级范围为0.1~0.001。 种群规模是连接权进化过程首先需要确定的参数,是算法会否陷入局部解的主要影响因素。综合考虑BP网络的初始连接权值和交叉率、变异率的选择,这里选择种群规模为50。

5 仿真实验结果

仿真实验为针对非特定人的孤立数字词语音识别。语音数据由二男二女(0到9共10个数字的普通话发音)通过PC话筒输入,每个音每人发20遍,共计1000次发音,其中以每人每个音的前10次作训练样本,后10次作测试样本,录音环境为安静实验室,采样频率为11.025kHz。

经过反复实验,不断改善实验环境,基于演化神经网络的识别得到了相对较高的识别率。对实验结果分析可知,结合了GA算法的BP网络通过GA全局搜索得到一个权值最优解,只迭代了151次便使得误差值为0.000001 ,而普通BP算法要迭代517才能勉强达到期望误差,由此可知,结合了GA算法的BP网络避免了局部极小,减低了学习速率,提高了收敛速度。

表1 基于遗传神经网络与普通BP网络语音识别系统对比表

通过表1对比可知,基于演化神经网络识别算法的语音识别系统无论是在训练时的收敛速度还是在最后的识别率上,都要优于普通的BP网络语音识别系统。

6 结论

语音信号处理和神经网络均是目前研究的热点,文章主要针对语音识别的特点,结合人工智能领域两种比较有效的方法――BP网络和GA算法,构建了一种基于遗传神经网络的语音识别算法。仿真实验结果表明,该算法避免了传统BP算法容易陷入局部极小的缺点,减低了训练时间,有效的提高了系统识别率。

参考文献:

[1] 赵力.语音信号处理[M].北京:机械工业出版社,2003.

[2] 蔡莲红,黄德智,蔡锐.现代语音技术基础于应用[M].北京:清华大学出版社,2003.

[3] 易克初.语音信号处理[M].北京:国防工业出版社,2000.

[4] 孙宁,孙劲光,孙宇.基于神经网络的语音识别技术研究[J].计算机与数字工程,2005,34(3):58-61.

[5] 何英.Matlab扩展编程[M].北京:清华大学出版社,2002.

第9篇:神经网络前向传播算法范文

关键词:BP神经网络;预测模型;METLAB仿真实验

中图分类号:F27

文献标识码:A

文章编号:16723198(2015)23006701

1 引言

人工神经网络(Artificial Neural Networks,简写为ANNs)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。20世纪80年代,美国物理学家J.J.Hopfield建立全互连神经网络模型,以及Rumelhart,McClelland等学者提出反向传播(Back Propagation,简称BP)学习算法,人工神经网络的研究才获得了飞速发展,目前,对人工神经网络理论的应用已渗透到多个领域,如在智能控制、模式识别、自适应滤波和信号处理、传感技术和机器人、非线性优化、知识处理、生物医学工程、金融预测和管理等方面都取得了令人鼓舞的成果。

本文在前人研究的基础之上,通过搜集相关的数据,建立BP神经网络模型并通过MATLAB仿真实验得出预测的结果对于郑州市政府和市民在进行房地产管理和购房上面提供了一定的参考和决策依据,从这方面来说本文具有一定的现实意义。

2 基于动量BP算法的神经网络模型构建

2.1 BP神经网络结构

在人工神经网络的实际应用中,80%-90%的人工神经网络模型都是用的BP神经网络(图1)或者是它的变形形式,它也被称为是前向网络的核心部分。

2.2 房价预测模型构建

经济因素,主要是国家、地区或城市的经济发展水平、经济增长状况、产业结构、就业情况、居民收入水平、投资水平、财政收支、金融状况。这些因素会影响房地产市场的总体供求,特别是影响需求;社会因素,包括人口、家庭、城市化状况等。其中,人口因素包括人口的数量、密度、结构(如文化结构、职业结构、收入水平结构等);影响房价的因素还有很多,比如房地产自身及其周边环境状态,建筑物的外观、设备配置状况等。但在建立BP神经网络预测模型的时候,这些因素不容易被量化,无法纳入模型的训练样本中。在本文的模型构建中,选取5个(地区GDP、人均可支配收入、常住人口数、房产开发投资、居民CPI)与房价密切相关的因素作为模型的输入变量。

本文使用动力BP算法计算出2015年的数据,即根据2004和2005年的数据预测2006年的数据,以此类推来预测2015年的数据。

3 实证分析

为了提高算法训练速度和灵敏性,现将数据进行归一化处理。利用MATLAB软件建立BP网络,输入

样本数据,初始化Epochs值和精度值,设置最大迭代

次数和误差,并设置动量因子mc、学习率。应用sim函数进行仿真,最后对结果进行反归一化。

由上图可以看出,网络在经过8次训练之后,误差低于0.1,迭代进行到12次之后,误差达到预期的目的,网络停止训练。利用编好的程序,预测2012和2013年的房价,由于2012和2013年的房价已经公布,因此可以将预测得到的值与实际值进行比较,得到表2。

通过比较可知,2013、2014年对房价预测的误差在训练要求的范围内,通过MATLAB软件进行预测得到2015年的房价为10068元/平方米。

4 结论及展望

(1)通过以上结果可以看出,利用动量BP算法进行房价的预测是有良好效果的。

(2)文中只选取了对房价影响较为重要的5个因素作为输入变量,在以后的研究中,可以考虑把较为重要的其他因素考虑进去,看看考虑多方面因素是否能够提高BP神经网络对房价预测的精准度。

参考文献

[1]TsungJung Hsieh,HsiaoFen Hsiao,WeiChang Yeh.Forecasting stock markets using wavelet transforms and recurrent neural networks:An integrated system based on artificial bee colony algorithm[J].Applied Soft Computing,2011,(11).

[2]Pan Zhili,Huang Zhongmin,Wang Na,etal.Prediction of shelf life for quickfrozen dumping based on BP neural network and effective accumulated temperature theory[J].Transactions of the Chinese Society of Agricultural Engineering,2012.

[3]Melike Bildirici.Improving forecasts of GARCH family models with the artificial neural networks:An application to the daily returns in Istanbul Stock Exchang[J]. Expert Systems with Applications,2009.

[4]Chunqiao Mi,Jianyu Yang,Shaoming Li,etal.Prediction of accumulated temperature in vegetation period using artificial neural network[J].Mathematical and Computer Modelling,2010.

[5]朱英.改进的BP神经网络预测模型及其应用[J].武汉理工大学学报(交通科学与工程版),2012.

[6]柳冬,王雯B,谢海滨等.我国房地产价格影响要素分析与趋势预测[J].管理评论,2010.

相关热门标签