一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于神经网络的经济预测方法与流程

2022-06-05 18:17:08 来源:中国专利 TAG:


1.本发明涉及经济预测技术领域,具体涉及一种基于神经网络的经济预测方法。


背景技术:

2.国内生产总值(grossdomesticproduct,简称gdp)是衡量国民经济发展情况最重要的一个指标,也是经济运行状况的综合反映。准确地预测gdp或区域生产总值,为经济发展提供政策参考,具有重要的现实意义。
3.gdp预测是对gdp时间序列的预测,而gdp时间序列是特殊形式的一组数据,在这组数据中前面的数据对后面的数据会产生影响,这种影响关系表现为一定的趋势变化或周期变化等。而该影响关系一般是非线性的,很难建立定量的、固定的数学关系式。目前,对于经济预测主要有线性预测方法和非线性预测方法,如平滑法、德尔斐法、马尔科夫预测、灰色预测、经济计量模型预测等等。经济系统是一个非常复杂的系统,其中广泛存在着非线性、时变性和不确定作用关系。在计量经济学基础上建立的各种经济模型,大部分都是线性模型。线性模型在发挥巨大作用的同时,也逐渐显露出它的缺陷,即很难把握经济系统中的非线性现象,因而必然造成经济预测的误差加大。而人工神经网络则可以有效地解决此类问题,理论上人工神经网络可以逼近任意非线性函数并可以随机调整。但目前,尚没有使用神经网络来预测非线性经济的方案。


技术实现要素:

4.本发明以提高经济预测的准确性为目的,提供了一种基于神经网络的经济预测方法。
5.为达此目的,本发明采用以下技术方案:
6.提供一种基于神经网络的经济预测方法,步骤包括:
7.s1,构建经济预测指标体系;
8.s2,获取所述指标体系下的每个指标对应的经济数据;
9.s3,对获取的经济数据作数据归一化处理;
10.s4,确定bp神经网络的隐含层神经元个数;
11.s5,以经步骤s3作数据归一化处理后的经济数据为所述bp神经网络的训练样本,并利用搜索较优步长算法在网络训练的每次迭代中自适应搜索步长,最终训练得到经济预测模型;
12.s6,将获取的经济数据输入到所述经济预测模型中,模型输出经济预测结果;
13.步骤s4中,确定所述bp神经网络的隐含层神经元个数的方法步骤包括:
14.s41,确定隐含层神经元个数n的选取范围为:n1≤n≤n2,n为整数;
15.s42,取n=n1,然后计算评价所述bp神经网络的经济预测性能的参数的参数值,记为m
se1

16.s43,取然后计算评价所述bp神经网络的经济预测性能的参数的参数
值,记为m
se2

17.s44,判断m
se1
是否小于m
se2

18.若是,则令步骤s41中的选取范围中的确定n的新的选取范围为
19.若否,则令步骤s41中的选取范围中的确定n的新的选取范围为
20.步骤s45,判断所确定的新的选取范围中的n1是否小于n2,
21.若是,则返回步骤s42;
22.若否,则将最终得到的n作为所确定的所述bp神经网络的隐含层神经元个数。
23.作为优选,步骤s41中的n1、n2的初始值通过以下公式(2)-(6)中的任意一个或多个公式计算确定:
24.n
hid
=2
×nin
公式
ꢀꢀ
(2)
[0025][0026][0027][0028]nhid
=log2n
in
公式
ꢀꢀ
(6)
[0029]
公式(2)-(6)中,n
hid
表示初始的n1或n2;
[0030]nin
表示所述bp神经网络的输入层的神经元数量;
[0031]nout
表示所述bp神经网络的输出层的神经元数量;
[0032]ntrain
表示所述bp神经网络的训练样本数;
[0033]
r为常数。
[0034]
α为常数。
[0035]
作为优选,r为≥5且≤10中的任意一个自然数。
[0036]
作为优选,α为≥1且≤10中的任意一个自然数。
[0037]
作为优选,所述指标体系包括物质资本、劳动要素、人力资本、技术水平中的任意一个或多个一级指标,以及
[0038]
一级指标“物质资本”下的资金投入、生产投入、发展环境中的任意一个或多个二级指标;一级指标“劳动要素”下的劳动力存量、劳动力增量、劳动力效率中的任意一个或多个二级指标;一级指标“人力资本”下的教育投入、工资报酬中的任意一个或多个二级指标;一级指标“技术水平”下的技术创新、产业创新中的任意一个或多个二级指标,以及
[0039]
二级指标“资金投入”下的固定资产投资额、政府采购项目总额、上市企业并购金额、新增上市企业注册资本、金融机构贷款中的任意一个或多个三级指标;二级指标“生产投入”下的全社会用电量、港口货物运输总量、机场货物运输总量、高速公路货车流量中的任意一个或多个三级指标;二级指标“发展环境”下的出口总额、上市企业市值、上市企业利润、工业品出厂价格指数、采购经理人指数、中小企业景气指数中的任意一个或多个三级指
标;二级指标“劳动力存量”下的全社会从业人员数、企业参保人数中的任意一个或多个三级指标;二级指标“劳动力增量”下的新增就业人数、新设企业数、企业招聘岗位数中的任意一个或多个三级指标;二级指标“劳动力效率”下的全社会劳动上产率这一三级指标;二级指标“教育投入”下的财政教育支出、财政科学技术支出、财政文化体育与传媒支出中的任意一个或多个三级指标;二级指标“工资报酬”下的人均可支配收入这一三级指标;二级指标“技术创新”下的专利申请数、专利授权数、论文发表数量、软著登记数量中的任意一个或多个三级指标;二级指标“产业创新”下的高新技术产业增加值、战略性新兴产业增加值、新产品产值中的任意一个或多个三级指标。
[0040]
作为优选,步骤s3中,通过以下公式(1)对获取的经济数据作数据归一化处理:
[0041][0042]
公式(1)中,x表示原始的经济数据;
[0043]
x
mean
表示原始的经济数据的均值;
[0044]
σ表示原始的经济数据的标准差。
[0045]
作为优选,步骤s5中,训练所述经济预测模型的方法步骤包括:
[0046]
s51,设置或计算所述bp神经网络的变量与参量,所述变量包括所述bp神经网络的输入向量xk和样本序号c,xk=[x
k1
,x
k2


,x
km
],k=1,2,

,n,n表示训练样本的个数,x
km
表示输入向量xk中的第m个元素,c=1,2,

,n;所述参量包括学习速率η、迭代次数n、步长搜索向量ηl=[ηl1,ηl2,

,ηl
l
]、随机标志flag、第n次迭代时输入层与隐含层之间的权值向量w
mi(n)
、第n次迭代时隐含层与输出层之间的权值向量w
ip(n)
、第n次迭代时网络的实际输出向量yk(n)=[y
k1
(n),y
k2
(n),

,y
kp
(n)]、期望网络输出向量dk=[d
k1
,d
k2


,d
kp
]以及网络预测允许误差ε,l表示步长搜索向量ηl的元素个数;p表示网络实际输出向量yk(n)或期望网络输出向量dk的元素个数;
[0047]
s52,参量初始化,令w
mi(n)
=w
mi(0)
,令w
ip(n)
=w
ip(0)
,并赋予w
mi(0)
、w
ip(0)
相对应的随机非零值,并令flag=true;
[0048]
s53,判断flag是否为true,
[0049]
若是,则为当前输入到所述bp神经网络的样本xk赋予1,2,

,n中的任意一个序号c,然后跳转到步骤s54;
[0050]
若否,则终止网络迭代训练;
[0051]
s54,对于输入的样本xk,前向计算所述bp神经网络的隐含层及输出层中的每个神经元的输入信号和输出信号,第n次迭代中,所述隐含层中的第i个神经元的输入信号和输出信号分别记为net
i(n)
和v
i(n)
,所述输出层中的第p个神经元的输入信号和输出信号分别记为net
p(n)
和y
p(n)

[0052]
s55,根据所述输出层中的每个神经元的输出信号y
p(n)
计算得到第n次迭代时网络的实际输出向量y
k(n)
后,结合设置的期望网络输出向量dk,计算第n次迭代时所述bp神经网络的预测误差,记为e
k(n)

[0053]
s56,判断e
k(n)
是否小于设置的所述允许误差ε,
[0054]
若是,则跳转到步骤s60;
[0055]
若否,则转入步骤s57;
[0056]
s57,判断当前迭代训练次数是否达到预设的允许迭代次数,
[0057]
若是,则跳转到步骤s60;
[0058]
若否,则对输入的所述样本xk反向计算所述bp神经网络中的所述隐含层与所述输出层中的每个神经元的局部梯度,然后转入步骤s58,第n次反向计算中,所述隐含层中的第i个神经元的局部梯度记为δ
i(n)
,所述输出层中的第p个神经元的局部梯度记为δ
p(n)

[0059]
s58,根据设置的所述步长搜索向量ηl、期望网络输出向量dk以及所计算的第n次迭代时的w
mi(n)
、w
ip(n)
、学习速率η(n)、局部梯度δ
i(n)
、8
p(n)
、输出信号v
i(n)
、输入向量xk中的第m个元素x
km(n)
,计算所述bp神经网络针对所述样本xk的预测误差e
kl(n)
,并利用所述搜索较优步长算法搜索出n 1次迭代的步长;
[0060]
s59,判断第n 1次迭代时输入的样本xk中的k值是否等于或大于为所述样本xk赋予的序号c值,
[0061]
若k=c,则根据第一策略修正第n 1次迭代时的权值向量w
mi(n 1)
和w
ip(n 1)
,然后转入步骤s60;
[0062]
若k>c,则根据第二策略修正第n 1次迭代时的权值向量w
mi(n 1)
和w
ip(n 1)
,然后转入步骤s60;
[0063]
s60,判断第n 1次迭代时的k值是否等于n,
[0064]
若是,则转入步骤s61;
[0065]
若否,则令k=k 1,然后返回步骤s53;
[0066]
s61,判断针对每个样本xk的所有预测误差e
kl(n 1)
是否都在预设的允许误差ε内,
[0067]
若是,则终止网络训练,输出所述经济预测模型;
[0068]
若否,则转入步骤s62;
[0069]
s62,判断步骤s55中计算的第n 1次迭代时所述bp神经网络的预测误差e
k(n 1)
是否小于等于第n次迭代时所述bp神经网络的预测误差e
k(n)

[0070]
若是,则令flag=false,然后返回步骤s53;
[0071]
若否,则重置k=1,并令flag=true,然后返回步骤s53。
[0072]
作为优选,步骤s54和步骤s55中,net
i(n)
通过以下公式(7)计算而得:
[0073][0074]vi(n)
通过以下公式(8)计算而得:
[0075][0076]
公式(8)中,i表示隐含层中的神经元个数;
[0077]
net
p(n)
通过以下公式(9)计算而得:
[0078][0079]
公式(9)中,p表示输出层中的神经元个数;
[0080]yp(n)
和v
p(n)
通过以下公式(10)计算而得:
[0081][0082]
作为优选,步骤s57中,δ
i(n)
通过以下公式(11)计算而得:
[0083][0084]
公式(11)中,i=1,2,

,i,i表示隐含层中的神经元个数;
[0085]
δ
p(n)
通过以下公式(12)计算而得:
[0086]
δ
p(n)

yp(n)
(1-y
p(n)
)[d
p-y
p(n)
]公式
ꢀꢀ
(12)
[0087]
公式(12)中,d
p
表示第p个神经元的期望输出;p=1,2,

,p,p表示输出层中的神经元个数。
[0088]
作为优选,步骤s58中,预测误差e
kl(n)
通过以下公式(13)计算而得:
[0089][0090]
公式(13)中,y
pl
通过以下公式(14)计算而得:
[0091][0092]
公式(14)中,net
pl
通过以下公式(15)计算而得:
[0093][0094]
公式(15)中,v
il(n)
通过以下公式(16)计算而得:
[0095][0096]
公式(16)中,net
il
通过以下公式(17)计算而得:
[0097][0098]
作为优选,步骤s58中,所述搜索较优步长算法搜索出n 1次迭代的步长的方法步骤包括:
[0099]
a1,将步长搜索向量ηl中的各个元素逐一代入到预测误差e
kl(n)
的计算公式中,并提取出e
kl(n)
最小时对应的元素ηl
l

[0100]
a2,通过以下公式(18)搜索出n 1次迭代的步长:
[0101]
η(n 1)=η(n)
×
ηl
l
公式
ꢀꢀꢀ
(18)。
[0102]
作为优选,步骤s59中,所述第一策略通过以下公式(19)-(20)修正权值向量w
mi(n 1)
和w
ip(n 1)

[0103]wmi(n 1)
=w
mi(n)
η(n 1)δ
i(n)
x
km(n)
公式
ꢀꢀꢀ
(19)
[0104]wip(n 1)
=w
ip(n)
η(n 1)δ
p(n)vi(n)
公式
ꢀꢀ
(20)
[0105]
公式(19)-(20)中,η(n 1)表示搜索出的第n 1次迭代的步长;
[0106]
所述第二策略通过以下公式(21)-(22)修正权值向量w
mi(n 1)
和w
ip(n 1)

[0107]wmi(n 1)
=w
mi(n)
η(n)δ
i(n)
x
km(n)
公式
ꢀꢀ
(21)
[0108]wip(n 1)
=w
ip(n)
η(n)δ
p(n)vi(n)
公式
ꢀꢀꢀ
(22)
[0109]
公式(21)-(22)中,η(n)表示搜索出的第n次迭代的步长。
[0110]
本发明具有以下有益效果:
[0111]
1、通过确定合适的隐含层神经元个数,既保证了模型训练的速度又保证了所训练的模型的性能;
[0112]
2、创新提出的搜索较优步长算法能够在每次迭代训练时自适应搜索合适的步长,在确保模型精度的前提下提升了模型训练的速度。
附图说明
[0113]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0114]
图1是本发明实施例提供的基于神经网络的经济预测方法的实现步骤图;
[0115]
图2是确定隐含层神经元个数的方法步骤图;
[0116]
图3是训练经济预测模型的方法步骤图;
[0117]
图4是自适应搜索步长的方法步骤图;
[0118]
图5是本发明实施例采用的bp神经网络的网络结构示意图。
具体实施方式
[0119]
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
[0120]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0121]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0122]
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0123]
典型的神经网络结构如图5所示,包含输入层、隐含层(可以有多层)和输出层。每一层当中包含很多存储数据的节点,称之为神经元,每一个神经元都与下一层所有神经元
连接,每一对连接都有对应的一个参数。这种连接维持了神经元之间信息的传递。当神经网络具有某种内部循环时,意味着被反馈到已经接收和处理该信号的的神经元或层。
[0124]
通常,输入层神经元的个数与特征数相关,输出层的个数与类别数相同,隐含层的层数与神经元个数均可以自定义。隐含层节点数的选择对网络性能影响很大,若节点数太少,网络获取的有用信息就少,容错性差;若节点数过多,不仅增加训练时间,而且会将样本中非规律性的内容存储进去,还可能会出现“过度吻合”问题,导致网络的泛化能力下降。因此,对于一个整体结构已经确定的神经网络来说,选取最优的隐含层神经元个数至关重要。
[0125]
另外,本发明中,对于经济的预测是通过一些已知历史数据对未来未知数据的取值进行估计。比如,设有历史数据xn,x
n 1
,,

,x
n m
,通过这些历史数据对n m k时刻的取值进行预测,即预测x
n m k
与历史数据的某种函数关系。对于神经网络来说,即用神经网络通过一组历史数据来拟合函数,得出未来n m k时刻的预测值。目前,采用神经网络的预测方法主要有以下3种:
[0126]
1、单步预测
[0127]
当k=1时,且网络的所有输入数据都是实际观测值时所做的预测就是单步预测。具体而言,在进行预测时,把实际的时序观测值xn,x
n 1


,x
n m
这m个历史数据输入到神经网络,网络输出下一时刻的预测值,即x
n m 1

[0128]
2、多步预测
[0129]
当k>1时,即网络输入xn,x
n 1
,,

,x
n m
这m个历史数据时,网络输出得到x
n m 1
,x
n m 2


,x
n m k
个预测值。
[0130]
3、滚动预测,又称迭代一步预测
[0131]
迭代一步预测是先进行单步预测,再将网络输出的预测值反馈给网络输入端作为输入的一部分,用于下一步的预测。比如,若开始预测时输入数据是实际的时序观测值xn,x
n 1


,x
n m
,网络输出是下一时刻的预测值x
n m 1
,然后将x
n m 1
与x
n 1
,x
n 2


,x
n m
一起作为输入数据对x
n m 2
进行估计,输出预测值,如此反复迭代预测,便得到未来一段时间的预测值。
[0132]
在神经网络算法中,当学习速率(步长)η较大时,权值的修改量就较大,学习的速率就比较快但有时可能产生振荡,即误差总不能小于某个特别小的值。当η取值较小时,学习的速率就比较慢,但一般比较平稳。因而在实际应用中,使得η随着输入环境状态的变化不断自动改变,即使得η具有自适应性,有利于在确保模型性能的同时兼顾模型训练的速度。但如何使得η具有自适应性成为经济预测模型训练中的一道难题。
[0133]
为此,本发明实施例提供了一种基于神经网络的经济预测方法,能够确定合理的隐含层神经元个数以及在网络迭代训练中使得η具有自适应性。该经济预测方法包括指标选取、数据处理、神经网络隐层节点个数的确定、模型构建、经济预测5个环节。指标选取根据柯布一道格拉斯生产函数进行;数据处理,则为在进行神经网络预测之前,为避免原始数据过大造成网络麻痹而对原始经济数据进行数据归一化处理;神经网络隐层节点个数的确定,则根据相关理论和实践确定神经网络隐层节点的个数;模型构建,则通过网络训练,拟合学习段时间序列,使其误差平方和达到最小;经济预测,则是利用训练好的经济预测模型对未来的经济值进行预测。
[0134]
具体地,本发明实施例提供的基于神经网络的经济预测方法,如图1所示,包括:步
骤s1,构建经济预测指标体系;本发明构建的经济预测指标体系请见下表a:
[0135]
[0136][0137]
表a
[0138]
步骤s2,获取指标体系下的每个指标对应的经济数据;
[0139]
步骤s3,对获取的经济数据作数据归一化处理;
[0140]
神经网络由输入样本与连接到第一隐层(隐含层)的初始权值进行内积运算得到第一隐层神经元的总输入,经非线性激励函数的作用后得到输出,此输出再作为下一层的输入,依次计算直至输出层得到网络的输出。但是如果神经元的总输入与阈值相距太远,由于各神经元的激励函数具有饱和非线性特性,会使得神经元的输出落在饱和区域,这样网络的实际输出要么为激励函数的最大值,要么为激励函数的最小值,使得输出的导数值将很小(趋于零)。从而会导致权值的修改量很小,不但学习速度缓慢,而且网络很难收敛。同时,小数值信息有可能被大数值信息所淹没。因此,在进行神经网络预测之前,为避免原始数据过大造成网络麻痹,要对原始数据进行数据归一化处理。
[0141]
本实施例中,通过以下公式(1)对获取的经济数据作数据归一化处理:
[0142][0143]
公式(1)中,x表示原始的经济数据;
[0144]
x
mean
表示原始的经济数据的均值;
[0145]
σ表示原始的经济数据的标准差。
[0146]
步骤s4,确定bp神经网络的隐含层神经元个数,确定方法如图2所示,具体步骤包括:
[0147]
步骤s41,确定隐含层神经元个数n的选取范围为:n1≤n≤n2,n为整数;
[0148]
n1、n2的初始值通过以下公式(2)-(6)中的任意一个或多个公式计算确定:
[0149]nhid
=2
×nin
公式
ꢀꢀꢀ
(2)
[0150][0151][0152][0153]nhid
=log
2 n
in
公式
ꢀꢀꢀ
(6)
[0154]
公式(2)-(6)中,n
hid
表示初始的n1或n2;
[0155]nin
表示bp神经网络的输入层的神经元数量;
[0156]nout
表示bp神经网络的输出层的神经元数量;
[0157]ntrain
表示bp神经网络的训练样本数;
[0158]
r为常数,r优选为≥5且≤10中的任意一个自然数。
[0159]
α为常数,α优选为≥1且≤10中的任意一个自然数。
[0160]
步骤s42,取n=n1,然后计算评价bp神经网络的经济预测性能的参数的参数值,记为m
se1

[0161]
步骤s43,取然后计算评价bp神经网络的经济预测性能的参数的参数值,记为m
se2

[0162]
s44,判断m
se1
是否小于m
se2

[0163]
若是,则令步骤s41中的选取范围中的确定n的新的选取范围为
[0164]
若否,则令步骤s41中的选取范围中的确定n的新的选取范围为
[0165]
步骤s45,判断所确定的新的选取范围中的n1是否小于n2,
[0166]
若是,则返回步骤s42;
[0167]
若否,则将最终得到的n作为所确定的bp神经网络的隐含层神经元个数。
[0168]
步骤s5,以经步骤s3作数据归一化处理后的经济数据为bp神经网络的训练样本,并利用搜索较优步长算法在网络训练的每次迭代中自适应搜索步长,最终训练得到经济预测模型;
[0169]
具体地,训练经济预测模型的方法如图3所示,包括:
[0170]
步骤s51,设置或计算bp神经网络的变量与参量,变量包括bp神经网络的输入向量xk和样本序号c,xk=[x
k1
,x
k2


,x
km
],k=1,2,

,n,n表示训练样本的个数,x
km
表示输入向量xk中的第m个元素,c=1,2,

,n;参量包括学习速率η、迭代次数n、步长搜索向量ηl=[ηl1,ηl2,

,ηl
l
]、随机标志flag、第n次迭代时输入层与隐含层之间的权值向量w
mi(n)
、第n次迭代时隐含层与输出层之间的权值向量w
ip(n)
、第n次迭代时网络的实际输出向量yk(n)=[y
k1
(n),y
k2
(n),

,y
kp
(n)]、期望网络输出向量dk=[d
k1
,d
k2


,d
kp
]以及网络预测允许误差ε,l表示步长搜索向量ηl的元素个数;p表示网络实际输出向量yk(n)或期望网络输出向量dk的元素个数;y
kp
(n)表示第n次迭代时第p个神经元实际输出的值;d
kp
表示期望第p个神经元输出的值;
[0171]
步骤s52,参量初始化,令w
mi(n)
=w
mi(0)
,令w
ip(n)
=w
ip(0)
,并赋予w
mi(0)
、w
ip(0)
相对应的随机非零值,并令flag=true;
[0172]
步骤s53,判断flag是否为true,
[0173]
若是,则为当前输入到bp神经网络的样本xk赋予1,2,

,n中的任意一个序号c,然后跳转到步骤s54;
[0174]
若否,则终止网络迭代训练;
[0175]
步骤s54,对于输入的样本xk,前向计算bp神经网络的隐含层及输出层中的每个神
经元的输入信号和输出信号,第n次迭代中,隐含层中的第i个神经元的输入信号和输出信号分别记为net
i(n)
和v
i(n)
,输出层中的第p个神经元的输入信号和输出信号分别记为net
p(n)
和y
p(n)

[0176]
net
i(n)
通过以下公式(7)计算而得:
[0177][0178]vi(n)
通过以下公式(8)计算而得:
[0179][0180]
公式(8)中,i表示隐含层中的神经元个数;
[0181]
net
p(n)
通过以下公式(9)计算而得:
[0182][0183]
公式(9)中,p表示输出层中的神经元个数;
[0184]yp(n)
通过以下公式(10)计算而得:
[0185][0186]
步骤s55,根据输出层中的每个神经元的输出信号计算得到第n次迭代时网络的实际输出向量yk(n)后,结合设置的期望网络输出向量dk,计算第n次迭代时bp神经网络的预测误差,记为e
kl(n)

[0187][0188]
步骤s56,判断e
k(n)
是否小于设置的允许误差ε,
[0189]
若是,则跳转到步骤s60;
[0190]
若否,则转入步骤s57;
[0191]
步骤s57,判断当前迭代训练次数是否达到预设的允许迭代次数,
[0192]
若是,则跳转到步骤s60;
[0193]
若否,则对输入的样本xk反向计算bp神经网络中的隐含层与输出层中的每个神经元的局部梯度,然后转入步骤s58,第n次反向计算中,隐含层中的第i个神经元的局部梯度记为δ
i(n)
,输出层中的第p个神经元的局部梯度记为δ
p(n)

[0194]
δ
i(n)
通过以下公式(12)计算而得:
[0195][0196]
公式(12)中,i=1,2,

,i,i表示隐含层中的神经元个数;
[0197]
δ
p(n)
通过以下公式(13)计算而得:
[0198]
δ
p(n)
=y
p(n)
(1-y
p(n)
)[d
p-y
p(n)
]公式
ꢀꢀ
(13)
[0199]
公式(13)中,d
p
表示第p个神经元的期望输出;p=1,2,

,p,p表示输出层中的神经元个数。
[0200]
步骤s58,根据设置的步长搜索向量ηl、期望网络输出向量dk以及所计算的第n次迭代时的w
mi(n)
、w
ip(n)
、学习速率η(n)、局部梯度δ
i(n)
、δ
p(n)
、输出信号v
i(n)
、输入向量xk中的第m个元素x
km(n)
,计算bp神经网络针对样本xk的预测误差e
kl(n)
,并利用搜索较优步长算法搜索出n 1次迭代的步长;
[0201]ekl(n)
通过以下公式(14)计算而得:
[0202][0203]
公式(14)中,y
pl
和通过以下公式(15)计算而得:
[0204][0205]
公式(15)中,net
pl
通过以下公式(16)计算而得:
[0206][0207]
公式(16)中,v
il(n)
通过以下公式(17)计算而得:
[0208][0209]
公式(17)中,net
il
通过以下公式(18)计算而得:
[0210][0211]
搜索较优步长算法搜索出n 1次迭代的步长的方法步骤如图4所示,包括:
[0212]
步骤a1,将步长搜索向量ηl中的各个元素逐-代入到预测误差e
kl(n)
的计算公式中,并提取出e
kl(n)
最小时对应的元素ηl
l

[0213]
步骤a2,通过以下公式(19)搜索出n 1次迭代的步长:
[0214]
η(n 1)=η(n)
×
ηl
l
公式
ꢀꢀ
(19)。
[0215]
步骤s59,判断第n 1次迭代时输入的样本xk中的k值是否等于或大于为样本xk赋予的序号c值,
[0216]
若k=c,则根据第一策略修正第n 1次迭代时的权值向量w
mi(n 1)
和w
ip(n 1)
,然后转入步骤s60;第一策略通过以下公式(20)-(21)修正权值向量w
mi(n 1)
和w
ip(n 1)

[0217]wmi(n 1)
=w
mi(n)
η(n 1)δ
i(n)
x
km(n)
公式
ꢀꢀꢀ
(20)
[0218]wip(n 1)
=w
ip(n)
η(n 1)δ
p(n)vi(n)
公式
ꢀꢀ
(21)
[0219]
公式(20)-(21)中,η(n 1)表示搜索出的第n 1次迭代的步长;
[0220]
若k>c,则根据第二策略修正第n 1次迭代时的权值向量w
mi(n 1)
和w
ip(n 1)
,然后转入步骤s60,
[0221]
第二策略通过以下公式(22)-(23)修正权值向量w
mi(n 1)
和w
ip(n 1)

[0222]wmi(n 1)
=w
mi(n)
η(n)δ
i(n)
x
km(n)
公式
ꢀꢀ
(22)
[0223]wip(n 1)
=w
ip(n)
η(n)δ
p(n)vi(n)
公式
ꢀꢀꢀ
(23)
[0224]
公式(22)-(23)中,η(n)表示搜索出的第n次迭代的步长;
[0225]
步骤s60,判断第n 1次迭代时的k值是否等于n,
[0226]
若是,则转入步骤s61;
[0227]
若否,则令k=k 1,然后返回步骤s53;
[0228]
步骤s61,判断针对每个样本xk的所有预测误差e
kl(n 1)
是否都在预设的允许误差ε内,若是,则终止网络训练,输出经济预测模型;
[0229]
若否,则转入步骤s62;
[0230]
步骤s62,判断步骤s55中计算的第n 1次迭代时bp神经网络的预测误差e
k(n 1)
是否小于等于第n次迭代时bp神经网络的预测误差e
k(n)

[0231]
若是,则令flag=false,然后返回步骤s53;
[0232]
若否,则重置k=1,并令flag=true,然后返回步骤s53。
[0233]
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本技术说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献