首页> 中国专利> 基于复数值前向神经网络的风速预测方法

基于复数值前向神经网络的风速预测方法

摘要

本发明公开了一种基于复数值前向神经网络的风速预测方法,包括:获取用于风速预测的训练集和预测集,构建复数值前向神经网络并初始化参数向量;在复数值前向神经网络训练的目标函数中引入GroupLasso正则化项,并将训练转化为约束优化问题的求解,采用训练集和定制复数值投影拟牛顿算法训练复数值前向神经网络,直到满足预设的条件结束训练,得到训练好的复数值前向神经网络,将预测集输入训练好的复数值前向神经网络得到风速预测结果。本发明通过引入GroupLasso正则化项和使用定制复数值投影拟牛顿算法训练复数值前向神经网络实现网络结构和参数的优化,使网络结构紧凑、泛化性能强,同时提高风速预测的准确性。

著录项

  • 公开/公告号CN113158582A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 苏州大学;

    申请/专利号CN202110565347.0

  • 发明设计人 黄鹤;董忠蓥;

    申请日2021-05-24

  • 分类号G06F30/27(20200101);G06N3/04(20060101);G06N3/08(20060101);G06F111/04(20200101);G06F113/08(20200101);

  • 代理机构32257 苏州市中南伟业知识产权代理事务所(普通合伙);

  • 代理人吴竹慧

  • 地址 215000 江苏省苏州市吴中区石湖西路188号

  • 入库时间 2023-06-19 11:57:35

说明书

技术领域

本发明涉及风速预测技术领域,具体涉及一种基于复数值前向神经网络的风速预测方法。

背景技术

相比于石油等一些传统的不可再生能源,风能作为一种绿色、环保的可再生能源吸引了越来越多人的关注,发展风能已经成为当前的一种趋势。但是,由于风速具有随机性和间歇性等特点,风速的不稳定性会对电网系统的安全性和稳定性构成威胁。因此,精确预测风速在风能开发中扮演着至关重要的角色。

目前,风速预测方法主要有基于天气预报数据的物理模型预测法和基于历史数据的风速预测法两种方法。然而,由于数值气象信息的缺乏,基于天气预报数据进行风速预测的物理模型和预测方法使用相对较少,因此更多的是利用历史数据预测风速的动态变化。基于历史数据预测风速的动态变化在风电场中得到了广泛的应用,其中常见的方法有通过人工神经网络、支持向量机和卡尔曼滤波等来预测风速的动态变化。

人工神经网络作为一种简单有效的建模方法具有优异的非线性映射和逼近能力,近年来被广泛地用于风速预测及与之相关的应用中。但是,在利用人工神经网络模型进行风速预测时,经常会出现由于网络结构设计不合理导致在风速预测中难以达到预期性能的情况。因此,对于人工神经网络方法而言,选择一个合适的网络结构就是一个急需解决的问题,其中最为简单的方法就是通过人工不断试错直至确定一个较为合适的结构,但是该方法既费时又费力。同时,为了获得合适的网络权值和偏置等参数,梯度下降法被广泛用于前向神经网络的训练过程中,但是梯度下降法容易出现陷入局部极小值、收敛速度缓慢等问题。因此,如何设计合适的训练方法寻找合适的网络结构和参数也值得进一步研究。

发明内容

为此,本发明所要解决的技术问题在于克服现有技术中的不足,提出一种可以同时实现网络结构和参数优化的基于复数值前向神经网络的风速预测方法。

为解决上述技术问题,本发明提供了一种基于复数值前向神经网络的风速预测方法,包括以下步骤:

步骤1:获取用于风速预测的数据并整理成数据集,将数据集分为训练集和预测集;

步骤2:构建复数值前向神经网络,初始化复数值前向神经网络中的参数向量ψ,参数向量ψ由包括神经元之间的连接权值、神经元的偏置和激活函数的增益系数的可调参数构成;

步骤3:引入GroupLasso正则化项构建复数值前向神经网络训练时的目标函数,将复数值前向神经网络的训练转化为约束优化问题的求解;

采用训练集和定制复数值投影拟牛顿算法训练复数值前向神经网络,直到满足预设的迭代结束条件停止训练;

步骤4:得到训练好的复数值前向神经网络,将预测集输入训练好的复数值前向神经网络得到风速预测结果。

进一步地,所述步骤2中构建复数值前向神经网络,构建的复数值前向神经网络包括P个输入神经元、N个隐层神经元和Q个输出神经元,复数值前向神经网络中的所述参数向量ψ为列向量,所有可调参数按顺序排列为参数向量ψ:

其中,w

所述复数值前向神经网络的隐层输出向量h

进一步地,所述步骤3的具体过程为:

步骤3.1:在传统的均方误差函数E'中引入GroupLasso正则化项R

步骤3.2:引入一组人工变量ρ

定义ρ=[ρ

步骤3.3:使用

步骤3.4:通过谱投影梯度算法求解近似带约束条件的二次优化问题,得到近似带约束条件的二次优化问题的解

步骤3.5:利用近似带约束条件的二次优化问题的解

步骤3.6:利用d

步骤3.7:重复步骤3.3~步骤3.6,直到满足预设的迭代结束条件停止复数值前向神经网络的训练。

进一步地,所述步骤3.1中的GroupLasso正则化项

其中

进一步地,所述步骤3.3的具体过程为:

步骤3.3.1:近似海塞矩阵Η

H

其中

步骤3.3.2:利用近似海塞矩阵Η

s.t.||ψ

进一步地,所述步骤3.4的具体过程为:

步骤3.4.1:利用式

步骤3.4.2:利用投影算子

步骤3.4.3:根据式

步骤3.4.4:对搜索方向

步骤3.4.5:根据式

若否,则返回执行步骤3.4.1;若是,则算法停止,得到近似带约束条件的二次优化问题的解

进一步地,所述步骤3.5中可行下降方向d

在定制复数值投影拟牛顿算法的第m次迭代时,首先利用谱投影梯度算法计算带约束条件的二次优化问题的解

进一步地,所述步骤3.5中使用Armijo线性搜索确定合适的学习步长η

在定制复数值投影拟牛顿算法的第m次迭代时使用Armijo线性搜索确定合适的学习步长η

其中l

进一步地,所述步骤3.6中利用d

根据公式

计算

进一步地,所述步骤3中预设的迭代结束条件,具体为:

复数值前向神经网络训练时的目标函数的评估次数达到预设的最大评估次数或者连续两次迭代中复数值前向神经网络训练时的目标函数值的变化量小于预设的阈值或者

本发明的上述技术方案相比现有技术具有以下优点:

(1)本发明的训练过程中,通过在传统的均方误差函数中引入Group Lasso正则化项得到复数值前向神经网络训练时的目标函数,使得在训练过程中可以有效删除冗余的输入神经元和隐层神经元,实现网络结构和参数向量的优化。

(2)采用定制复数值投影拟牛顿算法训练复数值前向神经网络,将激活函数的增益系数作为可调参数一并优化,克服了由于激活函数陷入饱和区域对训练过程造成的不良影响。同时,复数值前向神经网络中冗余神经元的权值会被直接置零,无需预先设置阈值,冗余神经元可以直接删除,并且对模型的最终输出无任何影响,即可以同时实现网络结构和参数向量的优化。

(3)通过引入GroupLasso正则化项和使用定制复数值投影拟牛顿算法训练复数值前向神经网络,同时实现网络结构和参数的优化,从而使复数值前向神经网络的结构紧凑、增强网络模型的泛化性能,并且使得复数值前向神经网络在预测风速时的误差更小、提高预测准确性。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。

图1是本发明的流程图。

图2是本发明中采用定制复数值投影拟牛顿算法训练复数值前向神经网络的示意图。

图3是本发明中定制复数值投影拟牛顿算法训练方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

在本发明的描述中,需要理解的是,术语“包括”意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备,没有限定于已列出的步骤或单元而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

参照图1流程图所示,本发明一种基于复数值前向神经网络的风速预测方法的实施例,包括以下步骤:

步骤1:获取用于风速预测的数据并整理成数据集,将数据集分为训练集和预测集;数据集z=[z

步骤2:构建复数值前向神经网络模型,复数值前向神经网络中的参数向量ψ由包括神经元之间的连接权值、神经元的偏置和激活函数的增益系数的可调参数构成。所述复数值前向神经网络模型包括P个输入神经元(输入神经元的个数P与数据集的维数P保持一致)、N个隐层神经元和Q个输出神经元,复数值前向神经网络中的所述参数向量ψ为列向量,所有可调参数按顺序排列为参数向量ψ:

其中,w

当输入为第j个训练样本时,所述复数值前向神经网络的隐层的输出向量为h

初始化复数值前向神经网络模型中由神经元之间的连接权值、神经元的偏置和激活函数的增益系数构成的参数向量ψ。

步骤3:引入Group Lasso正则化项构建复数值前向神经网络训练的目标函数,并将复数值前向神经网络模型的训练转化为约束优化问题的求解;采用训练集和定制复数值投影拟牛顿算法进行迭代训练,删除冗余的输入神经元和隐层神经元,达到同时实现网络结构和参数向量优化的目的。

如图2-3所示,步骤3的具体过程为:

步骤3.1:在传统的均方误差函数E′中引入Group Lasso正则化项R

GroupLasso正则化项

其中

在复传统的均方误差函数中引入GroupLasso正则化项得到复数值前向神经网络训练时的目标函数,使得在训练过程中可以有效删除冗余的输入神经元和隐层神经元,实现网络结构和参数向量的优化,增强模型的泛化性能。

步骤3.2:将无约束优化问题转化成约束优化问题,即引入一组人工变量ρ

定义ρ=[ρ

步骤3.3:使用训练集和定制复数值投影拟牛顿算法迭代训练复数值前向神经网络,使用

步骤3.3.1:近似海塞矩阵Η

H

步骤3.3.2:利用近似海塞矩阵Η

s.t||ψ

步骤3.4:通过谱投影梯度算法求解近似带约束条件的二次优化问题,得到近似带约束条件的二次优化问题的解

根据谱投影梯度算法求解近似带约束条件的二次优化问题得到一个解

其中

在第t次迭代时,首先采用负梯度方向计算近似带约束条件的二次优化问题的目标函数Q的初始解

对每一组神经元的参数进行修正以满足约束条件。例如,对于第一个输入神经元的权值向量ψ

接着,采用非单调线性搜索去确定步长

其中l

为了更加直观地说明谱投影梯度算法,谱投影梯度算法的具体流程总结如下:

步骤3.4.1:采用式

步骤3.4.2:利用投影算子

通过使用投影算子将复数值前向神经网络中冗余神经元的权值直接置零,无需预先设置阈值即可直接删除冗余神经元,并且对模型的最终输出无任何影响,同时实现网络结构和参数向量的优化的选择,从而使复数值前向神经网络的结构紧凑。

步骤3.4.3:根据式

步骤3.4.4:对搜索方向

步骤3.4.5:根据式

若否,则返回执行步骤3.4.1;若是,则算法停止,得到近似带约束条件的二次优化问题的解

步骤3.5:利用近似带约束条件的二次优化问题的解

步骤3.5.1:在定制复数值投影拟牛顿算法的第m次迭代时,首先利用谱投影梯度算法计算带约束条件的二次优化问题的解

步骤3.5.2:在定制复数值投影拟牛顿算法的第m次迭代时使用Armijo线性搜索确定合适的学习步长η

其中l

步骤3.6:利用d

根据公式

计算

步骤3.7:重复步骤3.3~步骤3.6的定制复数值投影拟牛顿算法进行迭代训练,直到满足预设的迭代结束条件停止复数值前向神经网络的训练,完成对

步骤4:得到训练好的复数值前向神经网络,将预测集输入训练好的复数值前向神经网络得到风速预测结果。期望输出为风速和风向构成的复数y。

为了进一步说明本发明的有益效果,本实施例中选取2000个样本用于训练含20个隐层神经元的复数值前向神经网络,并用另外100个样本测试复数值前向神经网络的性能。将本发明(SC_PQN)与分裂式梯度下降训练方法(SCBPG)、全复数梯度下降训练方法(FCBPG)进行比较,训练和测试的结果如表1所示:

表1 SC_PQN、SCBPG、FCBPG训练和测试的结果比较表

从表1可以看出本发明使用定制复数值投影拟牛顿算法时,平均训练误差和平均测试误差都最小,取得了最好的训练和预测效果。并且,相比于其它训练方法,本发明都有删除的隐层神经元个数和删除的输入神经元的个数,删除了这些冗余神经元可以优化网络结构,得到一个结构更加紧凑的复数值前向神经网络模型,增强模型的泛化性能。

本发明的上述技术方案相比现有技术具有以下优点:本发明所述的基于复数值前向神经网络的风速预测方法(1)在训练过程中,通过在传统的均方误差函数中引入GroupLasso正则化项得到复数值前向神经网络训练时的目标函数,使得在训练过程中可以有效删除冗余的输入神经元和隐层神经元,实现网络结构和参数向量的优化。(2)采用定制复数值投影拟牛顿算法训练复数值前向神经网络,将激活函数的增益系数作为可调参数一并优化,克服了由于激活函数陷入饱和区域对训练过程造成的不良影响。同时,复数值前向神经网络中冗余神经元的权值会被直接置零,无需预先设置阈值,冗余神经元可以直接删除,并且对模型的最终输出无任何影响,即可以同时实现网络结构和参数向量的优化。(3)通过引入GroupLasso正则化项和使用定制复数值投影拟牛顿算法训练复数值前向神经网络,同时实现网络结构和参数的优化,从而使复数值前向神经网络的结构紧凑、增强网络模型的泛化性能,并且使得复数值前向神经网络在预测风速时的误差更小、提高预测准确性。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号