国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)布谷鳥搜索算法優(yōu)化的SVM月徑流預(yù)測

2020-08-22 07:27
中國農(nóng)村水利水電 2020年8期
關(guān)鍵詞:徑流鳥巢實(shí)例

李 代 華

(云南省水文水資源局文山分局,云南 文山 663000)

1 研究背景

環(huán)境變化及人類活動(dòng)加劇給徑流的精準(zhǔn)預(yù)報(bào)帶來了新的挑戰(zhàn),積極探索具有較好預(yù)報(bào)精度的模型及方法一直是水文預(yù)報(bào)研究中的熱點(diǎn)和難點(diǎn)問題。支持向量機(jī)(Support Vector Machines,SVM)是Vapnik等人提出的一種新型通用學(xué)習(xí)方法,能較好地解決小樣本、非線性、高維數(shù)和局部極小點(diǎn)等實(shí)際問題,已在水文預(yù)測預(yù)報(bào)[1-3]及枯水期月徑流預(yù)測[4-6]中得到應(yīng)用。研究表明,SVM核函數(shù)等關(guān)鍵參數(shù)的合理選取是提高SVM預(yù)測精度的關(guān)鍵。目前,除試錯(cuò)法、網(wǎng)格搜索法選取SVM相關(guān)參數(shù)外,智能算法常被用于SVM關(guān)鍵參數(shù)的選取,包括遺傳算法[3](genetic algorithm,GA)、粒子群優(yōu)化(particle swarm optimization,PSO)算法[4]、人工魚群算法[5](artificial fish swarm algorithm,AFSA)、果蠅優(yōu)化算法[7](fruit optimization algorithm,F(xiàn)OA)、布谷鳥搜尋(Cuckoo Search,CS)算法[8]、灰狼優(yōu)化(gray wolf optimization,GWO)算法[9]、文化算法[10](cultural algorithm,CA)、SCE-UA算法[11]、混合蛙跳算法[12](shuffled frog leaping algorithm,SFLA)、入侵雜草優(yōu)化(invasive weed optimization,IWO)算法[13]、帝國競爭算法[14](imperialist competitive algorithm,ICA)、人工蜂群優(yōu)化(artificial bee colony,ABC)算法[15]等。然而,在實(shí)際應(yīng)用中,智能算法優(yōu)化SVM關(guān)鍵參數(shù)存在以下兩方面的不足:①傳統(tǒng)GA、PSO、CS等標(biāo)準(zhǔn)算法在尋優(yōu)過程中存在早熟收斂和易陷入局部極值等問題,難以獲得SVM“最佳”關(guān)鍵參數(shù)。②SVM關(guān)鍵參數(shù)中交叉驗(yàn)證參數(shù)V對于SVM性能有著重要影響, 取值“小”易導(dǎo)致SVM“欠擬合”,訓(xùn)練樣本擬合度低;V取值“大”則易導(dǎo)致“過擬合”,使SVM外推能力差、預(yù)測精度低。目前大多數(shù)SVM參數(shù)優(yōu)化僅針對懲罰因子C和核函數(shù)參數(shù)g進(jìn)行優(yōu)化,部分增加不敏感系數(shù)ε的優(yōu)化,而對于交叉驗(yàn)證參數(shù)V普遍采用試算的方式選取,耗時(shí)費(fèi)力,而且不能保證最優(yōu)。

基于上述原因分析,為有效提高SVM在水文預(yù)測預(yù)報(bào)中的精度,本文分別提出基于Mittag-Leffler、Pareto、Cauchy 3種重尾分布改進(jìn)的布谷鳥搜索算法(mittag lefflercuckoo search,MLCS;paretocuckoo search,PCS;cauchycuckoo search,CCS)優(yōu)化的支持向量機(jī)(SVM)月徑流預(yù)測模型。內(nèi)容安排如下:①提出MLCS,PCS、CCS 3種CS改進(jìn)算法,選取6個(gè)標(biāo)準(zhǔn)測試函數(shù)對MLCS,PCS、CCS算法進(jìn)行仿真驗(yàn)證,并與標(biāo)準(zhǔn)CS算法的仿真結(jié)果進(jìn)行比較。②利用MLCS,PCS、CCS算法優(yōu)化SVM交叉驗(yàn)證參數(shù)V、懲罰因子C、核函數(shù)參數(shù)g和不敏感系數(shù)ε,構(gòu)建MLCS-SVM、PCS-SVM和CCS-SVM預(yù)測模型,并構(gòu)建CS-SVM模型作對比,將此4種模型應(yīng)用于云南省姑老河站枯水期月徑流預(yù)測研究,旨在驗(yàn)證基于4參數(shù)優(yōu)化的MLCS-SVM、PCS-SVM、CCS-SVM模型用于枯水期月徑流預(yù)測的可行性和有效性。

2 MLCS-SVM、PCS-SVM和CCS-SVM預(yù)測模型

2.1 布谷鳥搜索算法

布谷鳥搜索算法(CS)又名杜鵑搜索算法,其通過模擬布谷鳥寄生育雛來有效求解最優(yōu)化問題,目前已在各行業(yè)領(lǐng)域得到廣泛應(yīng)用。算法需設(shè)定3個(gè)假設(shè)條件:①布谷鳥隨機(jī)選擇1個(gè)鳥巢孵化,且1次只產(chǎn)1顆蛋。②最好的鳥巢將會(huì)被保留到下一代。③可用鳥巢的數(shù)量n是固定的,鳥巢中外來蛋被發(fā)現(xiàn)的概率是p0∈[0,1][16]。

在這3個(gè)理想狀態(tài)下,鳥巢位置的更新公式為:

(1)

(2)

2.2 不同重尾改進(jìn)布谷鳥搜索算法

標(biāo)準(zhǔn)布谷鳥搜索(CS)算法的全局隨機(jī)游走主要基于L'evy分布來實(shí)現(xiàn),由于 L'evy分布屬較簡單的一種重尾分布,雖然能使CS算法獲得較好的隨機(jī)性,但也存在遍歷性的不足從而導(dǎo)致CS算法種群多樣性和全局搜索能力弱。為進(jìn)一步提高CS算法的群多樣性和全局搜索能力,本文提出基于Mittag-Leffler、Pareto、Cauchy 3種重尾分布改進(jìn)的CS(即MLCS,PCS、CCS)算法[17,18]。

(1)MLCS算法。如果一個(gè)隨機(jī)變量的分布函數(shù)滿足式(3),則稱該隨機(jī)變量服從Mittag-Leffler分布:

(3)

式中:0<β≤1,x> 0,且對于x≤0,F(xiàn)β(x)= 0;對于0<β<1,Mittag-Leffler分布為指數(shù)的重尾推廣,并且當(dāng)β=1時(shí)減少到指數(shù)分布。

參考文獻(xiàn)[17,18]提出的方法生成Mittag-Leffler隨機(jī)數(shù):

(4)

式中:γ表示尺度參數(shù);u、v∈(0,1),表示獨(dú)立的均勻隨機(jī)數(shù);τβ為Mittag-Leffler隨機(jī)數(shù)。

基于Mittag-Leffler重尾概率分布,式(1)可以寫成:

(5)

式中:Mattag-Leffler(β,γ)表示從Mittag-Leffler分布中得出的隨機(jī)數(shù),本文β=0.8,γ=4.5;其他參數(shù)同上。

(2)PCS算法。如果隨機(jī)變量的累積分布函數(shù)滿足式(6),則稱其服從Pareto(帕累托)分布:

(6)

式中:b>0表示比例參數(shù);a>0表示形狀參數(shù)(Pareto不等式指數(shù))。

基于Pareto重尾概率分布,式(1)可以寫成:

(7)

式中:Pareto(b,a)表示從Pareto分布中得出的隨機(jī)數(shù),本文a=1.5,b=4.5;其他參數(shù)同上。

(3)CCS算法。如果隨機(jī)變量的累積分布函數(shù)滿足式(8)具有以下表達(dá)式,則稱其服從Cauchy分布:

(8)

式中:μ表示位置參數(shù);σ表示比例參數(shù)。

基于Cauchy重尾概率分布,式(1)可以寫成:

(9)

式中:Cauchy(μ,σ)表示從Cauchy分布中得出的隨機(jī)數(shù),本文σ=4.5,μ=0.8;其他參數(shù)同上。

2.3 支持向量機(jī)

SVM通過將低維樣本空間映射到高維特征空間,并在高維特征空間中建立線性學(xué)習(xí)機(jī)求解,其學(xué)習(xí)過程轉(zhuǎn)換為凸優(yōu)化問題[1-3,8]如下:

(10)

最終回歸函數(shù)為:

(11)

2.4 仿真驗(yàn)證

為驗(yàn)證MLCS,PCS和CCS算法尋優(yōu)能力,利用MLCS,PCS、CCS對Sphere、Schwefel 2.22、Schwefel 2.21、Schwefel 1.2、Griewank、Ackley 6個(gè)典型測試函數(shù)進(jìn)行仿真驗(yàn)證,并與標(biāo)準(zhǔn)CS算法的仿真結(jié)果進(jìn)行比較。6個(gè)函數(shù)優(yōu)化維度為30維,最優(yōu)解為0。其中函數(shù)Sphere、Schwefel 2.22、Schwefel 2.21、Schwefel 1.2為單峰函數(shù),主要用于測試算法的尋優(yōu)精度和局部搜索能力;函數(shù)Griewank、Ackley為多峰函數(shù),主要用于測試算法逃逸極部極值能力和全局搜索能力。4種算法重復(fù)20次尋優(yōu),采用平均值、標(biāo)準(zhǔn)差進(jìn)行性能評價(jià),見表1;4種算法最大迭代次數(shù)T=5 000,鳥巢數(shù)量n=50,發(fā)現(xiàn)概率Pa=0.25。其中MLCS 算法Mittag-Leffler分布參數(shù)β=0.8,γ=4.5;PCS算法Pareto分布參數(shù)a=1.5,b=4.5;CCS算法Cauchy分布參數(shù)σ=4.5,μ=0.8。其他參數(shù)采用各算法默認(rèn)值。

表1 函數(shù)優(yōu)化對比結(jié)果

對單峰函數(shù)Sphere,MLCS,PCS和CCS算法尋優(yōu)能力相差不大,CCS算法表現(xiàn)相對較好,3種改進(jìn)算法尋優(yōu)精度均高于標(biāo)準(zhǔn)CS算法23個(gè)量級以上;對于具有明顯轉(zhuǎn)折點(diǎn)的非線性函數(shù)Schwefel 2.22,MLCS,PCS和CCS算法尋優(yōu)能力相似,PCS算法表現(xiàn)相對較好,3種改進(jìn)算法尋優(yōu)精度均高于標(biāo)準(zhǔn)CS算法12個(gè)量級以上;對于倒錐形非線性函數(shù)Schwefel 2.21,CCS、MLCS算法尋優(yōu)精度略優(yōu)于PCS算法,優(yōu)于標(biāo)準(zhǔn)CS算法;對于最優(yōu)解周圍存在很小下降梯度函數(shù)Schwefel 1.2,PCS、MLCS、CCS算法尋優(yōu)效果相差不大,尋優(yōu)精度優(yōu)于標(biāo)準(zhǔn)CS算法;對于典型多峰多模態(tài)函數(shù)Griewank,MLCS,PCS和CCS算法20次尋優(yōu)均獲得了理論最優(yōu)值0,全局搜索能力遠(yuǎn)優(yōu)于標(biāo)準(zhǔn)CS算法;對于連續(xù)旋轉(zhuǎn)不可分多峰函數(shù)Ackley,MLCS,PCS和CCS算法尋優(yōu)精度相同,3種改進(jìn)算法尋優(yōu)精度均高于標(biāo)準(zhǔn)CS算法13個(gè)量級以上??梢姡贛ittag-Leffler、Pareto、Cauchy 3種重尾分布改進(jìn)的CS算法能有效增強(qiáng)其種群多樣性和全局搜索能力,3種改進(jìn)算法在這 6個(gè)函數(shù)上的搜索效果均優(yōu)于標(biāo)準(zhǔn)CS算法,具有較好的尋優(yōu)精度和全局搜索能力。

2.5 MLCS-SVM、PCS-SVM和CCS-SVM預(yù)測實(shí)現(xiàn)步驟

步驟1:利用下式歸一化處理實(shí)測數(shù)據(jù),并合理劃分訓(xùn)練、預(yù)測樣本。設(shè)置SVM交叉驗(yàn)證參數(shù)V和懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε的搜尋范圍。(由于交叉驗(yàn)證參數(shù)V取值為正整數(shù),因此采用fix函數(shù)取正)。

(12)

步驟2:確定訓(xùn)練樣本均方誤差為適應(yīng)度函數(shù):

(13)

步驟3:隨機(jī)初始化鳥巢位置,設(shè)置鳥巢數(shù)量n,最大迭代次數(shù)T,發(fā)現(xiàn)概率Pa,Mittag-Leffler分布參數(shù)β,γ,Pareto分布參數(shù)a,b,Cauchy分布參數(shù)σ,μ。

步驟4:通過適應(yīng)度函數(shù)計(jì)算找出當(dāng)代最優(yōu)鳥巢位置Xbest。判斷算法是否滿足終止條件,若滿足,算法結(jié)束;若否,執(zhí)行步驟5。

步驟5:分別執(zhí)行Mittag-Leffler、Pareto、Cauchy飛行操作,隨機(jī)產(chǎn)生鳥巢位置。采用式(5)、式(7)、式(9)更新鳥巢位置。計(jì)算更新后鳥巢位置的適應(yīng)度,并與原鳥巢的適應(yīng)度作比較,若優(yōu)于原鳥巢則代替原鳥巢,否則丟棄。

步驟7:利用新更新的鳥巢位置計(jì)算適應(yīng)度值,并與前代鳥巢位置對應(yīng)的適應(yīng)度值進(jìn)行比較,保留適應(yīng)度值更好的鳥巢位置。

步驟8:判斷終止條件,若是,輸出最優(yōu)解Xbest;否則重復(fù)步驟5~步驟8。

步驟9:利用MLCS、PCS和CCS算法優(yōu)化獲得的交叉驗(yàn)證參數(shù)V、懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε代入MLCS-SVM、PCS-SVM和CCS-SVM模型進(jìn)行預(yù)測分析。

3 應(yīng)用實(shí)例

(1)數(shù)據(jù)來源及分析。應(yīng)用實(shí)例數(shù)據(jù)來源于云南省姑老河站1960-2013年共54年的實(shí)測資料。該站1960-2012年上年度月徑流與次年枯水期1-3月月徑流相關(guān)關(guān)系見表2。

表2 上年度1-12月月均流量與次年1-3月月相關(guān)系數(shù)

從表2來看,該站上年度月徑流與次年1-3月月徑流存在較好的相關(guān)性。其中,次年1月月徑流與上年度1-12月徑流相關(guān)系數(shù)在0.095~0.938之間;次年2月月徑流與上年度1-12月、次年1月月徑流相關(guān)系數(shù)在0.087~0.833之間;次年3月月徑流與上年度1-12月、次年1-2月月徑流相關(guān)系數(shù)在0.063~0.794之間。本文選取相關(guān)系數(shù)較大的上年度8-12月月徑流預(yù)測次年枯水期1月均徑流,選取相關(guān)系數(shù)較大的上年度9-12月及次年1月月徑流預(yù)測次年枯水期2月月均徑流,選取相關(guān)系數(shù)較大的上年度9-12月及次年1-2月月徑流預(yù)測次年枯水期3月月均徑流量,并利用前40組實(shí)測數(shù)據(jù)作為訓(xùn)練樣本,后13組實(shí)測數(shù)據(jù)作為預(yù)測檢驗(yàn)樣本。

(2)參數(shù)設(shè)置。MLCS、PCS、CCS和標(biāo)準(zhǔn)CS 4種算法除最大迭代次數(shù) 設(shè)置為200外,其余參數(shù)設(shè)置同上。SVM模型相關(guān)參數(shù)搜索范圍:交叉驗(yàn)證參數(shù)V∈[2,10]、懲罰因子C∈[0.01,1 000]、核函數(shù)參數(shù)g∈[0.01,1 000]、不敏感系數(shù)ε∈[0.000 1,1]。

(3)模型構(gòu)建及預(yù)測。建立MLCS-SVM、PCS-SVM、CCS-SVM和CS-SVM 4種模型對實(shí)例1-3月月徑流進(jìn)行訓(xùn)練及預(yù)測,結(jié)果見表3;并給出4種模型1-3月訓(xùn)練樣本進(jìn)化過程圖和訓(xùn)練-預(yù)測相對誤差效果圖,分別見圖1、圖2。并利用平均相對誤差MRE(%)、最大相對誤差maxRE(%)和適應(yīng)度值對各模型預(yù)測性能進(jìn)行評價(jià)。

表3 實(shí)例1-3月月徑流訓(xùn)練-預(yù)測結(jié)果及其比較表

續(xù)表3 實(shí)例1-3月月徑流訓(xùn)練-預(yù)測結(jié)果及其比較表

圖1 4種模型1-3月訓(xùn)練樣本進(jìn)化過程圖

圖2 實(shí)例1-3月月徑流訓(xùn)練-預(yù)測相對誤差效果圖

依據(jù)表3及圖1~圖2可以得出以下結(jié)論:

(1)MLCS-SVM、PCS-SVM、CCS-SVM 3種模型對實(shí)例1-3月月徑流預(yù)測的平均相對誤差分別在4.89%~4.94%、6.87%~7.07%、6.87%~7.09%之間,預(yù)測精度分別較CS-SVM模型提高了34.5%、8.30%、23.6%以上,具有較好預(yù)測精度和泛化能力,表明MLCS,PCS和CCS算法均能有效優(yōu)化SVM交叉驗(yàn)證參數(shù)、懲罰因子、核函數(shù)參數(shù)和不敏感系數(shù),模型及方法可為水文預(yù)測預(yù)報(bào)及其他相關(guān)預(yù)測研究提供參考。

(2)對SVM而言,交叉驗(yàn)證參數(shù)的多少直接影響到SVM預(yù)測精度和泛化能力。從本實(shí)例優(yōu)化結(jié)果來看,對于1月月徑流預(yù)測,SVM訓(xùn)練的最佳交叉驗(yàn)證參數(shù)為5;對于2月和3月,最佳交叉驗(yàn)證參數(shù)為9??梢?,通過智能算法尋優(yōu)交叉驗(yàn)證參數(shù),可避免人為調(diào)試的繁瑣。

(3)從表3及圖1來看,MLCS,PCS、CCS算法優(yōu)化實(shí)例1-3月SVM訓(xùn)練樣本獲得的適應(yīng)度值分別在0.003 618~0.003 632、0.004 403~0.004 421、0.007 471~0.007 472之間,均優(yōu)于標(biāo)準(zhǔn)CS算法,通過實(shí)例再次驗(yàn)證了基于Mittag-Leffler、Pareto、Cauchy重尾分布改進(jìn)的MLCS,PCS、CCS算法能有效增強(qiáng)標(biāo)準(zhǔn)CS算法的種群多樣性,進(jìn)一步提升標(biāo)準(zhǔn)CS算法的全局尋優(yōu)能力。

(4)從圖2來看,4種模型擬合、預(yù)測精度由優(yōu)至劣依次是:CCS-SVM、MLCS-SVM、PCS-SVM、CS-SVM模型。

4 結(jié) 論

(1)針對標(biāo)準(zhǔn)CS算法存在早熟收斂和易陷入局部極值的不足,分別提出基于Mittag-Leffler、Pareto、Cauchy重尾分布改進(jìn)的MLCS,PCS、CCS算法,選取6個(gè)標(biāo)準(zhǔn)測試函數(shù)對MLCS,PCS、CCS算法進(jìn)行仿真測試,并與標(biāo)準(zhǔn)CS算法的仿真結(jié)果進(jìn)行比較。結(jié)果表明:MLCS,PCS、CCS算法尋優(yōu)效果均優(yōu)于標(biāo)準(zhǔn)CS算法,具有較好的尋優(yōu)精度和全局搜索能力。

(2)首次提出SVM 4參數(shù)優(yōu)化方法,即利用MLCS,PCS、CCS算法同時(shí)優(yōu)化SVM交叉驗(yàn)證參數(shù)、懲罰因子、核函數(shù)參數(shù)和不敏感系數(shù),并給出優(yōu)化步驟和應(yīng)用實(shí)例,有效拓展了SVM模型的應(yīng)用范疇。從實(shí)例應(yīng)用效果來看,同時(shí)優(yōu)化SVM 4參數(shù)是可行和有效的。

(3)MLCS-SVM、PCS-SVM、CCS-SVM 3種模型對實(shí)例1-3月月徑流預(yù)測的平均相對誤差分別較CS-SVM模型提高了34.5%、8.30%和23.6%以上,具有較好預(yù)測精度和泛化能力。驗(yàn)證了MLCS,PCS、CCS算法均能有效優(yōu)化SVM交叉驗(yàn)證參數(shù)、懲罰因子、核函數(shù)參數(shù)和不敏感系數(shù),模型及方法可為水文預(yù)測預(yù)報(bào)及其他相關(guān)預(yù)測研究提供參考。

猜你喜歡
徑流鳥巢實(shí)例
格陵蘭島積雪區(qū)地表徑流增加研究
流域徑流指標(biāo)的構(gòu)造與應(yīng)用
基于SWAT模型的布爾哈通河流域徑流模擬研究
雅魯藏布江河川徑流變化的季節(jié)性規(guī)律探索
鳥巢
重回鳥巢
鳥巢大作戰(zhàn)
完形填空Ⅱ
完形填空Ⅰ
打聯(lián)賽 去鳥巢 看中網(wǎng)
孟津县| 上蔡县| 大荔县| 岑溪市| 五常市| 蒲城县| 奉化市| 镇雄县| 南陵县| 沈丘县| 筠连县| 库伦旗| 蓝山县| 蒙自县| 莎车县| 闻喜县| 晋中市| 灵台县| 怀柔区| 青海省| 白朗县| 进贤县| 满城县| 平昌县| 安丘市| 朝阳县| 哈密市| 安岳县| 竹山县| 安新县| 怀宁县| 镇巴县| 苏尼特右旗| 萨迦县| 根河市| 瑞昌市| 麻栗坡县| 曲周县| 拉孜县| 太白县| 华蓥市|