基于粒子群算法优化BP神经网络的土壤含水量短期预测模型

2020-08-16 11:30牛曼丽李新旭张彦军雷喜红王艳芳
蔬菜 2020年8期
关键词:权值含水量阈值

牛曼丽,李新旭*,张彦军,雷喜红,王艳芳,李 蔚

(1.北京市农业技术推广站,北京 100029;2.北京市科学技术情报研究所,北京 100044)

土壤是开展农业生产的基础条件,土壤含水量是决定土壤生产力的重要因素之一,直接影响作物的生长发育和产量情况。对土壤含水量进行预测是制定果类蔬菜生产中灌溉制度、科学设计灌溉系数的基础和关键,是实现精细化管理的重要手段。

目前常用的土壤含水量预测模型主要有经验公式法[1-2]、水量平衡模型[3-4]、土壤水动力学法[5]、时间序列模型[6]、遥感监测法[7-8]。经验公式法中参数的适用范围有限,水量平衡模型、土壤水动力学法等方法测量指标多且复杂;因此,建立一个参数易于获取、形式相对简单、满足预测精度的墒情预测模型具有重要意义。

随着物联网等信息技术的快速发展,引入机器学习方法[9-12]从而实现精确预测已成为当前模型构建的主要趋势。李文峰[13]、李小刚等[14]应用神经网络构建了土壤墒情模型;黄令淼等[15]采用缺省因子法简化了预报模型的输入项,构建了3因子BP-ANN土壤墒情预报模型;侯晓丽等[16]构建了40、20、10 cm不同埋深条件下的土壤墒情预报模型,预测值与实测值吻合较好;周志胜等[17]利用遗传算法的全局寻优能力优化BP神经网络连接权值,避免了BP算法易陷入局部极小值的缺点。基于神经网络算法具有预测精度高、泛化能力强、适合非线性预测等特点,笔者在前人研究的基础上,研究提出应用粒子群算法优化BP神经网络的土壤含水量短期预测模型,并对北京市顺义区万亩方地区的土壤含水量进行了预测。

1 数据源及数据预处理

1.1 数据采集

试验数据来源于安装在北京市顺义区赵全营镇万亩方的气象监测系统。该系统是基于GPRS的实时气象在线监测系统,主要监测指标有20 cm土壤温度、20 cm土壤湿度、空气温度、空气湿度、辐射强度、平均风速、风向、小时降雨、参考蒸发蒸腾量(ET值)。数据采集从8月20日—9月17日,数据采集周期为1 h。数据共计695组,其中前624组数据为学习样本,用于训练土壤含水量预测模型,后71组数据作为测试样本,主要用来验证预测模型的性能。部分原始数据见表1。

1.2 数据预处理

在采集一组20 cm土壤温度、20 cm土壤湿度、空气温度、空气湿度、辐射强度、平均风速、小时降雨、ET值、风向数据中,不同维度的数据单位不同,是不同量纲的数据序列,对这组数据进行训练会影响训练学习的速度,为解决这一问题,需要对数据集进行归一化处理,使各指标数据都处于0~1的范围。

式中:k为原始试验数据;kmax、kmin分别为该组试验数据的最大值和最小值。

1.3 土壤含水量关键影响参数筛选

土壤含水量受到多种环境参数的影响,而这些环境参数如果作为模型输入具有一定的线性相关,会降低模型预测的准确性。针对该问题,采用主成分分析法(使用SPSS软件)处理和降维影响因子的数量,筛选出影响土壤含水量的关键参数。主要步骤如下:

(1)计算各指标相关系数矩阵。

(2)计算相关系数矩阵的特征值及对应的特征向量。

(3)计算贡献率和累计贡献率。

(4)计算主成分载荷矩阵,筛选影响土壤含水量的关键参数。

各个主成分的特征值如表2所示。根据特征值大于1可以作为提取主成分的原则,前3个主成分起始特征值合计大于1,因此选择前3个主成分代替原变量。

采用因子旋转后,计算得到不同环境参数对不同主成分的因子载荷(表3)。结合实际测试效果等综合考量,空气湿度、空气温度、辐射强度和ET值对第1个主成分贡献最大,平均风速、20 cm土壤温度对第2个主成分贡献较大,小时降雨、20 cm土壤湿度对第3个主成分贡献较大。因此选用空气湿度、空气温度、辐射强度、ET值、20 cm土壤湿度、20 cm土壤温度、平均风速、小时降雨作为主成分因子,减少了模型输入量,消除了输入变量之间的相关性,提高了网络收敛性及计算效率。

表1 试验部分原始数据

2 建模方法

2.1 BP神经网络

BP神经网络(Back Propagation neural network)是一种按误差逆传播算法训练的多层前馈神经网络,主要通过梯度下降法使网络的误差平方和最小,在当前得到了普遍应用。BP神经网络的结构分为输入层、隐层和输出层3部分,学习训练过程分为前向传播和反向传播2个阶段。

2.1.1 前向传播

输入的样本通过设置的网络结构、权值阈值和传递函数,从网络第1层向后计算各神经元的输出。计算步骤归纳如下:

式中:xi—从上层神经元传来的输入信号;ωij—从输入神经元i到隐层神经元j的权值;bj—输入神经元i到隐层神经元j的阈值或偏置;neti——净传输值;yi—隐层神经元i的输出;f(x)—传递函数;l—隐层节点数;ωjk—从上层神经元j到神经元k的权值;ck—隐层到输出层的阈值或偏置。传递函数对于收敛速度和拟合程度有显著的影响。

2.1.2 反向传播

对权值和阈值进行更改,从最后一层向前计算各权值和阈值对误差的影响,重新计算连接权值ωij、ωjk,公式如下:

表2 环境因子的特征值

表3 因子载荷矩阵

式中:α为学习速率,Yk为实际值,Ok为预测值。

BP神经网络实现了从输入到输出的映射,能够实现复杂非线性的映射,具有较强的自学习能力,但由于BP神经网络算法是一个局部搜索优化算法,容易陷入局部最优解,而网络初始化权值和阈值是随机的,那么势必会造成每次训练结果都不一样。

2.2 粒子群算法

粒子群算法(Particle Swarm Optimization)是一种通过模拟鸟群觅食行为构建的基于群体智能的进化计算方法。基本核心思想是利用群体中的个体对信息的共享从而使得整个群体的运动在问题求解空间中产生从无序向有序演化,从而获得问题的最优解,被广泛地应用于求解复杂、非线性的优化问题,优点是鲁棒性强、不易陷入局部最优解。

粒子的速度和位置在迭代中的更新:

式中:c1、c2—学习因子;r1、r2—(0,1)区间服从均匀分布的随机数;n为迭代次数,XiDn—迭代n次粒子i的位置;ViDn—迭代n次粒子的速度;—从初始到当前迭代次数的搜索产生的个体极值;PgDn—从初始到当前迭代次数的搜索产生的全局极值。

2.3 基于PSO的BP神经网络优化

针对BP神经网络收敛速度慢、极易收敛于局部极值等缺陷,本研究将PSO算法与BP神经网络相结合,优化BP神经网络以解决这些问题。主要步骤如下:

步骤1:确定BP神经网络拓扑结构:输入层节点数、隐层节点数、输出层节点数,初始化BP神经网络的连接权值、阈值长度,作为PSO的编码。

步骤2:初始化粒子群的种群规模、最大迭代次数、学习因子、粒子位置、粒子速度最大值和最小值。

步骤3:通过网络训练,计算粒子的适应度函数值,得到粒子的最优解与种群最优解。记录粒子最好的位置。

步骤4:当训练网络的误差满足设定条件时,停止迭代,计算并得到结果,否则继续步骤3,继续迭代直至算法收敛。

步骤5:将经过PSO优化的权值和阈值作为BP神经网络的初始权值和阈值代入BP神经网络。训练网络,由训练样本和测试样本完成神经网络的训练和测试,输出预测值。

优化算法流程图如图1:

3 算法实现

3.1 基于PSO-BP神经网络的土壤含水量预测模型的设计

对含水量预测模型参数进行设置。

(1)粒子群算法部分。根据一般经验值进行设置,种群大小个数为10,学习因子c1=c2=1.50,迭代次数n为50,粒子位置Xmax=5,Xmin=-5,Vmax=1,Vmin=-1。粒子的适应度函数等于BP神经网络的真实值与预测值的均方差。

(2)BP神经网络部分。整个网络由3层构成(图2),输入层节点数为8,主要输入数据为上一时刻土壤温度、土壤湿度、空气温度、空气湿度、辐射强度、平均风速、小时降雨、ET值,输出层值为5 h后的土壤湿度,隐层节点数为5。传递函数Sigmoid,训练次数为2 000次,训练目标是0.000 01。

3.2 模型评价指标

为了便于更加准确地评估土壤含水量预测模型的预测准确性,本文选用了3个评价指标,分别为误差均方根(RMSE)、平均绝对误差(MAE)、平均绝对百分误差(MAPE)。

4 结果

4.1 适应度曲线

适应度曲线见图3所示,当迭代次数为50时,最佳适应度呈现出前期下降而后逐渐趋于平缓的趋势,平均适应度曲线呈现出总体下降趋势;因此,迭代次数选取50是合理的。

4.2 优化的神经网络权值及阈值

在Matlab R2015b环境下运行,经过PSO优化神经网络后得到了适合顺义区万亩方做土壤含水量预测的权值和阈值(表4)。

4.3 模型结果对比

图4是PSO-BP神经网络算法与单一BP神经网络的预测值与实际值的比较,可以直观地看出2种方法对土壤含水量预测的变化趋势与真实变化趋势总体上相同,而PSO-BP神经网络预测更接近于实际值,具有更高的准确性。

由表5可知,优化后的PSO-BP模型土壤含水量预测与普通BP神经网络预测相比较,RMSE下降幅度达21.16%,PSO-BP模型的MAE、MAPE、RMSE分别为0.259 2、0.010 5和0.135 6,均低于单一BP神经网络预测,可满足实际的土壤含水量预测的需要。

5 结论

针对常用土壤含水量预测模型中存在的参数多、适用性差等问题,提出了基于PSO-BP神经网络的土壤含水量短期预测模型,应用粒子群算法较强的全局寻优能力,将优化好的BP神经网络运用到土壤含水量预测中,弥补了BP神经网络易陷入局部最优解及收敛时间长的缺陷。结果表明,PSO-BP土壤含水量预测模型用来预测非线性时间序列的土壤含水量是可行的,在未来结合物联网系统,可以实现在线预测的功能。基于PSO-BP神经网络土壤含水量预测模型提高了模型收敛速度和精确度,可提前准确预测未来5 h后的土壤水分变化,具有一定的应用价值。

表4 由PSO优化BP神经网络得到的最优权值和阈值

表5 BP与PSO-BP算法评价指标

猜你喜欢
权值含水量阈值
一种融合时间权值和用户行为序列的电影推荐模型
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
眼干的人别选高含水量隐形眼镜
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
数字说
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
改进小波阈值对热泵电机振动信号的去噪研究
径流小区土壤含水量TDR法与烘干法测试相关关系探讨
一种基于互连测试的综合优化算法∗