非线性系统的神经网络辨识

  • 格式:doc
  • 大小:300.00 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《热动力系统动态学》课程论文

题目:基于BP神经网络对电力系统负荷的预测控制学院:动力工程学院

专业:动力工程及工程热物理

姓名:赵乾学号:20091002055

指导教师:杨晨(教授)

成绩:

2010年7月30日

基于BP神经网络对电力系统负荷的预测控制摘要:电力系统的负荷曲线受很多因素的影响是一个非线性的函数,该文文献提出应用BP神经网络对电力负荷系统的预测控制,来抽取和逼近这种非线性函数。通过MATLAB仿真实验得到,对电力系统的短期负荷预测与实际负荷之间的误差很小,具有很好的应用前途。

关键词:BP神经网络,预测控制,电力负荷

引言

随着智能控制理论研究的不断深入及其在控制领域的广泛应用,神经网络[1]、遗传算法[2-3]模糊理论[4]等方法被应用于系统模型预测和辨识。其中,由于BP神经网络 (Back Propagation,BP)由于具有非线性逼近能力强,网络结构简单,学习速度快等优点已被广泛应用于对非线性系统的建立和预测。电力系统负荷的预测对电力系统和电厂设备的控制、运行和计划都有着重要的意义。电力系统负荷的变化一方面有未知不确定因素引起的随机波动,另一方面又具有周期变化的规律,使得负荷曲线具有相似性,而神经网络具有较强的非线性映射能力,能对负荷的变化具有很好预测性。

1.BP神经网络辨识理论基础

BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。1.1BP算法内容

基本BP 算法包括两个方面:信号的前向传播和误差的反向传播。即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行[6]。

图1 BP 网络结构

图中:j x 表示输入层第j 个节点的输入,j =1,…,M ;

ij w 表示隐含层第i 个节点到输入层第j 个节点之间的权值;

i θ表示隐含层第i 个节点的阈值;

()x φ表示隐含层的激励函数;

ki w 表示输出层第k 个节点到隐含层第i 个节点之间的权值,i =1,…,q ; k a 表示输出层第k 个节点的阈值,k =1,…,L ;

()x ψ表示输出层的激励函数;

k o 表示输出层第k 个节点的输出。

根据信号的前向和反向的过程传播式的最后推导出最后式子为下面四个式子

1.输出层权值调整公式:

()11()'P L

p p ki k k k i p k w T o net y ηψ==∆=-⋅⋅∑∑ (1-1)

2.输出层阈值调整公式:

()11()'P L

p p k k k k p k a T o net ηψ==∆=-⋅∑∑ (1-2)

3.隐含层权值调整公式:

()11()'()P L p p ij k k k ki i j p k w T

o net w net x ηψφ=='∆=-⋅⋅⋅⋅∑∑ (1-3)

4.隐含层阈值调整公式:

()11()'()P L p p i k k k ki i p k T

o net w net θηψφ=='∆=-⋅⋅⋅∑∑ (1-4)

算法的流出图为如下图二所示:

图2 BP 算法程序流程图

1.2 BP 算法的不足

BP 算法因其简单、易行、计算量小、并行性强等优点,目前是神经网络训练采用最多也是最成熟的训练算法之一。其算法的实质是求解误差函数的最小值问题,由于它采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权值,因而通常存在以下问题[5]:

(1)学习效率低,收敛速度慢

首先,BP 算法是利用误差函数对权值的一阶导数信息来指导权值调整,以求最终误差达到最小。在执行过程中,网络参数每次调整的幅度,均以一个与网络误差函数或其对权值的导数大小成正比的项乘以固定的因子进行。这样,在误差曲面曲率较高处,这一偏导数值较大,网络参数调整的幅度也大,以至于在误差函数最小点附近会发生过调整现象,使权值调节路径变为严重的锯齿形,难以收敛到最小点.为保证算法的收敛性,学习速率必须很小。这样在误差曲面较平

坦处,由于偏导数值本身已很小,网络参数调节的幅度就更小,以至于需要经过多次调整才能将误差函数曲面降低。这是BP 算法学习速度慢的一个重要原因.

(2)易陷入局部极小状态

BP 算法是以梯度下降法为基础的非线性优化方法,不可避免地存在局部极小问题。且实际问题的求解空间往往是极其复杂的多维曲面,存在着许多局部极小点,更使这种陷于局部极小点的可能性大大增加。通常,在BP 算法中随机设置初始权值时,网络的训练一般较难达到全局最优。

1.3算法的改进

针对BP 算法学习效率低,收敛速度慢的缺陷,目前已有许多学者对其进行改进[55][56],如采用增量可调法,原有BP 算法中网络调整参数学习速率为一固定值是使其收敛速度慢的主要原因。

采用改进的自适应学习速率方法,可以得到更快的收敛速度,在反向传播修正权值和阈值的过程中,针对某个特定的权值或阈值进行具体的调整。以ki w 为例,若误差E 对隐含层权值的一阶导数为()

ki K E w ∂∂与其上一步的一阶导数(1)

ki K E w ∂∂-符号相同,说明根据此参数变化的方向在误差曲面上是可以继续按照这个趋势调整的。也就是说可以进一步增大学习速率,以使其可以以更快的速度按照此方向调整相应的权值或与阈值。反之如果异号,则表示在此权值或阈值方向越过一个局部极小点,为避免振荡,需要适当减小学习速率,减小修改幅度。在一步修改完成后,如果全局误差变化较大,表明调整量过大,跨过了误差变化激烈区域某些较窄的坑凹处,这时应该减小所有的学习速率,同时放弃本次对所有参数的修正,以确保不会跨过该坑凹处,同时避免振荡。具体调整方法如下:

(1) 当()(1)K K E E <-时:

① 0()(1)

ki ki K K E E w w ∂∂⨯≥∂∂-时,()(1)ki ki w w K K im ηη=-⨯,dx c =; (1-5) ②

0()(1)ki ki K K E E w w ∂∂⨯<∂∂-时,()(1)ki ki w w K K dm ηη=-⨯,dx c =; (1-6)