摘 要: 作為一種新的機(jī)器學(xué)習(xí)方法,支持向量機(jī)的參數(shù)選擇沒(méi)有一個(gè)統(tǒng)一的模式和標(biāo)準(zhǔn)。為了克服這一缺點(diǎn),對(duì)遺傳算法進(jìn)行改進(jìn),構(gòu)造一種混沌云自適應(yīng)模擬退火遺傳算法(CCASAGA)對(duì)支持向量機(jī)回歸參數(shù)進(jìn)行優(yōu)化。該算法將混沌優(yōu)化、基于云模型的自適應(yīng)控制機(jī)制和模擬退火的Metropolis準(zhǔn)則結(jié)合起來(lái),并采取精英保持策略加快算法的收斂速度。利用改進(jìn)后的CCASAGA-SVR預(yù)測(cè)模型對(duì)某股份制銀行ATM機(jī)現(xiàn)金需求進(jìn)行預(yù)測(cè),并引入GA-SVR模型和BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比,從而證實(shí)該預(yù)測(cè)模型具有更高的預(yù)測(cè)精度。
關(guān)鍵詞: 遺傳算法;支持向量機(jī);BP神經(jīng)網(wǎng)絡(luò);預(yù)測(cè)
支持向量機(jī)SVM(Support Vector Machine)最初于20世紀(jì)90年代由Vapnik等人首先提出,是一種基于統(tǒng)計(jì)學(xué)習(xí)理論的新型的通用學(xué)習(xí)方法[1]。支持向量機(jī)模型可以用于分類和預(yù)測(cè)。在應(yīng)用支持向量機(jī)模型進(jìn)行預(yù)測(cè)時(shí),對(duì)預(yù)測(cè)精度產(chǎn)生重要影響的參數(shù)是:懲罰因子C、不敏感損失函數(shù)參數(shù)ε和核函數(shù)及其參數(shù)。因此,本文的預(yù)測(cè)模型需要利用遺傳算法對(duì)這3個(gè)參數(shù)進(jìn)行優(yōu)化以提高SVR預(yù)測(cè)模型的預(yù)測(cè)精度。標(biāo)準(zhǔn)遺傳算法SGA(Standard Genetic Algorithm)存在早熟收斂和易陷入局部最優(yōu)解的缺陷,主要表現(xiàn)在種群中所有個(gè)體狀態(tài)趨于一致而停止進(jìn)化,算法不能找到令人滿意的解。針對(duì)上述缺點(diǎn),各國(guó)學(xué)者對(duì)遺傳算法的編碼方式、適應(yīng)度函數(shù)的設(shè)計(jì)、遺傳算子機(jī)理等進(jìn)行深入研究,提出了眾多的改進(jìn)方法,包括免疫遺傳算法[2]、基于多樣化成長(zhǎng)策略的遺傳算法[3]和模糊自適應(yīng)遺傳算法[4]等。
本文在前人研究成果的基礎(chǔ)上,提出一種混沌云自適應(yīng)模擬退火遺傳算法CCASAGA(Chaos Cloud-based Adaptive Simulated Annealing Genetic Algorithm),使用混沌映射優(yōu)化遺傳算法的初始種群,采用云模型實(shí)現(xiàn)交叉概率和變異概率的自適應(yīng)調(diào)整,引入模擬退火避免算法陷入局部最優(yōu),并采取精英保持策略,防止進(jìn)化過(guò)程中產(chǎn)生的優(yōu)秀個(gè)體模式遭到破壞,提高了算法的收斂速度。運(yùn)用CCASAGA對(duì)SVR的參數(shù)進(jìn)行優(yōu)化,尋找到更好的參數(shù)值,從而提高模型的預(yù)測(cè)精度。
1 遺傳算法的改進(jìn)
1.1 利用混沌映射優(yōu)化遺傳算法初始種群
傳統(tǒng)遺傳算法的初始種群由隨機(jī)的方法產(chǎn)生,因此每次尋優(yōu)效果可能不盡相同,且容易導(dǎo)致算法陷入局部最優(yōu)。本文采用混沌映射優(yōu)化遺傳算法的初始種群,利用混沌變量具有的遍歷性、隨機(jī)性和內(nèi)在規(guī)律性,在一定范圍內(nèi)不重復(fù)地遍歷所有狀態(tài),從而保證種群分布均勻,具有多樣性。


3 實(shí)驗(yàn)結(jié)果
3.1 實(shí)驗(yàn)數(shù)據(jù)
本文數(shù)據(jù)來(lái)源于某股份制銀行某市分行ATM交易后臺(tái)數(shù)據(jù)庫(kù)中的取款數(shù)據(jù)。這里選取某臺(tái)ATM機(jī)2010年12月6日~2012年9月13日的日取款量數(shù)據(jù)作為研究樣本,樣本量的大小為648,以前643天數(shù)據(jù)為訓(xùn)練集,后5天數(shù)據(jù)為測(cè)試集。模型訓(xùn)練完后對(duì)后5天的ATM現(xiàn)金需求量進(jìn)行多步預(yù)測(cè),并在測(cè)試集上檢驗(yàn)?zāi)P偷念A(yù)測(cè)效果。
3.2 實(shí)驗(yàn)的實(shí)現(xiàn)和結(jié)果
整個(gè)模型算法通過(guò)MATLAB軟件編程實(shí)現(xiàn),其中支持向量機(jī)的實(shí)現(xiàn)用到了臺(tái)灣大學(xué)林智仁教授團(tuán)隊(duì)所編寫的Libsvm-3.1工具箱,對(duì)遺傳算法的改進(jìn)用到了英國(guó)謝菲爾德大學(xué)開發(fā)的GATBX遺傳算法工具箱。整個(gè)模型的參數(shù)設(shè)置如表1所示。

應(yīng)用前面提出的預(yù)測(cè)模型對(duì)ATM機(jī)的現(xiàn)金需求進(jìn)行預(yù)測(cè)。首先運(yùn)用改進(jìn)后的遺傳算法對(duì)SVR參數(shù)進(jìn)行優(yōu)化,尋優(yōu)過(guò)程如圖2所示。最終得到最佳的C=0.270 589,γ=9.264 51,ε=0.081 102 7。將最佳參數(shù)代入SVR模型進(jìn)行訓(xùn)練,得到最優(yōu)的SVR預(yù)測(cè)模型,用最優(yōu)模型預(yù)測(cè)后5天的現(xiàn)金需求量,并與測(cè)試集數(shù)據(jù)進(jìn)行對(duì)比,得到最終的預(yù)測(cè)結(jié)果,如圖3所示。


將本文提出的CCASAGA-SVR模型與傳統(tǒng)GA-SVR模型及BP神經(jīng)網(wǎng)絡(luò)模型[5]預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,如表2所示。

由表2可知,本文提出的CCASAGA-SVR模型預(yù)測(cè)精度最高,而神經(jīng)網(wǎng)絡(luò)模型相對(duì)來(lái)說(shuō)預(yù)測(cè)精度最低。本文對(duì)遺傳算法改進(jìn)后,使用CCASAGA-SVR的預(yù)測(cè)誤差比GA-SVR的預(yù)測(cè)誤差降低了約1.03個(gè)百分點(diǎn)。然而,本身GA-SVR模型的預(yù)測(cè)平均精度也在90%以上,這一方面說(shuō)明采用標(biāo)準(zhǔn)遺傳算法對(duì)支持向量回歸機(jī)進(jìn)行優(yōu)化也可以得到預(yù)測(cè)精度較高的預(yù)測(cè)模型,另外也說(shuō)明本文對(duì)遺傳算法的改進(jìn)是有效的,能夠在原來(lái)較好的預(yù)測(cè)效果上進(jìn)一步提高預(yù)測(cè)精度。另外,BP神經(jīng)網(wǎng)絡(luò)模型的總體預(yù)測(cè)精度較差,而且預(yù)測(cè)誤差波動(dòng)范圍較大,這可能是由于其在訓(xùn)練過(guò)程中產(chǎn)生了過(guò)擬合的現(xiàn)象,因此其泛化能力不如支持向量回歸機(jī)。
參考文獻(xiàn)
[1] 曹建芳,王鴻斌.一種新的基于SVM-KNN的Web文本分類算法[J].計(jì)算機(jī)與數(shù)字工程,2010,38(4):59-61.
[2] 王潔,高家全,方志民,等.一種新的免疫遺傳算法及應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(12):89-91.
[3] 袁煜明,范文慧,楊雨田,等.一種基于多樣化成長(zhǎng)策略的遺傳算法[J].控制與決策,2009,24(12):1801-1804.
[4] Guo Yiqiang,Wu Yanbin,Ju Zhengshan,et al.Remote sensing image classification by the chaos genetic algorithm in monitoring land use changes[J].Mathematical and Computer Modelling,2010,51(11):1408-1416.
[5] 李仿華,王愛平,姚麗娜,等.基于遺傳優(yōu)化的RBF-BP 網(wǎng)絡(luò)的實(shí)時(shí)故障檢測(cè)[J].微型機(jī)與應(yīng)用,2012,31(8):90-93.
[6] 戴朝華,朱云芳,陳維榮.云自適應(yīng)遺傳算法[J].控制理論與應(yīng)用,2007,24(4):646-650.
