周志聰,祁廣云
(黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,大慶 163319)
水稻是世界是上最重要的糧食作物之一,也是我國(guó)最重要的糧食作物之一。近些年隨著生活水平的提高,人們對(duì)稻米品質(zhì)的要求越來越高,而稻米中所含淀粉含量的高低是決定稻米口感和食味品質(zhì)的重要因素之一[1],對(duì)淀粉含量的相關(guān)測(cè)定越來越重要,對(duì)生產(chǎn)加工流水線作業(yè)實(shí)時(shí)檢測(cè)的需求越來越高。傳統(tǒng)的測(cè)定方法:酶水解法和酸水解法測(cè)試過程繁瑣而且對(duì)測(cè)定樣品造成破壞,而近紅外檢測(cè)結(jié)合支持向量機(jī)在對(duì)樣品測(cè)定的過程簡(jiǎn)單、快速,還不會(huì)對(duì)樣品本身造成任何的損害。
支持向量機(jī)(SVM)是Vapnik 等人根據(jù)統(tǒng)計(jì)學(xué)理論提出的一種新的通用學(xué)習(xí)方法,它是建立在統(tǒng)計(jì)學(xué)理論的結(jié)構(gòu)風(fēng)險(xiǎn)最小原理與VC 維理論基礎(chǔ)上的,能夠較好地解決小樣本、非線性、高維數(shù)和局部極小點(diǎn)等實(shí)際問題。已成為機(jī)器學(xué)習(xí)界的研究熱點(diǎn)之一,并且成功在分類、函數(shù)逼近和時(shí)間序列預(yù)測(cè)等方面廣泛應(yīng)用。另外SVM 的求解最后轉(zhuǎn)化成二次規(guī)劃問題的求解。因此,SVM 的解是唯一且全局最優(yōu)的?;谶@兩個(gè)優(yōu)點(diǎn),使得SVM 被提出后就得到了廣泛的重視和應(yīng)用。
SVM 方法最初只在模式識(shí)別問題方面應(yīng)用研究,隨著Vapnik 比對(duì)ε 不敏感損失函數(shù)的引入,SVM已經(jīng)被推廣到非線性系統(tǒng)的回歸估計(jì),并展現(xiàn)出了極好的學(xué)習(xí)能力和問題處理能力。支持向量機(jī)方法在非線性系統(tǒng)分類辨識(shí)、建模與控制、預(yù)測(cè)和預(yù)報(bào)有著潛在的廣泛應(yīng)用,使得對(duì)其研究顯得非常重要。
從搜集的數(shù)據(jù)中學(xué)習(xí)歸納出系統(tǒng)的相關(guān)規(guī)律,然后利用這些規(guī)律對(duì)未來數(shù)據(jù)或無(wú)法觀測(cè)到的數(shù)據(jù)進(jìn)行預(yù)測(cè),是進(jìn)行數(shù)據(jù)挖
掘一直以來關(guān)注的重要問題?;貧w分析是預(yù)測(cè)方法之一,其目的是找出數(shù)值型變量間的相關(guān)關(guān)系,用函數(shù)關(guān)系式表達(dá)出來?;貧w分析可以進(jìn)行因果預(yù)測(cè),模型僅僅依賴于要預(yù)測(cè)的變量與其他變量的關(guān)系。
回歸方法假定數(shù)據(jù)分布之前建立一個(gè)特定的模型,再根據(jù)實(shí)際數(shù)據(jù)求模型的參數(shù)值。模型是否能提供合理的預(yù)測(cè),主要在于自變量和因變量的分布是否符合模型。一般在建立回歸預(yù)測(cè)方程的時(shí)候,都將會(huì)考慮多種可能的自變量的集合,確保回歸預(yù)測(cè)方法的精準(zhǔn)性。回歸分析中的變量有兩類:自變量和因變量。根據(jù)自變量的個(gè)數(shù),回歸分析分為:一元回歸和多元回歸。根據(jù)自變量和因變量的函數(shù)關(guān)系分為:線性回歸和非線性回歸,其中非線性回歸又包括不同的類型。
支持向量機(jī)首先考慮線性回歸,但主要運(yùn)用支持向量機(jī)非線性回歸,故線性回歸方法省略。支持向量機(jī)在考慮非線性回歸,首先使用一個(gè)非線性映射把數(shù)據(jù)映射到一個(gè)高維特征空間,再在高維特征空間進(jìn)行線性回歸,從而取得在原空間非線性回歸的效果。
假設(shè)樣本x 用非線性函數(shù)Φ(x)映射到高維空間,并令K(xi,xj)=Φ(Xi)·Φ(xj),則非線性回歸問題轉(zhuǎn)化為:
此時(shí),回歸估計(jì)函數(shù)為:
SV 是支持向量機(jī)和,即滿足二次規(guī)劃中約束等式成立的那些點(diǎn)的集合。另外b 按如下公式計(jì)算:
式(3)中:knsv為支持向量數(shù)量。
SVM 理論只考慮高維特征空間的運(yùn)算K(xi,xj)=Ф(xi)·Ф(xj),而不直接使用函數(shù)Ф,從而巧妙地解決了因Ф 未知而w 無(wú)法顯示表達(dá)的問題,稱K(xi,xj)為核函數(shù)。已經(jīng)證明只要滿足Mercer 條件的對(duì)稱函數(shù)既可作為核函數(shù),常用的核函數(shù)有:
多項(xiàng)式核函數(shù):K(x,y)=((x·y)+1)d
Sigmoid 核函數(shù):K(x,y)=tanh(κ(x·y)+Θ)[2-4]
材料:80 份稻米樣品取自黑龍江八一農(nóng)墾大學(xué)農(nóng)學(xué)院。
試驗(yàn)儀器:傅里葉變換近紅外光譜儀WQF-600N,北京北分瑞利分析儀器(集團(tuán))公司。
2.2.1 光譜采集
通過WFQ-600N 傅立葉變換近紅外光譜儀采集了80 份稻米樣品近紅外光譜數(shù)據(jù),波長(zhǎng)范圍為1 100~2 498 nm,每隔2 nm 掃描一次。共700 個(gè)通道掃描,光譜圖如圖1 所示:
2.2.2 淀粉的測(cè)定(酸水解法)
參照GB/T5009.9-2008。由表1 可知,稻米淀粉含量所占比例的最小值為62.826%,最大值為66.472%,大部分分布在63%~65%之間??梢?,所選的80 個(gè)稻米樣品的淀粉含量涵蓋范圍廣泛,淀粉含量數(shù)據(jù)分布合理,表明試驗(yàn)選取的稻米樣品具有代表性。
在MATLAB 中載入libsvm 3.17 工具箱,分別調(diào)用svmtrain 和svmpredict 兩個(gè)函數(shù)。
Svmtrain 調(diào)用格式為model=svmtrain(train_y,train_x,'options');
Svmpredict 調(diào)用格式為[predicttest_y,accuracy,dec_value] = svmpredict(test_y,test_x,model)。
圖1 稻米籽粒的原始近紅外全光譜圖Fig.1 NIR spectra of rice grain
表1 稻米樣品淀粉含量化學(xué)值Table 1 The chemical value of starch content on rice samples
支持向量機(jī)模型參數(shù)尋優(yōu)方法主要有:網(wǎng)格尋優(yōu)、粒子群算法尋優(yōu)、遺傳算法尋優(yōu)。
如圖2,經(jīng)比對(duì)訓(xùn)練結(jié)果分析后,采用遺傳算法尋優(yōu)。運(yùn)用遺傳算法參數(shù)尋優(yōu)代碼運(yùn)算求得尋優(yōu)參數(shù)為:c = 18.72、g = 36.066 1、p = 0.000 122 07[7-8]。然后將采集到的數(shù)據(jù)中的前60 個(gè)作為訓(xùn)練集,后20 個(gè)作為預(yù)測(cè)集,在MATLAB 中調(diào)用libsvm 3.17 工具箱,選用徑向基核函數(shù),建立模型:
model = svmtrain(train_y,train_x,'-s 3 -t 2 -c 18.72 -g 36.066 1-p 0.000 122 07');
[predicttest_y,accuracy,dec_value] = svmpredict(test_y,test_x,model)。
圖3 為運(yùn)用遺傳算法參數(shù)尋優(yōu)后的訓(xùn)練集原始數(shù)據(jù)與模型預(yù)測(cè)數(shù)據(jù)對(duì)比和預(yù)測(cè)集原始數(shù)據(jù)與模型預(yù)測(cè)數(shù)據(jù)對(duì)比,圖3 中的縱坐標(biāo)表示水稻淀粉含量,橫坐標(biāo)表示對(duì)應(yīng)樣品號(hào),藍(lán)色圓形代表原始數(shù)值,紅色三角形代表預(yù)測(cè)數(shù)值。圖3 中的下圖為訓(xùn)練集原始樣品淀粉含量與訓(xùn)練后所預(yù)測(cè)的淀粉含量,上圖為預(yù)測(cè)集原始樣品淀粉含量與所預(yù)測(cè)的淀粉含量,由預(yù)測(cè)相關(guān)結(jié)果的圖3 中圖像顯示可知支持向量機(jī)回歸性能已達(dá)標(biāo),經(jīng)過訓(xùn)練后所建立模型可以使用。
圖2 各算法參數(shù)尋優(yōu)訓(xùn)練結(jié)果對(duì)比Fig.2 The training results of optimal parameter on different algorithms
圖3 預(yù)測(cè)相關(guān)結(jié)果顯示Fig.3 The prediction results
從表2 中可以看出,稻米樣本的淀粉含量實(shí)際化學(xué)值與預(yù)測(cè)值有所差別,最大誤差為4.47%,但只要增加訓(xùn)練樣本的數(shù)量,預(yù)測(cè)結(jié)果會(huì)更加精確。這足以說明利用matlab 的libsvm 工具箱建立模型對(duì)稻米淀粉含量進(jìn)行預(yù)測(cè)是可行的。
試驗(yàn)用20 個(gè)樣品作為驗(yàn)證集進(jìn)行模型驗(yàn)證,得到稻米淀粉含量的模型預(yù)測(cè)值和化學(xué)真實(shí)值之間的相關(guān)系數(shù)為0.89 ,說明文中所建立的預(yù)測(cè)模型的準(zhǔn)確性較高。支持向量機(jī)結(jié)合近紅外光譜法是一種非常值得推廣的分析方法,將其應(yīng)用于稻米籽粒淀粉含量測(cè)定是可行的,并有很好的發(fā)展前景。是未來稻米籽粒檢測(cè)的研究方向之一。
表2 淀粉預(yù)測(cè)的結(jié)果與實(shí)際結(jié)果對(duì)照Table 2 The comparison of starch prediction results and the actual results
[1]余飛,鄧丹雯,董婧,等.直鏈淀粉含量的影響因素及其應(yīng)用研究進(jìn)展[J].食品科學(xué),2007,28(10):604-608.
[2]郭水霞,王一夫,陳安.基于支持向量機(jī)回歸模型的海量數(shù)據(jù)預(yù)測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(5):12-14.
[3]袁玉萍,魏玉芬,代冬巖,等.基于支持向量順序回歸機(jī)對(duì)農(nóng)業(yè)經(jīng)濟(jì)預(yù)警的研究[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào),2012,24(1):92-95.
[4]楊銘,楊費(fèi)莉.基于最小二乘支持向量機(jī)的苯麻滴鼻液含量測(cè)定[J].中國(guó)醫(yī)藥工業(yè)雜志,2008,38(11):790-793.
[5]張學(xué)工.關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)[J].自動(dòng)化學(xué)報(bào),2000,26(1):32-42.
[6]李海生.支持向量機(jī)回歸算法與應(yīng)用研究[D].廣州:華南理工大學(xué),2005.
[7]李翠平,鄭瑤瑕,張佳,等.基于遺傳算法優(yōu)化的支持向量機(jī)品位插值模型[J].北京科技大學(xué)學(xué)報(bào),2013,35(7):837-843.
[8]馮振華,楊潔明.SVM回歸的參數(shù)選擇探討[J].機(jī)械工程與自動(dòng)化,2007(3):17-18.
黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào)2014年6期