[0006] 带有遗忘因子的递归最小二乘法新的遗忘因子的选取往往需要根据具体的辨识对象由经验选取,在这个过程中需要通过大量的实验进行选取,耗费了大量的时间,基于此,本发明采用的kalman filter引入了一种新的传递概念,在每一步的更新估计的过程中,增加了噪声,通过kalman filter可以使得对多维泰勒网的输出结果的预测精确度提高。
[0007] 本发明大体包括三部分内容。第一部分结合神经网络对多维泰勒网的建模;第二部分,通过卡尔曼滤波对多维泰勒网的参数更新;第三部分,通过剪枝法对多维泰勒网的结构进行优化和参数更新,最后可以得到具备最优结构的多维泰勒网结构的网络训练参数。
[0008] 以某省电网1993~1999年的历史数据为例,输入数据是历史数据,将其作为训练样本在多维泰勒网中进行网络训练,得到相应的网络参数。然后对未来电荷进行短期的负荷预测值。建立未来一年的负荷预测模型为:
[0009] 样本的输入数据:
[0010]
[0011] 样本的输出数据:E(i,j)
[0012] 其中i表示月,j表示年,E(i,j)表示电荷量
[0013] 利用本发明可以提高多维泰勒网的参数训练效果使得输出结果的精度提高。在这样的基础上通过剪枝训练最后得到最优结构的网络模型,具体算法包括以下步骤:
[0014] 步骤1、系统建模,多维泰勒网的网络模型具备动态化的特点,在进行动态化建模的中,同时可以对多维泰勒网的输出多维向量进行自身的数据挖掘,从而达到建立网络模型来模型的一般非线性时变系统。多维泰勒网包括三层结构,采用前向单中间层结构,包括输入层、中间层和输出层,中间层表示多维泰勒网络的处理层,输入变量在中间层实现各幂次的乘积项单元的加权求和。中间层是由各个幂次乘积项单元和对应的权值向量w表示,其中w={w1,w2,...,wt,...,wN}表示连接层中间节点和网络输出层节点的连接权值向量,wt表示逼近展开式中第t个乘积项之前的权值。
[0015] 引理一:任何定义于一个闭区间的连续函数可以用多项式函数任意的准确逼近。
[0016] 引理二:对于定义于一个闭区间的连续函数f(x1,x2,...,xn)可以用逼近。其中N(n,m)为逼近式中乘积项的总项数,λt,i是展开式第t个乘积项变量xi的幂次。
[0017] 步骤1.1由引理(1)对神经网络隐含层激活函数进行泰勒展开。由于神经网络中的激活函数常选取sigmod函数,其结构形式为 故得其泰勒展开的形式如下:
[0018]
[0019] 上述结构形式的一般性描述如下:
[0020] f(x)=a0+a1x+a2x2+L+anxn+o(xn) (2)
[0021] 步骤1.2使用原始激活函数的n阶泰勒展开式替代原有激活函数,得到神经网络第j个隐含层节点输出,如式(3)所示:
[0022]
[0023] 其中,N(n,m)表示n元多项式m次幂展开后对应的多项式项数,a=1,2,L,n,ωt为各幂次乘积项对应的系数。
[0024] 步骤1.3将整个网络隐含节点的输出进行线性组合,作为神经网络的输出。故将神经网络的输出层输出描述成如下形式:
[0025]
[0026] 由引理(1)和引理(2)可知任意定义于闭区间的连续函数可以用多维泰勒网以任T n意的精度去逼近。设输入为n个节点x(k)={x1(k),x2(k),...xn(k),}∈R ,表示输入的电荷数据,y(k)表示实际电荷的真实值, 表示输出电荷预测值,中间层与输出层的连接权值T
wI(k)={w1(k),w2(k),...wn(k)},因此可以将(4)式改写为下列形式:
[0027]
[0028] 式中, 为第t个变量乘积项之前的权值,将多维泰勒网的输出模型转换为矩阵形式。
[0029]
[0030]
[0031] 步骤1.4定义如下目标函数:
[0032] J(wI)=E{wI|Y(1),Y(1)...,Y(M)} (8)
[0033] 已知观测序列Y(0),Y(1)...Y(M),找出w(k+1)的最优估计值
[0034]
[0035] 步骤1.5使得估计误差 的方差最小即
[0036]
[0037] 步骤2给出卡尔曼滤波在多维泰勒网的参数更新计算步骤,本发明采用卡尔曼滤波算法对参数进行估计,卡尔曼滤波引入了一种新的传递概念,在每一步的更新估计值的过程中,增加了噪声。卡尔曼滤波使用新的量侧值与之前的得估计值进行融合,相对于历史估计值的协方差而言,测量值具有更大的协方差,原因在于量侧值属于最新的信息。
[0038] 步骤2.1离线阶段求取多维泰勒网的初始的连接权值β
[0039] 极限学习机(ELM)的最大的特点就是相对于传统的神经网络,尤其为单隐层的神经网络,极限学习机比传统算法要快,MTN的结构和ELM的相似。其中ELM是把传统的BP神经网络的的隐含层输入权值以及偏置给随机初始化,从而只求解隐含层的的输出的权值,降低了算法的复杂度,并且隐含层的选取是和神经网络相同的。
[0040]
[0041] 其中式子(11)可以看做BP神经网络的模型结构,ELM是将BP神经网络的输入权值和偏置给随机初始化,而输出的偏置的为零,即ω和a为随机的常数,b=0,所以极限学习的结构写成下列形式:
[0042] Y=[y(1),y(2),...y(M)]T=H·B (12)
[0043] 其中H表示隐含层的输出B表示输出的权值,Y表示期望的输出。所以当输入的权重ωij与隐含层的偏置aj被随机给定,隐含层的矩阵就就被唯一的确定。隐含层和输出的权值β求解就转换为通过最小二乘求解的问题,可以求得最小二乘解:
[0044] min||Hβ‑Y|| (13)
[0045] 所以最优解为
[0046] 步骤2.2第二个阶段是在线序贯学习阶段,使用kalman filter来更新参数β。
[0047] 1:假设输出权重β是kalman filter中的状态x,则有
[0048] β(k+1/k)=β(k/k)+w(k) (15)
[0049] 这里,β(k+1/k)指的是预测状态,β(k/k)指的是k时刻的最优状态估计值。
[0050] 2:预测对应于β(k+1/k)的协方差矩阵P,即
[0051] P(k+1/k)=A(k+1/k)P(k/k)A(k+1/k)T+Q (16)
[0052] 这里,P(k+1/k)是对应于β(k+1/k)的协方差,而P(k/k)是对应于β(k/k)的协方差,Q指的是状态方程中的噪声的协方差矩阵。
[0053] 3:计算Kalman filter最优增益阵K(k+1),可得下式:
[0054] K(k+1)=P(k+1/k)HT(k+1)[H(k+1)P(k+1/k)H(k+1)T+R]‑1 (17)[0055] 4:基于预测的状态,当前状态 的最好估计可以被计算如下:
[0056]
[0057] 5:到目前为止已经获得了最优状态估计值 但是为了能够持续运行kalman filter实现在线序贯学习,仍需要更新 的协方差P,即:
[0058]
[0059] 6:重复(1)~(5),实现待估参数的迭代更新。
[0060] 步骤3基于剪枝法卡和尔曼滤波混合算法辨识步骤:
[0061] 步骤3.1为了实现最优结构的多维泰勒网在具备含有噪声干扰的非线性时变系统参数辨识,可以在kalman filter每一次迭代过程中嵌入改进权值的剪枝算法,去除冗余项,并保留重要的信息。辨识的策略可以分为离线和在线的两个阶段,离线状态无实时性要求所以可以多次迭代获得最佳泛化能力的网络,设目标函数的形式为:
[0062]
[0063] 步骤3.2其中上式子中右边第一项用来表示多维泰勒网的性能,其为k+1时刻所有训练样本误差的平方和;而第二项用来表示多维泰勒网的规模。其训练过程中权值调整为:
[0064]
[0065] 上式中, 当然通过卡尔曼滤波可以求得增益Kt(k+1)。
[0066] 通过IWE算法可以将MTN中间层的一些权值逐步的衰减到0附近,在离线阶段,假设中间层的权值趋近于0,那么就可以删除冗余节点,这样会保留网络中重要的信息。最后可以得到最优的网络结构的多维泰勒网。
[0067] 步骤3.3权值的调整和剪枝的步骤为:
[0068] a:规定初始化多维泰勒网的规模,并且初始化其权值。
[0069] b:用kalman filter和IWE(剪枝算法)混合算法的多维泰勒网模型进行训练,并且以(20)为目标函数;然后根据权值调整公式来调整权值,最终达到误差的精度要求。
[0070] c:删除多维泰勒网中间层的冗余信息的节点,最终得到具备最优结构和最佳泛化能力的多维泰勒网结构。
[0071] 步骤3.4在求得最优多维泰勒网结构的基础上,在线阶段,多维泰勒网的权值仅由kalman filter来进行调整,所以需要最小的瞬时目标函数为:
[0072]
[0073] 并通过权值的调整项从网络权值瞬时校正法则去除。
[0074] 步骤3.5在对网络输入到输出的中间层进行节点的参数调整后,在代入到卡尔曼滤波算法中进行参数的自适应更新,最后得到训练好的网络参数值。
[0075] 本发明的有益效果:在负荷电荷的预测中,基于多维泰勒网的卡尔曼滤波参数更新算法相比于带有遗忘因子的递归最小二乘算法,在每一步的更新估计中增加了噪声,卡尔曼滤波算法使用新的量测值和估计值进行融合可以更好的估计参数精度。附图说明:
[0076] 图1:传统的BP神经网络结构图;
[0077] 图2:多维泰勒网的结构图。