孫遜
[摘 要]文章基于支持向量機(jī)模型對物流園區(qū)物流需求進(jìn)行預(yù)測,相較于傳統(tǒng)的網(wǎng)格式搜索對支持向量機(jī)參數(shù)尋優(yōu),使用遺傳算法對支持向量機(jī)參數(shù)尋優(yōu),能在實(shí)數(shù)集內(nèi)連續(xù)地尋找最優(yōu)參數(shù)組合,構(gòu)建出GA-SVM物流需求預(yù)測模型。并通過成都市實(shí)例驗(yàn)證了GA-SVM預(yù)測模型的有效性。
[關(guān)鍵詞]物流需求;預(yù)測;支持向量機(jī);遺傳算法
[DOI]10.13939/j.cnki.zgsc.2017.15.252
1 引 言
物流園區(qū)是構(gòu)造良好物流環(huán)境的重要基礎(chǔ)設(shè)施,物流園區(qū)的需求預(yù)測是物流園區(qū)規(guī)劃體系中十分關(guān)鍵的環(huán)節(jié),它是進(jìn)行物流園區(qū)功能布局研究的前提和補(bǔ)充。國內(nèi)外學(xué)者對物流需求預(yù)測方法研究大致分為以下兩個(gè)階段:第一階段主要采用的方法是基于傳統(tǒng)統(tǒng)計(jì)學(xué)的預(yù)測方法,主要包括:灰色模型[1]、線性回歸模型[2]及時(shí)間序列模型[3]等。第二階段在第一階段的方法中引入人工智能技術(shù),以改善預(yù)測模型的性能,主要包括:神經(jīng)網(wǎng)絡(luò)模型[4]和支持向量機(jī)模型[5]等。
在實(shí)際應(yīng)用過程中,第一階段的預(yù)測模型在處理高維度、非線性數(shù)據(jù)時(shí),無法獲得優(yōu)質(zhì)結(jié)果;而神經(jīng)網(wǎng)絡(luò)模型在學(xué)習(xí)樣本數(shù)量有限時(shí),學(xué)習(xí)過程誤差易收斂于局部極小點(diǎn),預(yù)測精度難以保證;學(xué)習(xí)樣本變量很多時(shí),又容易陷入維數(shù)災(zāi)難。由于影響機(jī)制復(fù)雜,考慮到支持向量機(jī)是建立在結(jié)構(gòu)化風(fēng)險(xiǎn)最小化原則之上,可以有效地減少經(jīng)驗(yàn)風(fēng)險(xiǎn)帶來的影響,不僅對小樣本數(shù)據(jù)表現(xiàn)出良好的擬合精度,還對獨(dú)立的測試集表現(xiàn)出較小的誤差,在一定程度上對學(xué)習(xí)機(jī)的泛化能力有所提升,而且支持向量機(jī)算法是一個(gè)凸優(yōu)化問題,在物流需求預(yù)測方面具有較明顯的優(yōu)勢,本文采用基于支持向量機(jī)學(xué)習(xí)理論的物流園區(qū)需求預(yù)測方法對成都市貨運(yùn)量進(jìn)行預(yù)測。
支持向量機(jī)參數(shù)的選取直接影響模型的預(yù)測精度,傳統(tǒng)的網(wǎng)格搜索參數(shù)組合已經(jīng)無法滿足對區(qū)域物流需求預(yù)測的精度要求,本文采用遺傳算法對支持向量機(jī)進(jìn)行參數(shù)尋優(yōu),構(gòu)建GA-SVM區(qū)域物流需求預(yù)測模型,并對成都市物流需求進(jìn)行預(yù)測,結(jié)果證明GA-SVM預(yù)測模型的預(yù)測精度要優(yōu)于傳統(tǒng)的SVM預(yù)測模型。
2 GA-SVM預(yù)測模型的算法設(shè)計(jì)
2.1 支持向量機(jī)
支持向量機(jī)(Support Vector Machine,SVM),是Vapnik在20世紀(jì)90年代中期以統(tǒng)計(jì)學(xué)為基礎(chǔ)提出的一種新型機(jī)器學(xué)習(xí)方法,作為統(tǒng)計(jì)學(xué)理論中比較年輕和實(shí)用的理論,已經(jīng)在實(shí)際應(yīng)用中得到很大的發(fā)展,尤其是在小樣本、非線性及高維分類和回歸問題中表現(xiàn)出了比較出色的效果。
相較于多項(xiàng)式核函數(shù)和Sigmoid核函數(shù),徑向基核函數(shù)在先驗(yàn)知識不足的情況下,擁有更好的預(yù)測精度。因此,本文GA-SVM預(yù)測模型采用徑向基核函數(shù)作為預(yù)測模型的核函數(shù)。則SVM模型的待優(yōu)化參數(shù)有:核函數(shù)參數(shù)σ、不敏感函數(shù)參數(shù)和懲罰參數(shù)C。核函數(shù)參數(shù)σ是映射函數(shù)的參數(shù),通過改變函數(shù)關(guān)系來影響映射的特征空間,表示映射規(guī)律的復(fù)雜程度;不敏感函數(shù)參數(shù)ε表示所能容忍的最高誤差,影響支持向量的個(gè)數(shù);懲罰參數(shù)C是在確定的特征空間中調(diào)節(jié)學(xué)習(xí)機(jī)器的置信范圍和經(jīng)驗(yàn)風(fēng)險(xiǎn)的比例,對模型的泛化能力有很大影響。為了控制GA-SVM模型的誤差容忍范圍,在后續(xù)試驗(yàn)中,本文將不敏感函數(shù)參數(shù)ε確定為0.001。
2.2 遺傳算法
遺傳算法(Genetic Algorithm)是由Holland教授模擬達(dá)爾文生物進(jìn)化理論的自然選擇和遺傳學(xué)機(jī)制的生物進(jìn)化過程而創(chuàng)造出的計(jì)算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法。遺傳算法以它的實(shí)用、高效和魯棒性強(qiáng)等特點(diǎn)深受國內(nèi)外學(xué)者的青睞。
與其他傳統(tǒng)方法不同的是,遺傳算法并不依賴梯度信息和其他任何外部信息,而是通過模擬自然進(jìn)化過程來搜索最優(yōu)解,以適應(yīng)度函數(shù)作為搜索方向的引導(dǎo),用選擇算子選擇親代和子代,用交叉和變異算子保證種群的多樣性。遺傳算法作為啟發(fā)式算法的一種,具有對可行解表示的廣泛性和不易陷入局部最優(yōu)解的特點(diǎn),同時(shí)采用自然進(jìn)化的原理來表示復(fù)雜的現(xiàn)象,能夠快速可靠地解決非常困難的問題。隱含的并行性也使算法在計(jì)算上的時(shí)間大大縮短。本文正是借助遺傳算法的這些特點(diǎn),通過全局優(yōu)化能力來對支持向量機(jī)的參數(shù)進(jìn)行優(yōu)化。
2.3 GA-SVM預(yù)測模型算法實(shí)現(xiàn)
將遺傳算法與支持向量機(jī)算法相結(jié)合,提出一種基于GA-SVM的預(yù)測模型。支持向量機(jī)算法的核函數(shù)采用徑向基核函數(shù)(RBF),利用二進(jìn)制編碼對支持向量機(jī)模型的參數(shù)進(jìn)行編碼,通過遺傳算法的迭代尋優(yōu)得出最優(yōu)解,從而確定最優(yōu)的懲罰函數(shù)C、核函數(shù)參數(shù)σ,最后通過支持向量機(jī)模型得到最后的預(yù)測結(jié)果。
具體的模型實(shí)現(xiàn)步驟如下:
(1)確定支持向量機(jī)參數(shù)的取值范圍。
(2)確定遺傳算法運(yùn)行參數(shù)的大小。
(3)以二進(jìn)制編碼方式建立N×L矩陣作為種群,并隨機(jī)生成初始種群。
(4)將初始種群中的每個(gè)個(gè)體,利用支持向量回歸機(jī)程序進(jìn)行計(jì)算,將輸出結(jié)果與原數(shù)據(jù)進(jìn)行對比,計(jì)算出訓(xùn)練樣本的預(yù)測精度,從而得出每個(gè)個(gè)體的適應(yīng)度大小。
(5)如此循環(huán)N次,直到每個(gè)個(gè)體都計(jì)算出相應(yīng)的適應(yīng)度。
(6)對整個(gè)種群進(jìn)行遺傳操作(選擇、交叉、變異),獲得新種群。
(7)當(dāng)滿足終止條件時(shí)(達(dá)到最大進(jìn)化次數(shù)或適應(yīng)度連續(xù)系帶沒有變化),停止計(jì)算;否則轉(zhuǎn)到步驟(4),直到結(jié)果滿足終止條件。
(8)滿足終止條件獲得的輸出就是最優(yōu)解的懲罰函數(shù)C、核函數(shù)參數(shù)σ。將最優(yōu)參數(shù)輸入支持向量回歸機(jī),對數(shù)據(jù)樣本進(jìn)行預(yù)測。
具體算法流程如圖1所示。
3 實(shí)例分析
為了驗(yàn)證GA-SVM算法的預(yù)測精度,本文使用MatlabR2013a作為編程工具對GA-SVM算法進(jìn)行了實(shí)現(xiàn)。同時(shí)選擇臺灣大學(xué)林智仁教授(Chih-Jen Lin)等開發(fā)的支持向量機(jī)軟件Libsvm-2.88來做實(shí)驗(yàn)結(jié)果的比對。
本文采用成都市貨運(yùn)量作為被解釋變量,根據(jù)主成分分析法,選擇出相應(yīng)的指標(biāo)體系:第一產(chǎn)業(yè)產(chǎn)值、第二產(chǎn)業(yè)產(chǎn)值、第三產(chǎn)業(yè)產(chǎn)值、社會消費(fèi)品零售總額、進(jìn)出口貿(mào)易總額、城鎮(zhèn)居民可支配收入、農(nóng)村居民可支配收入、成都市貨運(yùn)量。以1996—2010年的數(shù)據(jù)樣本作為訓(xùn)練數(shù)據(jù),以2011—2014年的數(shù)據(jù)樣本作為測試數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。為了提高測試結(jié)果的可信程度,本文分別用兩種方法對數(shù)據(jù)樣本進(jìn)行多次實(shí)驗(yàn)和比對。
為了避免經(jīng)驗(yàn)風(fēng)險(xiǎn)帶來的預(yù)測誤差,本文通過調(diào)節(jié)懲罰函數(shù)C、核函數(shù)參數(shù)σ兩參數(shù)的范圍多次測試獲取預(yù)測精度較高的參數(shù)范圍:CE[0.1,100],6E[0.01,1000]。最終預(yù)測結(jié)果如表2所示。
根據(jù)表2可知,GA-SVM模型在2013年貨運(yùn)量的預(yù)測中達(dá)到最低的相對誤差-0.231%,在2012年、2013年、2014年的相對誤差都在10%以內(nèi)達(dá)到了較高的預(yù)測精度。反觀SVM模型,除了2014年的相對誤差在10%以內(nèi),其余各年份都超過了這個(gè)標(biāo)準(zhǔn),在2011年的預(yù)測中達(dá)到了最高的-61.807%,很明顯GA-SVM的預(yù)測精度要優(yōu)于SVM的預(yù)測精度,如圖2所示。
4 結(jié) 論
本文主要針對物流園區(qū)物流需求預(yù)測問題,設(shè)計(jì)了GA-SVM的預(yù)測模型。為了驗(yàn)證所建模型的有效性,論文以成都市為案例對模型進(jìn)行實(shí)證分析,其研究結(jié)果與臺灣大學(xué)林智仁教授(Chih-Jen Lin)等開發(fā)的支持向量機(jī)軟件Libsvm的參數(shù)尋優(yōu)函數(shù)進(jìn)行了對比,結(jié)果證明GA-SVM預(yù)測模型在預(yù)測精度上要優(yōu)于傳統(tǒng)SVM預(yù)測模型。
參考文獻(xiàn):
[1]鄒欣,張夢芩.基于灰色GM(1,1)模型的四川省物流需求預(yù)測[J].物流技術(shù),2015(5):166-169.
[2]方威,肖衡,任湘郴.基于線性回歸模型的物流需求預(yù)測分析[J].生產(chǎn)力研究,2009(12):100-101,116.
[3]曾鳴,程文明,林磊.狀態(tài)空間時(shí)間序列的區(qū)域物流需求預(yù)測研究[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(15):7-12.
[4]Gutierrez R. S.,Solis A. O.,Mukhopadhyay S..Lumpy Demand Forecasting Using Neural Networks[J].International Journal of Production Economics,2008,111(2):409-420.
[5]陳善學(xué),楊政,朱江,等.一種基于累加PSO-SVM的網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型[J].計(jì)算機(jī)應(yīng)用研究,2015,32(6):1778-1781.