張瀟瓏
(江西信息應用職業(yè)技術學院 環(huán)境工程系,江西 南昌330043)
建筑物沉降預測有多種方法,包括回歸分析法、灰色理論法、時間序列法、人工神經(jīng)網(wǎng)絡法。以上幾種方法存在周期長、速度慢、誤差大等缺點,在樣本數(shù)目較大的條件下能取得良好的預測效果,但在小樣本數(shù)目的預測方面取得的成效并不理想。灰色理論法在建筑物沉降過程中受到的影響較大,精度得不到保證。人工神經(jīng)網(wǎng)絡在計算時存在收斂慢等現(xiàn)象,預測效果往往達不到要求。支持向量機[1]在實際應用中存在一個亟待解決的問題,即對于算法中的某些參數(shù)應該如何設置。
針對這一問題,本文提出自適應粒子群優(yōu)化的支持向量機算法,利用自適應粒子群優(yōu)化算法改進支持向量機的參數(shù)選擇和設置,解決在建筑物變形預測方面的難題。
粒 子 群 算 法[2](Particle Swar m Optimization,PSO)是一種人工智能算法,其基本思想來源于對鳥群覓食過程的模擬和研究,是Eberhart于1995年提出的一種群體性、自適應型的算法。近幾年,PSO算法的研究熱點逐漸傾向于它的全局收斂性、收斂精度及最優(yōu)解的確定。群體中的鳥被理想化為“粒子”,它們在運動的過程中會受到速度和自身位置的影響,最終在復雜的空間里找出最優(yōu)解 因此PSO算法 核心部分由速度和位置兩個方面構(gòu)成。
在n維空間中,設有粒子群搜索,該種群由m個粒子構(gòu)成:Q={Q1,Q2,…,Qm},每一個粒子所處的位置Qi={qi1,qi2,…,qin},每一個粒子的速度可記為:Vi={vi1,vi2,…,vin}。則每個粒子的速度和位置可表示為

式中:vid(t+1)表示第i個粒子在t+1次迭代中,在第d維中的速度;c1(t),c2(t)為加速常數(shù);r()為區(qū)間[0 ,1]上的隨機數(shù);pbest為個體粒子最佳位置;pg為整個種群中的最優(yōu)位置;ω表示慣性權(quán)重,可根據(jù)式(3)進行迭代法計算。

式中:ωmax為起始值;ωmin為終止值;itermax表示最大迭代次數(shù);iter為當前迭代次數(shù)。
為避免算法進入早熟狀態(tài),在算法中引入變異算子,具體方法是在一定區(qū)域內(nèi),粒子與粒子間的距離要找到一個平衡點,即保持粒距在一定的精度后,保留平衡點所在的最優(yōu)位置,重新開始在空間區(qū)域內(nèi)的下一步搜索。因此,分別將速度算式和位置算式改為式(4)、式(5)。

式(4)中,在式后加入的一個部分f·c3·vmax即為變異算子,當某個粒子進入局部收斂時,對飛行速度的變異;f作為一個標志值,取值范圍為0或1,一般情況下為0,當陷入早熟時取值為1,c3為加速常數(shù),可由式(6)定義。


以上設計的方法,自動調(diào)整粒子在搜索區(qū)域內(nèi)的搜索方向、速度、位置的功能稱之為自適應粒子群優(yōu)化算法(APSO)[4],算法流程如圖1所示。

圖1 APSO算法流程圖
本文將自適應粒子群優(yōu)化的支持向量機算法稱之為APSO-SVM算法。針對于支持向量機,主要是其核函數(shù)及模型參數(shù)的確定。核函數(shù)類型主要包括:線性核函數(shù)、多項式核函數(shù)、徑向基核(RBF)、傅里葉核函數(shù)、樣條核函數(shù)、Sigmoid核函數(shù)。在選取最優(yōu)核函數(shù)時,相對誤差最小的核函數(shù)就是最優(yōu)核函數(shù)。在一般情況下,選擇線性核函數(shù)為最優(yōu)選擇。
對于模型參數(shù),APSO算法將對SV M的部分參數(shù)進行優(yōu)化和選取。模型參數(shù)包括懲罰因子(γ)、核函數(shù)(σ)、不敏感損失系數(shù)(ε)[5],得到APSO-SV M算法預測模型的建立步驟如下:
Step 1建立數(shù)據(jù)集并進行數(shù)據(jù)預處理。根據(jù)訓練樣本及數(shù)據(jù)空間結(jié)構(gòu),構(gòu)建合適的數(shù)據(jù)集,將集合內(nèi)的數(shù)據(jù)進行預處理。
Step 2 APSO參數(shù)初始化。包括的參數(shù)設定為:種群規(guī)模scale及范圍scope、加速常數(shù)c1和c2、進化代數(shù)最大值Tmax、慣性權(quán)值因子maxω和minω、粒子初始位置S及初始速度v1,v2,…,vm,m表示種群大小。
Step 3評價種群m(t)。
Step 4計算粒子群的適應度方差δ2。
Step 5根據(jù)式(4)、式(5)更新粒子的速度及位置,最優(yōu)位置為pbest,根據(jù)式(3)更新粒子的慣性權(quán)重ω,生成新的種群m(t+1)。
Step 6檢查最優(yōu)解條件 判斷適應度值是否滿足最大迭代次數(shù),如果滿足,則尋優(yōu)結(jié)束,輸出最優(yōu)值best(γ,σ,ε)。如果不滿足條件,則轉(zhuǎn)至Step2,繼續(xù)尋優(yōu)。
Step 7找到粒子的最優(yōu)位置及速度后,將輸出的最優(yōu)參數(shù)best(γ,σ,ε)賦給SV M算法中進行訓練學習。
Step 8將訓練過的樣本數(shù)據(jù)輸入到SV M網(wǎng)絡中[6],對SV M進行訓練,得到預測模型,進行預測。
APSO算法過程通過Apsopr ogress實現(xiàn),部分代碼如下:
%適應度的計算:
Apso=[v,nu mstr(pop_option.v),γ,nu m2str(pop(i,1)),σ,nu m2str(pop(i,2))…,ε,nu m2str(pop(i,3)),s3]
Fitness(i)=sv mtrain(train,apso)end
%尋優(yōu)
f or i=apso.option.max
f or j=apso_option.popsize%速度更新
V(j)=apso_option.w V*V(j)+apso_option.c1*rand*(local_y(j)-pop(j))+pso_option.c2*rand*(whole_y-pop(j));
if V(j,1)>Vγmax
V(j,1)=Vγmax;
end
if V(j,1)<Vγmin
V(j,1)=Vγmin;
end
if V(j,2)>Vσmax
V(j,2)=Vσmax;
end
if V(j,2)<Vσmin
V(j,2)=Vσmin;end
if V(j,3)>Vεmax
V(j,3)=Vεmax;
end
if V(j,3)<Vεmin
V(j,3)=Vεmin;
end
在2014年4月5日至7月5日期間對某建筑物進行20次沉降監(jiān)測 以其中的一個點收集沉降數(shù)據(jù),建立建筑物沉降的APSO-SV M算法預測模型。以前15期數(shù)據(jù)作為訓練樣本,預測建筑物沉降數(shù)據(jù)。
本文實驗在windows7上運行,以APSO及SV M算法為基礎,以matlab7.1為開發(fā)工具,根據(jù)選取最佳參數(shù)開發(fā)建筑物沉降APSO-SV M預測模型。
參數(shù)設置見表1。

表1 參數(shù)設置
%預測過程
test_x=X2;%預測數(shù)據(jù)輸入
test_y=Y(jié)2;%預測數(shù)據(jù)輸出
test_x M=map min max('apply',test_x,train_x PS);
test_y M=map min max('apply',test_y,train_y PS);
test_x M=test_x M';%矩陣轉(zhuǎn)置
test_y M=test_y M';
%將預測集數(shù)據(jù)輸入訓練好的SV M[7],進行預測
[test_predict M,test_mse]=sv mpredict(test_y M,test_x M,model);
test_predict=map min max('reverse',test_predict M',train_y PS);
利用函數(shù)Apsoprogress尋找到建筑物沉降訓練數(shù)據(jù)的SV M模型最優(yōu)參數(shù)best(γ,σ,ε),經(jīng)過Tmax為100次的迭代,得到最優(yōu)參數(shù)為:γ=2.312 1,σ=2.538 9,ε=0.2,最 大 適 應 度 值 為-0.002。
現(xiàn)對建筑物沉降數(shù)據(jù)預測,并與傳統(tǒng)的SV M算法預測的結(jié)果作比較,兩種預測方法結(jié)果如表2與圖2所示。
從表2可以看出,自適應粒子群優(yōu)化的支持向量機算法最大相對誤差為2.7%,高于傳統(tǒng)的支持向量機算法的最大誤差。從圖2可以看出,傳統(tǒng)的SV M算法在后期出現(xiàn)偏差較大的現(xiàn)象,而APSO-SV M算法經(jīng)過部分參數(shù)的優(yōu)化和選取 通過迭代次數(shù)的增加,提高預測精度,使其在預測中得到良好的效果。

表2 沉降觀測值、SVM預測值及APSO-SVM預測值對比

圖2 沉降實測值、SVM預測值及APSO-SVM預測值
本文結(jié)合自適應粒子群優(yōu)化算法,對支持向量機算法進行改進,提出自適應粒子群優(yōu)化算法的支持向量機算法(APSO-SV M),利用APSO對SV M中的參數(shù)進行改進,結(jié)合建筑物變形特點建立APSO-SV M建筑物沉降預測模型。通過實例驗證,取得良好的預測效果。實驗數(shù)據(jù)表明:APSO-SV M算法經(jīng)過參數(shù)的優(yōu)化和選擇,相比于傳統(tǒng)的SV M算法,在預測精度上有較大的提高,在建筑物沉降預測方面有較高的推廣價值。
[1] 閻輝,張學工,李衍達.應用SV M方法進行沉積微相識別[J].物探化探計算技術,2000,22(2):158-164.
[2] 陳貴敏,賈建援,韓 琪.粒子群優(yōu)化算法的慣性權(quán)遞減策略研究[J].西安交通大學學報,2006,40(1):53-56.
[3] 俞歡軍,張麗平,陳德釗,等.基于反饋策略的自適應粒子群優(yōu)化算法[J].浙江大學學報:工學版,2005,39(9):1286-1291.
[4] 金洋,郭茂祖,鄧超.基于雁群啟示的粒子群優(yōu)化算法[J].計算機科學,2006,33(11):166-168,191.
[5] MOHAN A L,KUMAR S M.Artificial neural networ k-based peak load forecasting using conjugate gradient methods[J].IEEE Transactions on Power Systems,2002,17(3):907-912.
[6] JANSON S,MIDDENDORF M.A Hierarchical Particle Swar m Optimizer and Its Adaptive Variant[J].IEEE Trans.on Systems,Man,and Cyber neticss,2005,35(6):1272-1282.
[7] 劉江華,程君實,陳佳品.支持向量機訓練算法綜述[J].信息與控制,2002,31(1):45-49.