有效
一种基于序列到序列网络的有效波高预测方法和系统
谭家明、朱俊星、李小勇、任小丽、邓科峰、汪祥、赵娟
中国人民解放军国防科技大学
摘要
本发明公开了一种基于序列到序列网络的有效波高预测方法和系统,本发明通过获取原始波浪数据集,在原始波浪数据集中加入滞后变量,获得第一波浪数据集;使用随机森林算法对第一波浪数据集进行特征选择,获得第二波浪数据集;构建带有基于记忆层的注意力机制的序列到序列模型,采用序列到序列模型对第二波浪数据集进行有效波高预测训练,获得训练好的序列到序列模型;通过训练好的序列到序列模型对待预测数据进行有效波高预测,获得最终有效波高预测值。本发明能够提高有效波高预测精度,并对异常值有更好的预测效果。
1.一种基于序列到序列网络的有效波高预测方法,其特征在于,包括步骤:获取原始波浪数据集,在所述原始波浪数据集中加入滞后变量,获得第一波浪数据集;其中:将所述原始波浪数据集中的当前波浪数据的历史有效波高数据作为滞后变量加入到所述原始波浪数据集中,获得第一波浪数据集;使用随机森林算法对所述第一波浪数据集进行特征选择,获得第二波浪数据集;其中:获取所述第一波浪数据集的有效波高观测值,初始化历史相关系数为零,初始化第二波浪数据集为空数据集,初始化耐心值为零,预设最大耐心值;使用随机森林算法对所述第一波浪数据集中的特征按特征重要性由高到低进行排序,获得排好序的第一波浪数据集;将所述排好序的第一波浪数据集中的特征按特征重要性由高到低依次添加到所述第二波浪数据集中,每添加一次数据到所述第二波浪数据集中时,则通过神经网络计算一次有效波高预测值;计算所述有效波高预测值与所述有效波高观测值之间的当前相关系数,将所述当前相关系数和所述历史相关系数进行判断:若所述当前相关系数大于所述历史相关系数,则将所述第一波浪数据集中的特征添加到所述第二波浪数据集中;若所述当前相关系数小于或等于所述历史相关系数,则将所述耐心值增加一,并移除所述当前相关系数对应的所述第一波浪数据集中的特征;在第一波浪数据集中的所有数据判断完或所述耐心值增加到大于所述最大耐心值后结束判断,获得特征选择后的第二波浪数据集;构建带有基于记忆层的注意力机制的序列到序列模型,采用所述序列到序列模型对所述第二波浪数据集进行有效波高预测训练,获得训练好的序列到序列模型;其中,所述构建带有基于记忆层的注意力机制的序列到序列模型包括:采用门控递归单元网络作为编码器和解码器,基于所述编码器和所述解码器挖掘时间序列中前后值之间的关系;在注意力机制中增加记忆层,根据所述编码器、所述解码器和所述注意力机制构建序列到序列模型;通过所述训练好的序列到序列模型对待预测数据进行有效波高预测,获得最终有效波高预测值。
2.根据权利要求1所述的一种基于序列到序列网络的有效波高预测方法,其特征在于,通过如下公式建立所述编码器:Input:X=(x 1 ,x 2 ,...,x t )z t =σ(W z ·[h t-1 ,x t ])r t =σ(W r ·[h t-1 ,x t ])其中,X表示门控递归单元网络中每个单元的当前输入数据集,x t 表示当前时刻的数据,h t-1 表示从前一时刻t-1传递过来的隐藏状态,z t 表示更新门,r t 表示重置门, 表示当前时刻的中间记忆,所述中间记忆表示前一时刻的记忆与当前时刻的记忆的输入结合,W z 表示所述更新门z t 的权值矩阵,W r 表示所述重置门r t 的权值矩阵,W表示所述中间记忆 的权值矩阵,h t 表示当前时刻隐藏状态,Input表示门控递归单元网络的输入,Output表示门控递归单元网络的输出。
3.根据权利要求2所述的一种基于序列到序列网络的有效波高预测方法,其特征在于,通过如下公式建立所述解码器:Input:X=(c 1 ,c 2 ,...,c k )s 0 =h tz k =σ(W z ·[s k-1 ,c k ])r k =σ(W r ·[s k-1 ,c k ])Output:y k =s k其中,X表示解码器的输入,所述解码器的输入通过注意力机制获得,s 0 =h t 表示所述编码器的最后一个隐藏状态h t 被用作解码器隐藏层的初始输入s 0 ,z k 表示更新门,r k 表示重置门, 表示当前时刻的中间记忆,所述中间记忆表示前一时刻的记忆与当前时刻的记忆的输入结合,W z 表示所述更新门z k 的权值矩阵,W r 表示所述重置门r k 的权值矩阵,W表示所述中间记忆 的权值矩阵,s k 表示当前时刻隐藏状态,y k =s k 表示将当前时刻隐藏状态s k 作为门控递归单元网络的输出y k 。
4.根据权利要求3所述的一种基于序列到序列网络的有效波高预测方法,其特征在于,通过如下公式建立所述注意力机制:score(h i ,s j )=v T tanh(W[h i ;s j ]+b)ω ij =Softmax((score(h i ,s j )))其中,h i 表示所述编码器在i时刻的隐藏状态,s j 表示所述解码器在j时刻的隐藏状态,根据所述h i 和所述s j 获得对应的输出分数,v T 和b表示神经网络中的偏置参数,ω ij 表示通过Softmax函数归一化分数来计算所述编码器与所述解码器隐藏状态之间的权重, 表示所述编码器输出的加权平均值,c j+1 表示记忆层,所述记忆层将所述编码器中隐藏单元的输出h j 用于下一时刻的预测,通过所述h j 和所述 在特征维上拼接,并进行线性变换后获得的t j+1 时刻解码器的输入。
5.一种基于序列到序列网络的有效波高预测系统,其特征在于,包括:第一波浪数据集获取单元,用于获取原始波浪数据集,在所述原始波浪数据集中加入滞后变量,获得第一波浪数据集;其中:将所述原始波浪数据集中的当前波浪数据的历史有效波高数据作为滞后变量加入到所述原始波浪数据集中,获得第一波浪数据集;第二波浪数据集获取单元,用于使用随机森林算法对所述第一波浪数据集进行特征选择,获得第二波浪数据集;其中:获取所述第一波浪数据集的有效波高观测值,初始化历史相关系数为零,初始化第二波浪数据集为空数据集,初始化耐心值为零,预设最大耐心值;使用随机森林算法对所述第一波浪数据集中的特征按特征重要性由高到低进行排序,获得排好序的第一波浪数据集;将所述排好序的第一波浪数据集中的特征按特征重要性由高到低依次添加到所述第二波浪数据集中,每添加一次数据到所述第二波浪数据集中时,则通过神经网络计算一次有效波高预测值;计算所述有效波高预测值与所述有效波高观测值之间的当前相关系数,将所述当前相关系数和所述历史相关系数进行判断:若所述当前相关系数大于所述历史相关系数,则将所述第一波浪数据集中的特征添加到所述第二波浪数据集中;若所述当前相关系数小于或等于所述历史相关系数,则将所述耐心值增加一,并移除所述当前相关系数对应的所述第一波浪数据集中的特征;在第一波浪数据集中的所有数据判断完或所述耐心值增加到大于所述最大耐心值后结束判断,获得特征选择后的第二波浪数据集;序列到序列模型训练单元,用于构建带有基于记忆层的注意力机制的序列到序列模型,采用所述序列到序列模型对所述第二波浪数据集进行有效波高预测训练,获得训练好的序列到序列模型;其中,所述构建带有基于记忆层的注意力机制的序列到序列模型包括:采用门控递归单元网络作为编码器和解码器,基于所述编码器和所述解码器挖掘时间序列中前后值之间的关系;在注意力机制中增加记忆层,根据所述编码器、所述解码器和所述注意力机制构建序列到序列模型;最终有效波高预测值获取单元,用于通过所述训练好的序列到序列模型对待预测数据进行有效波高预测,获得最终有效波高预测值。
6.一种基于序列到序列网络的有效波高预测设备,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至4任一项所述的一种基于序列到序列网络的有效波高预测方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至4任一项所述的一种基于序列到序列网络的有效波高预测方法。



