宋旺
(中南林業(yè)科技大學(xué),長沙410004)
葡萄深受人們喜愛,葡萄在全世界各地均有種植,然而葡萄病害也威脅著葡萄產(chǎn)業(yè)的發(fā)展,因此,對葡萄病害進(jìn)行預(yù)測顯得尤為重要。秦華[1],包峰,王娟,任振輝[2]分別用自適應(yīng)神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)對葡萄病害進(jìn)行了預(yù)測,得出了神經(jīng)網(wǎng)絡(luò)模型可以用于葡萄病害的預(yù)測。胡一帆(2016年)[3]等基于支持向量機(jī)(SVM)方法,利用南京市的氣象數(shù)據(jù)建立了南京市天空云量的預(yù)報模型。本文考慮溫度、濕度、降水量與葡萄病害發(fā)生率的回歸擬合預(yù)測。
根據(jù)Vapnik[4]所提出的支持向量機(jī),能用于線性和非線性的分類問題。
對于線性回歸問題,令線性可分的樣本集為(xi,yi),i=1,2,…,n,x∈Rn,y∈{+1,-1}此時,n 維空間線性判別函數(shù)一般表達(dá)式為:g(x)=wx+b,在這個空間中有一個最優(yōu)分類面能將兩類分類點(diǎn)區(qū)分,分類面的方程為:
應(yīng)滿足的約束條件為
對判別函數(shù) g(x)=w·x+b,對所有的樣本都有|g(x)|≥1 因此,樣本到最佳分類面的最小距離為:|g(x)|/||w||=1/||w||,上述問題變成:
這是一個凸二次規(guī)劃問題,引入lagrange函數(shù):
上述ai(i=1,2,…n)是拉格朗日乘子,分別對w和b求偏導(dǎo)得:
非線性問題此時也轉(zhuǎn)化為對偶問題:
在maxw(a)下,得出ai的解,值不為0所對應(yīng)的樣本點(diǎn)就是支持向量。最優(yōu)分類函數(shù)表示為:
另一方面,看待非線性問題時,需要應(yīng)用一個非線性映射函數(shù)把原樣本空間映射到一個高維空間,有必要引入松弛變量ξi,這個因子應(yīng)當(dāng)加到拉格朗日的式子中,在求||w||最小值的計算當(dāng)中增加懲罰。
此時分類面的約束變成了
回歸型支持向量機(jī)常用ε—不靈敏誤差函數(shù)(ε≥0),尋求最優(yōu)回歸超平面的問題轉(zhuǎn)化為求解如下一個二次凸規(guī)劃問題:
式中 ξi,為松弛變量,分別表示在誤差為ε約束下的訓(xùn)練誤差的上限和下限,C為懲罰常數(shù)。
最優(yōu)超平面線性回歸方程為:
式中 ai,表示拉格朗日乘子,b為偏置量,由約束條件而來,k(x·x)i表示支持向量機(jī)的核函數(shù),xi表示作為支持向量的樣本向量,x表示待預(yù)測因子向量。大量研究表明選擇高斯核函數(shù)會比選擇其他核函數(shù)效果好。
本文將平均溫度、降水量、相對濕度作為輸入向量,葡萄病害發(fā)生率作為輸出量。取2012年到2014年各年的6月19至9月18日每隔一周的數(shù)據(jù),前27周作為訓(xùn)練樣本,選取后11周的葡萄病害發(fā)生率作為測試樣本。
關(guān)于本文歷史氣象數(shù)據(jù)以及相關(guān)葡萄病害發(fā)生率數(shù)據(jù)來源于龐建[5]的碩士論文。所用的工具是MATLAB軟件與工具包。本文利用交叉尋優(yōu)找到最優(yōu)參數(shù)c=1.4142,g=0.17678。實(shí)驗(yàn)回歸擬合結(jié)果和預(yù)測結(jié)果分別如圖1和2所示。
得到的最佳參數(shù)進(jìn)行訓(xùn)練,再與原始數(shù)據(jù)進(jìn)行回歸預(yù)測,得到誤差僅為0.021,而相關(guān)性為71.35%,而多元回歸擬合程度為0.67。從圖中3.3可以得出,利用支持向量機(jī)對葡萄霜霉病病害發(fā)生率進(jìn)行回歸分析,誤差僅為0.021?;貧w預(yù)測點(diǎn)的變化趨勢基本與原始數(shù)據(jù)保持一致。
圖1 原始數(shù)據(jù)與預(yù)測數(shù)據(jù)
圖2 原始數(shù)據(jù)與測試數(shù)據(jù)
本文利用葡萄霜霉病病害發(fā)生率數(shù)據(jù)資料基于SVM理論建立SVM病害發(fā)生率預(yù)測模型對病害發(fā)生率進(jìn)行短期預(yù)測,預(yù)測結(jié)果比多元線性回歸理想。同時,也進(jìn)一步為葡萄病害發(fā)生率的預(yù)測提供了一種新方法。