基于神经网络算法的植被指数预测方法、系统及设备
技术领域
本发明涉及地理信息技术领域,尤其是涉及一种基于神经网络算法的植被指数预测方法、系统及设备。
背景技术
植被指数是从多光谱遥感数据中提取的、能够有效度量地表植被状况的数值,与植被的覆盖度、生物量等有较好的相关性。然而,现有的植被指数数据涉及的时间周期较短,在对植被指数进行预测时,由于现有的植被指数数据量庞大,计算过程复杂,计算精度较低。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种高精度的基于神经网络算法的植被指数预测方法、系统及设备。
一种基于神经网络算法的植被指数预测方法,包括以下步骤:
获取植被指数数据,选取预设时间段内的所述植被指数数据作为训练数据集,根据预设的规则从所述训练数据集选取高质量像元值作为第一输入数据;
将预设时间段内的全球陆地数据同化系统流域地表模型数据集以每半月进行整合,生成半月尺度的第二输入数据;
获取预设时间段内的高程数据,以植被指数作为因变量,以全球陆地数据同化系统流域地表模型数据集和高程数据作为自变量,构建神经网络模型;
其中,所述神经网络模型通过计算输出的预测值与真实值之间的误差,将该误差反向输出至输入层,更新输入层向下一单元传送的权重值;根据所述权重值对输入层的若干个输入值进行加权求和,获得植被指数预测值;
获取目标时间段的全球陆地数据同化系统流域地表模型数据,将所述第一输入数据、第二输入数据、高程数据和目标时间段的全球陆地数据同化系统流域地表模型数据作为神经网络模型的样本数据,利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值。
相对于现有技术,本发明通过以植被指数作为因变量,以全球陆地数据同化系统流域地表模型数据集和高程数据作为自变量,构建神经网络模型,利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值,本发明解决了现有技术中植被指数缺失问题,所述神经网络模型具有一定的容错能力和较强的非线性映射能力,用户可利用本发明实现任意时间段的植被指数预测,提高植被指数的预测精度。
在本发明一个实施例中,所述利用神经网络模型计算所述样本数据到隐藏层和输出层的权重,根据所述权重预测目标时间段的植被指数,获取输出层输出的植被指数预测值的步骤包括:
按照以下方式获取输入值传送至下一植被指单元的值:
其中,Ij为进行非线性转化的下一植被指数单元值,Oi为输入值,wij为每个植被指数单元到下一个植被指数单元连线之间的权重,θj为权重偏向;
按照以下方式对所述下一植被指单元的值进行非线性转换,获取输出层输出结果:
根据输出层输出结果更新传向隐含层和传向输出层之间的误差,对于输出层,其误差为:
Errj=Oj(1-Oj)(Tj-Oj)
对于隐含层,其误差为:
其中,Errj为更新偏向,Oj为输出值,Tj为标签值;
按照以下方式更新权重和权重偏向:
△wij=(l)ErrjOi
△θj=(l)Errj,
θj=θj+△θj
其中,l为学习率,△wij为权重变化量,△θj为权重偏向变化量;
循环上述权重更新过程,判断所述权重和权重偏向更新过程是否满足预设条件,利用更新后的权重值和权重偏向,获取输出层输出的植被指数预测值;
其中,所述预设条件中为权重的变化量低于预设权重变化量,输出层误差低于预设输出层误差,所述权重更新过程达到预设的循环次数中的任意一个。利用神经网络模型计算输出的预测值与真实值之间的误差,将该误差反向输出至输入层,更新输入层向下一单元传送的权重值以获得准确性较高的植被指数预测值。
在本发明一个实施例中,所述基于神经网络算法的植被指数预测方法还包括以下步骤:将选取训练数据集后剩余的植被指数数据作为验证数据集,利用所述验证数据集判断所述神经网络模型预测结果的精度是否达到设定精度,若是,输出植被指数预测值;否则,修改所述神经网络模型的隐含层神经元个数,重新获取植被指数预测值。通过反馈、改进模型参数、重新训练、输出结果的迭代优化过程,使植被数据的预测值更加准确和全面。
本发明还提供了一种植被指数预测系统,包括:
第一输入数据获取模块,用于获取植被指数数据,选取预设时间段内的所述植被指数数据作为训练数据集,根据预设的规则从所述训练数据集选取高质量像元值作为第一输入数据;
第二输入数据获取模块,用于将预设时间段内的全球陆地数据同化系统流域地表模型数据集以每半月进行整合,生成半月尺度的第二输入数据;
神经网络模型构建模块,所述神经网络模型构建模块以植被指数作为因变量,以全球陆地数据同化系统流域地表模型数据集和高程数据作为自变量,构建神经网络模型;
其中,所述神经网络模型通过计算输出的预测值与真实值之间的误差,将该误差反向输出至输入层,更新输入层向下一单元传送的权重值;根据所述权重值对输入层的若干个输入值进行加权求和,获得植被指数预测值;
神经网络模型训练模块,用于获取目标时间段的植被指数数据,将所述第一输入数据、第二输入数据、高程数据和目标时间段的全球陆地数据同化系统流域地表模型数据作为神经网络模型的样本数据,利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值。
在本发明一个实施例中,所述神经网络模型构建模块包括:
传送值获取单元,用于按照以下方式获取输入值传送至下一植被指单元的值:
其中,Ij为进行非线性转化的下一植被指数单元值,Oi为输入值,wij为每个植被指数单元到下一个植被指数单元连线之间的权重,θj为权重偏向;
输出单元,用于按照以下方式对所述下一植被指单元的值进行非线性转换,获取输出层输出结果:
误差更新单元,用于根据输出层输出结果更新传向隐含层和传向输出层之间的误差,对于输出层,其误差为:
Errj=Oj(1-Oj)(Tj-Oj)
对于隐含层,其误差为:
其中,Errj为更新偏向,Oj为输出值,Tj为标签值;
权重更新单元,按照以下方式更新权重和权重偏向:
△wij=(l)ErrjOi
△θj=(l)Errj,
θj=θj+△θj
其中,l为学习率,△wij为权重变化量,△θj为权重偏向变化量;
预测值获取单元,用于循环上述权重更新过程,判断所述权重和权重偏向更新过程是否满足预设条件,利用更新后的权重值和权重偏向,获取输出层输出的植被指数预测值;
其中,所述预设条件中为权重的变化量低于预设权重变化量,输出层误差低于预设输出层误差,所述权重更新过程达到预设的循环次数中的任意一个。
在本发明一个实施例中,所述植被指数预测系统还包括:判断模块,用于将选取训练数据集后剩余的植被指数数据作为验证数据集,利用所述验证数据集判断所述神经网络模型预测结果的精度是否达到设定精度,若是,输出植被指数预测值;否则,修改所述神经网络模型的隐含层神经元的个数,重新获取植被指数预测值。
本发明还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的基于神经网络算法的植被指数预测方法的步骤。
本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的基于神经网络算法的植被指数预测方法的步骤。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是本发明实施例中一种基于神经网络算法的植被指数预测方法的流程图;
图2是本发明实施例中基于神经网络算法的植被指数预测方法步骤S3的流程图;
图3是本发明实施例中植被指数预测系统的结构示意图;
图4是本发明实施例中神经网络模型构建模块3的结构示意图。
具体实施方式
实施例
请参阅图1,本发明提供了一种基于神经网络算法的植被指数预测方法,包括以下步骤:
步骤S1:获取植被指数数据,选取预设时间段内的所述植被指数数据作为训练数据集,根据预设的规则从所述训练数据集选取高质量像元值作为第一输入数据。
在本实施例,所述植被指数数据为1981年7月-2015年12月共计35年828期AVHRRGIMMS3g.v1(AVHRR:Advanced Very High Resolution Radiometer.GIMMS:GlobalInventory Modelling and Mapping Studies)植被指数(NDVI,Normalized DifferenceVegetation Index)数据,所述植被指数数据中选取其中一段时间的植被指数数据作为训练数据集指的是从上述植被指数数据中随机抽取,选择其中的30年数据作为训练数据集,余下的5年数据作为验证数据集用来检验训练结果的可靠性。所述高质量像元值(flag=0)为所述训练数据集中噪声最低的像元值,保证模型输入数据的数据质量。
步骤S2:将预设时间段内的全球陆地数据同化系统流域地表模型数据集以每半月进行整合,生成半月尺度的第二输入数据;其中,所述预设时间段内的全球陆地数据同化系统流域地表模型(GLDAS CLSML4,Global Land Data Assimilation SystemCatchmentLand Surface Model Level4)数据集为1981年7月-2015年12月的全球陆地数据同化系统流域地表模型数据集。所述全球陆地数据通化系统流域地表模型数据集包括但不限于地表温度、地表水储量、植物冠层表面水分、土壤水分、裸土蒸散、大气温度和降水等数据。所述半月尺度的第二输入数据为以每半月进行整合而成的预设时间段内的全球陆地数据同化系统流域地表模型数据集。
在一个实施例中,所述植被指数数据、全球陆地数据同化系统流域地表模型数据集和高程数据在步骤S1之前进行了规范化统一所有数据的投影与空间坐标系、时间分辨率、空间分辨率的预处理,方便后续神经网络模型的应用。
步骤S3:获取预设时间段内的高程数据,以植被指数作为因变量,以全球陆地数据同化系统流域地表模型数据集和高程数据作为自变量,构建神经网络模型;所述神经网络模型通过迭代性来处理训练数据集中的实例,对比经过神经网络后的预测值与真实值之间的误差,再通过反向法(从输出层→隐藏层→输入层)以最小化误差来更新每个连接的权重。所述利用神经网络模型计算所述样本数据到隐藏层和输出层的权重,根据所述权重预测目标时间段的植被指数,获取输出层输出的植被指数预测值的步骤包括:
步骤S301:按照以下方式获取输入值传送至下一植被指数单元的值:
其中,Ij为下一植被指数单元的值,Oi为输入值,wij为每个植被指数单元到下一个植被指数单元连线之间的权重,θj为权重偏向;
步骤S302:按照以下方式对所述下一植被指单元的值进行非线性转换,获取输出层输出结果:
步骤S303:根据输出层输出结果更新传向隐含层和传向输出层之间的误差,对于输出层,其误差为:
Errj=Oj(1-Oj)(Tj-Oj)
对于隐含层,其误差为:
其中,Errj为更新偏向,Oj为输出值,Tj为真实值;
步骤S304:按照以下方式更新权重和权重偏向:
△wij=(l)ErrjOi
△θj=(l)Errj,
θj=θj+△θj
其中,l为学习率,△wij为权重变化量,△θj为权重偏向变化量;
步骤S305:循环上述权重更新过程,判断所述权重和权重偏向更新过程是否满足预设条件,利用更新后的权重值和权重偏向,获取输出层输出的植被指数预测值;其中,所述预设条件中为权重的变化量低于预设权重变化量,输出层误差低于预设输出层误差,所述权重更新过程达到预设的循环次数中的任意一个。
步骤S4:获取目标时间段的全球陆地数据同化系统流域地表模型数据,将所述第一输入数据、第二输入数据、高程数据和目标时间段的全球陆地数据同化系统流域地表模型数据作为神经网络模型的样本数据,利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值。
如图2所示,所述利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值步骤包括:
在一个实施例中,所述基于神经网络算法的植被指数预测方法还包括:步骤S5:将选取训练数据集后剩余的植被指数数据作为验证数据集,利用所述验证数据集判断所述植被指数是否满足预设的精度要求,若是,输出植被指数预测值;否则,修改所述神经网络模型的隐含层神经元个数,重新获取植被指数预测值。具体地,将验证数据集输入所述神经网络算法模型进行植被指数预测值预测,将该植被指数预测值与验证数据集中的植被指数数据进行比较,根据比较结果判断所述植被指数是否达到预设的精度要求,其中,所述预设的精度要求可根据用户实际需求进行设定。
如图3所示,本发明还提供了一种植被指数预测系统,包括:
第一输入数据获取模块1,用于获取植被指数数据,选取预设时间段内的所述植被指数数据作为训练数据集,根据预设的规则从所述训练数据集选取高质量像元值作为第一输入数据;
第二输入数据获取模块2,用于将预设时间段内的全球陆地数据同化系统流域地表模型数据集以每半月进行整合,生成半月尺度的第二输入数据;
神经网络模型构建模块3,所述神经网络模型构建模块以植被指数作为因变量,以全球陆地数据同化系统流域地表模型数据集和高程数据作为自变量,构建神经网络模型;其中,所述高程数据为预设时间段内的高程数据。
在一个实施例中,所述神经网络模型构建模块包括:
传送值获取单元301,用于按照以下方式获取输入值传送至下一植被指单元的值:
其中,Ij为进行非线性转化的下一植被指数单元值,Oi为输入值,wij为每个植被指数单元到下一个植被指数单元连线之间的权重,θj为权重偏向;
输出单元302,用于按照以下方式对所述下一植被指单元的值进行非线性转换,获取输出层输出结果:
误差更新单元303,用于根据输出层输出结果更新传向隐含层和传向输出层之间的误差,对于输出层,其误差为:
Errj=Oj(1-Oj)(Tj-Oj)
对于隐含层,其误差为:
其中,Errj为更新偏向,Oj为输出值,Tj为真实值;
权重更新单元304,按照以下方式更新权重和权重偏向:
△wij=(l)ErrjOi
△θj=(l)Errj,
θj=θj+△θj
其中,l为学习率,△wij为权重变化量,△θj为权重偏向变化量;
预测值获取单元305,用于循环上述权重更新过程,判断所述权重和权重偏向更新过程是否满足预设条件,利用更新后的权重值和权重偏向,获取输出层输出的植被指数预测值;
其中,所述预设条件中为权重的变化量低于预设权重变化量,输出层误差低于预设输出层误差,所述权重更新过程达到预设的循环次数中的任意一个。
神经网络模型训练模块4,用于获取目标时间段的植被指数数据,将所述第一输入数据、第二输入数据、高程数据和目标时间段的全球陆地数据同化系统流域地表模型数据作为神经网络模型的样本数据,利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值。
所述植被指数预测系统还包括:判断模块5,用于将选取训练数据集后剩余的植被指数数据作为验证数据集,利用所述验证数据集判断所述神经网络模型预测结果的精度是否达到设定精度,若是,输出植被指数预测值;否则,修改所述神经网络模型的隐含层神经元个数,重新获取植被指数预测值。
本发明还提供了一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现上述任意一项所述的基于神经网络算法的植被指数预测方法的步骤。
本发明可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可读储存介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可被所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的基于神经网络算法的植被指数预测方法的步骤。
相对于现有技术,本发明通过以植被指数作为因变量,以全球陆地数据同化系统流域地表模型数据集和高程数据作为自变量,构建神经网络模型,利用神经网络模型对目标时间段的植被指数进行预测,获得植被指数预测值实现了对现有技术中缺失的植被指数问题,所述神经网络模型具有一定的容错能力和较强的非线性映射能力,用户可利用本发明实现任意时间段的植被指数预测,提高植被指数的预测精度。本发明完善了植被指数数据,方便研究者进行研究应用。本发明所述植被指数数据的模拟是一个“输入-训练-反馈-改进算法-训练-输出”的自动迭代优化过程,通过达到设定的精度,生成年长时间序列、空间完整覆盖的植被指数数据。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。