当前位置:首页 期刊杂志

基于SVM的葡萄霜霉病病害发生预测研究

时间:2024-04-24

宋旺

【摘 要】论文根据葡萄病害发生率与各种影响因素之间的非线性关系,提出了基于支持向量机的葡萄病害发生率预测新方法,并与多元回归分析作了对比,结果表明支持向量机的预测精准性更好。

【Abstract】According to the nonlinear relationship between the incidence of grape diseases and various influencing factors, the paper puts forward a new method of grape disease prediction based on the support vector machine (SVM), and makes a comparison with multiple regression analysis. The results show that the prediction accuracy of SVM is better.

【关键词】葡萄霜霉病;预测;支持向量机

【Keywords】the downy mildew of grape; prediction; SVM

【中图分类号】S46 【文献标志码】A 【文章编号】1673-1069(2018)05-0104-02

1 引言

葡萄深受人们喜爱,葡萄在全世界各地均有种植,然而葡萄病害也威胁着葡萄产业的发展,因此,对葡萄病害进行预测显得尤为重要。秦华 [1],包峰,王娟,任振輝 [2]分别用自适应神经网络和BP神经网络对葡萄病害进行了预测,得出了神经网络模型可以用于葡萄病害的预测。胡一帆(2016年) [3]等基于支持向量机(SVM)方法,利用南京市的气象数据建立了南京市天空云量的预报模型。本文考虑温度、湿度、降水量与葡萄病害发生率的回归拟合预测。

2 相关理论基础

2.1 支持向量机的分类算法

根据Vapnik[4]所提出的支持向量机,能用于线性和非线性的分类问题。

对于线性回归问题,令线性可分的样本集为(xi,yi),i=1,2,…,n,x∈Rn,y∈{+1,-1}此时,n维空间线性判别函数一般表达式为:g(x)= wx+b,在这个空间中有一个最优分类面能将两类分类点区分,分类面的方程为:

w·x+b=0 (1)

应满足的约束条件为

y(w·x+b)≥1,i=1,…,t (2)

对判别函数g(x)=w·x+b,对所有的样本都有|g(x)|≥1因此,样本到最佳分类面的最小距离为:|g(x)|/||w||=1/||w||,上述问题变成:

min||w||2 (3)

s.t.yi(w·xi+b)≥1,?坌x (4)

这是一个凸二次规划问题,引入lagrange函数:

L(w,a,b)=||w||2-∑ai[yi(w·xi+b)-1] (5)

上述ai(i=1,2,…n)是拉格朗日乘子,分别对w和b求偏导得:

=0,=0 (6)

非线性问题此时也转化为对偶问题:

w(a)=∑ai-aiajyiyj(xi·xj) (7)

在maxw(a)下,得出ai的解,值不为0所对应的样本点就是支持向量。最优分类函数表示为:

f(x)=sign{(w·x)+b}=sign{∑aiyi(xi·x)+b} (8)

另一方面,看待非线性问题时,需要应用一个非线性映射函数把原样本空间映射到一个高维空间,有必要引入松弛变量ξi,这个因子应当加到拉格朗日的式子中,在求||w||最小值的计算当中增加惩罚。

此时分类面的约束变成了

yi(w·xi+b)≥1-ξiyi(w·xi+b)≤-1+ξi i=1,…,t, ξi≥0 (9)

相应的最优超平面为f(x)=sign(∑aiyiK(x,xi)+b),n为支持向量的个数,为K(x,xi)实现这种映射关系的核函数。

2.2 支持向量机的回归算法

回归型支持向量机常用ε—不灵敏误差函数(ε≥0),寻求最优回归超平面的问题转化为求解如下一个二次凸规划问题:

min(w,ξ)= ||w||2+C∑t(ξ+ξ) (10)

约束条件:yi-(w·xi)-b≤ε+ξ(w·xi)+b-yi≤ε+ξξ,ξ≥0 (11)

式中ξ,ξ为松弛变量,分别表示在误差为ε约束下的训练误差的上限和下限,C为惩罚常数。

最优超平面线性回归方程为:

f(x)=(w·x)+b=∑SV(ai-a)k(x·xi)+b (12)

式中ai,a表示拉格朗日乘子,b为偏置量,由约束条件而来,k(x·xi)表示支持向量机的核函数,xi表示作为支持向量的样本向量,x表示待预测因子向量。大量研究表明选择高斯核函数会比选择其他核函数效果好。

3 支持向量机葡萄病害预测模型

本文将平均温度、降水量、相对湿度作为输入向量,葡萄病害发生率作为输出量。取2012年到2014年各年的6月19至9月18日每隔一周的数据,前27周作为训练样本,选取后11周的葡萄病害发生率作为测试样本。

关于本文历史气象数据以及相关葡萄病害发生率数据来源于庞建[5]的硕士论文。所用的工具是MATLAB软件与工具包。本文利用交叉寻优找到最优参数c=1.4142,g=0.17678。实验回归拟合结果和预测结果分别如图1和2所示。

得到的最佳参数进行训练,再与原始数据进行回归预测,得到误差仅为0.021,而相关性为71.35%,而多元回归拟合程度为0.67。从图中3.3可以得出,利用支持向量机对葡萄霜霉病病害发生率进行回归分析,误差仅为0.021。回归预测点的变化趋势基本与原始数据保持一致。

4 结论

本文利用葡萄霜霉病病害发生率数据资料基于SVM理论建立SVM病害发生率预测模型对病害发生率进行短期预测,预测结果比多元线性回归理想。同时,也进一步为葡萄病害发生率的预测提供了一种新方法。

【参考文献】

【1】秦华. 基于自适应神经网络的葡萄病害发生[D].保定: 河北农业大学,2009.

【2】包峰,王娟,任振辉. 基于BP网络的葡萄病害发生预测系统的开发研究[J]. 安徽农业科学,2010,38(14):7660-7662.

【3】胡一帆. 支持向量机分类方法在天空云量预报中的应用研究[A]. 中国气象学会.第33届中国气象学会年会 S22 青年论坛[C].中国气象学会,2016.

【4】Vapnik V. The nature of statistical learning theory[M]. New York Springer,1995.

【5】庞建. 昌黎产区赤霞珠葡萄病虫害发生情况的研究[D].杨凌:西北农林科技大学,2016.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!