基于遗传算法改进BP神经网络的短期风电功率预测研究 - 图文(5)

2019-03-15 22:21

向传播学习算法,即误差反向传播算法,称为BP学习算法。据统计,目前80%至90%的神经网络模型是采用BP网络或者它的变化形式。BP网络是一种单向传播的多层前向网络,结构如图2.6所示。

反向传播

输入参数x1,?1 输出y1 输入参数x2,?2 ???输出y2 输入参数xn,?n 输入层

从图中可知,BP网络一般具有三层或三层以上,包括输入层、中间层(即隐含层,可为一层或多层)和输出层(图2.6是三层网络)。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,构成具有层次结构的前馈犁神经网络系统。BP神经网络学习过程分正向传播和反向传播,即信息的正向传播和误差的反向传播两个过程组成。在正向传播过程中,输入层各神经元负责接收来自外界的输入信息,并传递给中层各神经元:中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。通过网络将误差信号沿原来的连接通路返回,同时修改各层神经元的权值直至达到期望目标。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直到网络输出的误差减小到可以接受的程度,或者预先设定的学习的次数为止。

BP网络学习规则的指导思想是:对网络权值和阈值的修正要沿着表现函数下降最快的方向—负梯度方向。

xk?1?xk??kgk式中:xk为当前的权值和阈值的矩阵,gk为当前表现函数的梯度,?k为学习速度

20

隐含层

图 2.6 BP神经网络的结构图

输出yn 输出层

(2.28)

2.3.3.2 BP神经网络的学习过程

结合本文的需求,就以三层BP网络为例,若输入层节点xi,隐层节点sj,输出节点yl,输入节点于隐层节点的网络权值为wji,隐层节点一输出节点间的网络权值为vlj。当输出节点的目标值为tl时,模型的计算公式如下[9]:

输出节点的输出:

yl?f(netl)netl?l?1,2,?,ll?1,2,?,l?vjljyj??l (2.29)

隐层节点的输出:

yj?f(netj)netjj?1,2,?,j??j??wlljj?1,2,?,j (2.30)

以上两式中,转移函数一般都用单极性Sigmoid函数:

f(x)?11?e?x (2.31)

当网络输出与期望输出不等时,输出误差E定义如下:

E?12?(tl?zl) (2.32)

l2将上式误差定义展开到隐含层,则有

E?12?[tl?f(netj)]?l212?[tl?f(vljyj??l)] (2.33)

l2再将上式误差定义展开到输出层,则有

E?12?[tl?f(vljyj??l)]?l212?[tl?f(vljf(?wjixi??i)??l)] (2.34)

li2由上式可以看出,网路误差是个层次权值的函数,因此,调动权值可以改变误差E。显然,调整权值的原则是使误差不段的减小,一个简单而又常见的方法是梯度下降法,使权值的调整量于误差的负梯度成正比,即:

?E??w???jl??wjl? (35) ???v????ELj??vLj?

21

式中:负号表示梯度下降,而常数??(0,1)表示学习速率。

将样本提供给网络,按上述过程培训,预先设定误差E的大小,当训练结果与目标值之差小于预先设定的误差限时,网络收敛,训练结束。若训练次数已达到预设的最大训练次数,训练终止,网络无法收敛。学习过程结束。

从上述式子可以看出,误差传播过程是反向的,根据误差反馈,逐次训练,直到满足条件,或者训练到最大次数终止。虽然BP网络得到了广泛应用,但也存在很多缺陷,因为神经网络的建立本身上就是一个不断尝试的过程,BP网络的层数和每一层结点个数都是需要不断地尝试来改进的。另外,对于神经网络的学习过程来说,固然已经有很多已经成形的学习算法,但这些算法在数学计算上都比较复杂,过程也很繁琐,容易出错,针对BP神经网络而言,还有学习速率的不变性,导致网络收敛速度很慢,训练时间加长;若问题复杂,则训练所需要的时间可能会非常长。常常用改进方法,诸如用变学习速率或自适应学习速率。

BP训练方式分为单样本训练和批训练两种,实用中大都采用批训练方式来训练网络,本文章节采用的批训练BP算法流程也大同小异,流程图如下所示: 2.3.4 BP神模型经网络对风电功率的预测的建立

因为BP网络是由输入层、隐含层和输出层构成的单向传播的多层前向网络,为此设计BP网络,则需确定这几层的相关参数,同时也需要确定相互连接层之间的传递函数。根据BP网络的特点,预测问题都可以通过单隐层的BP网络实现。所以本文采用的神经网络结构为三层BP网络,所用数据为预测数据之前的所有数据,通过分析,决定采用8个数据作为一组,因为考虑相邻时刻的值之间突变可能性较小,所以采用2小时内的8个数据作为一组,用前7个数据预测下一个数据,因此输入变量就是一个7维的向量,第8个数据即是目标输出量。这样一来,2012个数据便分成了252组数据。由于确定了输入参数的维数,输入向量有7个,所以网络输入层的神经元有7个,根据Kolmogorov定理,可知网络中间层即隐含层的神经元可以取15个,即2n +l法,输入参数个数的2倍加1。输出向量是1个,所以输出层的神经元只有1个。另外网络隐层的神经元传递函数采用S型的tansig函数,输出层的神经元传递函数采用线性purelin函数。利用以下代码创建一个满足上述要求的BP网络[10]:

net?newff([minmax(pp)],[15,1]{'tansig','purelin'},'trainlm')

其中:pp是输入向量,'trainlm'表示设定网络的训练函数为trainlm它采Levenberg.Marquardt算法进行网络学习。训练网络有写参数可按具体模型要求设定,也可按网络默认值进行。因为这里选取的功率预测功率训练,模型相对简单,除了预设误差限之外,网络其他参数按默认值训练。将训练后的网络用于测试,上述的252组数据,其中的训练网络数据用前15组,后25组数据作为测试分析。 2.3.5 BP神经网络对风电功率的预测方法的求解

22

运用Matlab编程求解(附录6),得到6组预测量(PA,PB,PC,PD,P4,P58)分别在预测时间范围5月31日0时0分至5月31日23时45分与5月31日0时0分至6月6日23时45分的预测值。本文以5月31日0时0分为编号①,0时15分为编号②,以此类推,列出这天前56个预测值,同理,本文在求解b类时,以6月5日0时0分为编号①,0时15分为编号②,给出这天前56个预测值。结果如下(表2.5),其它见附录7.

表 2.5 BP神经网络预测法得出的部分预测值

PC在5月31日前40个预测值 304.02 308.96 362.75 385.25 298.26 348.44 381.76 251.72 410.74 424.69 599.57 607.91 440.40 605.44 341.63 94.08 123.07 99.27 1.696 -11.31 -9.35 31.50 47.37 43.96 42.83 55.82 52.42 76.27 94.23 74.87 87.55 59.50 57.59 46.01 40.39 50.11 61.42 77.90 87.76 102.36 91.62 108.74 169.12 144.78 258.76 P58在6月5日前40个预测值 3425 2110 1589 1992 2167 2039 1397 829 638 172 98 59 158 230 2570 3900 4490 3070 1519 1345 1111 975 1125 1858 1990 1431 443 144 134 214 222 238 280 260 279 266 267 276 276 286 302 286 282 272 276 BP网络预测输出900800700预测输出期望输出 函数输出(功率/kw)6005004003002001000-100 0102030405060708090100样本(个数)

图 2.7 BP神经网络对PC的预测对比图

23

BP网络预测绝对误差400300200绝对误差(功率/kw)1000-100-200-300-400-5000102030405060708090100样本(个数)

图 2.8 BP神经网络对PC的决定误差分析图

x 104BP网络预测输出 预测输出期望输出3.532.5函数输出(功率/kw)21.510.50 0102030405060708090100样本(个数)

图 2.9 BP神经网络对P58的预测对比图

24


基于遗传算法改进BP神经网络的短期风电功率预测研究 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:网络热词激活沉寂的汉语

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: