屠立峰 包騰飛 唐 琪 趙 斌
(1.河海大學 水利水電學院,南京 210098;2.河海大學 水資源高效利用與工程安全國家工程研究中心,南京 210098;3.南京南瑞集團公司 國際公司,南京 210003)
建立大壩原型觀測模型一直是大壩安全監(jiān)測的研究重點[1].在使用過程中,常用的監(jiān)測模型有逐步回歸模型、神經網絡模型、支持向量機(SVM)模型等[2].逐步回歸模型的缺陷為只適用于數據樣本充分的情況,BP神經網絡模型易出現過擬合和收斂過慢的不利現象,以至于限制了以上模型的適用范圍和擬合預測精度.SVM模型是一種建立在統(tǒng)計學分析原理上的新型小樣本機器學習方法[3].研究表明,該模型對高維數、小樣本問題的解決效果良好,且泛化能力優(yōu)異.SVM模型預測精度的影響因素主要有懲罰因子c和核函數參數σ,所以懲罰因子和核函數參數的選擇對支持向量機模型的建立至關重要.近年來,學者們已經提出了基于遺傳算法、粒子群算法、蟻群算法等對SVM的參數進行尋優(yōu)的優(yōu)化算法.布谷鳥搜索算法(Cuckoo Search,CS)是一種新型的仿生學算法,該算法依據布谷鳥特殊的存窩產子方式而概括出的,現已在計算機智能系統(tǒng)、多資源均衡優(yōu)化等方面運用廣泛.該算法雖具有控制參數少、全局尋優(yōu)能力強等優(yōu)點,但是在計算后期易出現搜索速度過慢的現象[4].本文遵循最速下降法的迭代修正原則而提出基于最速下降法的混合布谷鳥搜索算法(SDCS),該算法具有簡單、高效、在概率選擇和適應度的確定上具有自適應性和魯棒性等優(yōu)點.實測數據驗證表明,通過SDCS算法對SVM模型的懲罰因子c和核函數參數σ進行全局尋優(yōu),SDCS-SVM模型較SVM模型和多元回歸模型具有更高的精度和泛化能力.
支持向量機模型對解決分類和復雜的非線性回歸問題卓有成效.SVM的主要思路為將某一輸入空間的非線性變量參照內積函數映射到一個高維的空間,并在該高維空間進行線性回歸[5].n維向量樣本可表示為:(x1,y1),(x2,y2),…,(xi,yi)∈(Rn×R),通過最優(yōu)決策函數f(x)=[ω,φ(x)]+b將非線性映射φ(x)轉化為更高維空間的線性函數.根據結構風險最小化原則尋找ω,b,最小二乘支持向量機在優(yōu)化目標中的損失函數ε為誤差ξi的二次項,優(yōu)化過程與公式(1)等價[6]:
建立Lagrange函數優(yōu)化上述問題:
式中,ai>0.那么以上問題就變?yōu)?/p>
根據 KKT(Karush-Kuhn-Tucker)條件:
定義核函數k(x,xi)滿足 Mercer條件,消去ξi和ω后,ξi和ω得到如下線性方程組:
式中:e=[1,1,…,1]T;I為單位矩陣;α=[α1,α2,…,αl]T;Qij=K(xi,xj);i,j=1,2,…,l.
就核函數而言,能作為核函數的需滿足Mercer條件.較為常用的核函數有如公式(7)所示的徑向基核函數(RBF):
最后得到的回歸模型如下:
綜上所述,SVM回歸模型的關鍵在于懲罰因子c和核參數σ的選定,本文通過SDCS算法對參數c和σ進行全局尋優(yōu).
Yang和Deb通過模擬布谷鳥隨機尋找適合自己產卵的位置的特點,抽象出了布谷鳥搜索算法[7].以下3條規(guī)則為布谷鳥搜索算法的前提:
規(guī)則1:每只布谷鳥每次只產一個卵,并隨機選擇鳥巢進行孵化[8].
規(guī)則2:每次用于產卵的隨機鳥巢中,產出最好蛋的鳥巢將會被存放至下一代.
規(guī)則3:可用于產卵的鳥巢總數n是一定的,稱鳥窩主人發(fā)現鳥巢中含有外來蛋的概率為發(fā)現概率pa,則發(fā)現概率滿足pa∈[0,1].
在布谷鳥搜索算法中,每個隨機的鳥巢都與每個最優(yōu)解一一對應.第一步,基于當前解的基礎之上,布谷鳥搜索以Levy flights的隨機游動產生新解,評估完成后以最大限度的選擇較優(yōu)解.其次,根據發(fā)現概率pa放棄部分解以增加多樣性.最后,采用偏好隨機游動方式重新生成與被放棄解數量相同的新解,評價和保留較優(yōu)解之后,完成一次迭代[9].
當Levy flights組件生成新解后,代入式(9)生成F-化解Xt+1,i:
式中,α表示步長信息,Xt,i表示第t代第i個解.α用于確定隨機搜索范圍:
其中,α0是常數(α0=0.01),Xbest表示當前最優(yōu)解.
公式(9)中,⊕表示點乘積(entry-wise multiplications),Levy(λ)服從Levy概率分布:
為方便計算,采用公式(12)計算Levy隨機數:
其中,u,v服從標準正態(tài)分布,β=1.5.
顯然,歸納公式(9)~(13),在 Levy flights游動組件中,新解Xi的產生可通過公式(14)進行計算
下面以發(fā)現概率pa放棄部分解.通過公式(15),布谷鳥搜素算法采用交叉操作和混合變異方式重新生成若干等數量的新解:
其中,r為(0,1)上均勻分布的隨機數,稱為縮放因子;Xj和Xk表示兩個隨機解.
最速下降法作為最悠久的優(yōu)化算法之一具有簡單直觀,有一階收斂速度,目前更為行之有效的優(yōu)化算法均建立在該算法的基礎之上.為克服布谷鳥搜索算法之前所述的缺陷,利用最速下降法進行迭代修正,其迭代流程可按以下步驟表示:
第1步:選定初始點x0,預先給定停止誤差ε>0,令k:=();
第2步:計算▽f(xk),若‖▽f(xk)‖≤ε,跳出迭代,輸出xk.反之進行第3步;
第3步:取pk=-▽f(xk);
第4步:進行一維搜索,求tk,使得:
令xk+1=xk+tkpk,k:=k+1轉第2步.
通過布谷鳥搜索算法而保留得到鳥類孵出上代的最優(yōu)解,并利用最速下降法簡單靈活、善于解決n元函數的無拘束非線性規(guī)劃問題的優(yōu)點進行迭代,不斷修正最優(yōu)鳥巢的位置,最終獲得最優(yōu)解矩陣.
綜合上述理論,大壩變形SDCS-SVM預警模型的流程圖如圖1所示.
圖1 流程圖
西南某混凝土雙曲拱壩,壩頂高程1 245m,最大壩高293.5m,總裝機容量420萬kW.對其布置正垂線對大壩變形進行監(jiān)測,選取大壩拱冠梁測點的監(jiān)測資料,其中20100701~20120524共100組實際觀測數據用于擬合,20120531~20120719共8組觀測值用來預測.
為加快學習的速度,需要標準化訓練樣本的數據.每組樣本數據的最大、最小值用Xmax、Xmin表示,則標準化后變量如公式(17)所示:
下面定義鳥巢總數n=25,發(fā)現概率pa=0.25,最大迭代限制次數為100次,懲罰因子c的變化范圍為[0.1,100],核參數σ的變化范圍為[0.01,10].通過Matlab數學軟件比較SDCS-SVM模型與多元回歸模型的擬合以及預測情況.經過SDCS算法的尋優(yōu),支持向量機最優(yōu)的懲罰因子c為0.998 4,核參數σ為0.987 5.
為了更為直觀的展現SDCS-SVM模型擬合值的優(yōu)越性,將其與多元回歸模型的擬合值進行比較,如圖2所示.
圖2 模型擬合曲線圖
圖3為SDCS-SVM模型與多元回歸模型預測值的比較.從圖中可以清晰的看出,SDCS-SVM模型的預測精度高于多元回歸模型.
圖3 模型預測曲線圖
下面利用均方差(FMSE)來比較不同模型的擬合和預報精度,均方差越小表示擬合預測的精度也就越高.公式(18)為均方差的計算公式:
式中,n為樣本數;yi為監(jiān)測實值為模型計算值.SDCS-SVM模型、SVM模型、多元回歸模型的擬合時段、預測時段的均方差見表1所示.
表1 模型均方差比較
從3種模型的擬合效果來看,SDCS-SVM模型效果最優(yōu),SVM模型效果其次,多元回歸模型效果最差.從模型的預報效果來看,SDCS-SVM模型的泛化能力最好,多元回歸模型的泛化能力最差.
為避免布谷鳥搜索算法在后期搜索速度過慢和搜索精度過低的缺陷,將其與最速下降法相結合,提出了基于最速下降法的布谷鳥搜索混合算法.再將其與支持向量機相結合,形成SDCS-SVM模型,并在大壩監(jiān)測數據的擬合與預測上進行運用.從分析實例可以看出,SDCS-SVM預警模型相對于SVM模型和多元回歸模型,具有更好的非線性擬合能力和泛化能力,可用于復雜的大壩安全非線性預警模型的建立.
[1] 蘇懷智,吳中如,戴會超,等.初探大壩安全智能融合監(jiān)控體系[J].水力發(fā)電學報,2005,24(1):122-126,52.
[2] Su Huaizhi,Hu Jiang,Wu Zhongru.A Study of Safety Evaluation and Early-warning Method for Dam Global Behavior[J].Structural Health Monitoring,2012,11(3):269-279.
[3] 姜翠萍.支持向量機模型和算法研究[D].大連:大連理工大學,2005.
[4] 杜利敏,阮 奇,馮登科,等.基于共軛梯度的布谷鳥搜索算法[J].計算機與應用化學,2013(4):406-410.
[5] 蘇懷智,溫志萍,吳中如,等.基于SVM理論的大壩安全預警模型研究[J].應用基礎與工程科學學報,2009,17(1):40-48.
[6] 李方方,趙英凱,顏 昕,等.基于Matlab的最小二乘支持向量機的工具箱及其應用[J].計算機應用,2006,26(z2):358-360.
[7] 王 凡,賀興時,王 燕,等.基于高斯擾動的布谷鳥搜索算法[J].西安工程大學學報,2011,25(4):566-569.
[8] 吳 炅,周健勇.整數規(guī)劃的布谷鳥算法[J].數學理論與應用,2013(3):99-106.
[9] 胡欣欣,尹義龍.求解連續(xù)函數優(yōu)化問題的合作協同進化布谷鳥搜索算法[J].模式識別與人工智能,2013(11):1041-1049.