?

基于遺傳算法優化支持向量機的大壩安全性態預測模型

2020-09-24 10:39谷艷昌吳云星黃海兵
關鍵詞:滲流適應度大壩

谷艷昌,吳云星,黃海兵,龐 瓊

(1.南京水利科學研究院大壩安全與管理研究所,江蘇 南京 210029; 2.水利部大壩安全管理中心,江蘇 南京 210029)

我國共有水庫9.8萬余座,其中土石壩占絕大部分。近年來,大壩安全越來越受到重視,大壩安全早期預警需求也越來越迫切[1-2]。如何根據大壩安全監測數據,挖掘大壩潛在安全運行信息,實現大壩安全準確預警,對于大壩安全應急管理非常重要。目前,在大壩安全預測預警領域,主要有傳統方法和智能方法。傳統方法有統計模型、確定性模型、混合模型,智能方法諸如支持向量機(support vector machines,SVM)模型[3]、神經網絡模型[4]、小波分析[5]等已得到廣泛應用。其中支持向量機模型基于結構風險最小原理,能有效地解決小樣本、高維數、非線性的問題,具有良好的泛化能力[6-9]。但支持向量機精度與懲罰參數c和核函數參數g密切相關,其參數優化方法有傳統的k-折交叉驗證法(k-CV)、遺傳算法(GA)[10-11]、粒子群算法(PSO)[12-13]、人工蜂群算法(ABCA)[14]、布谷鳥搜索算法(CS)[15]等啟發式算法。傳統的支持向量機在k-CV意義下,采用網格劃分尋找最佳參數,其可以有效避免過學習和欠學習狀態的發生,但同時存在精度低、在更大范圍內參數尋優費時等缺點[16]。遺傳算法是一種適合復雜系統優化的自適應概率優化技術,收斂性快、精度高,尋優能力和適應性強[17],可以不必遍歷網格內的所有參數點,即能搜索到全局最優解,目前在參數尋優中應用普遍。

為提高大壩安全性態預測效果,本文采用遺傳算法對支持向量機的懲罰參數c和核函數參數g進行優選,以影響量和效應量歷史監測數據對支持向量機進行訓練,建立GA-SVM預測模型,并擬定大壩安全性態三級指標和判別準則。將GA-SVM模型應用于實際工程的滲流性態預測中,以驗證該模型的有效性。

1 支持向量機和遺傳算法基本原理

1.1 支持向量機

支持向量機是由Cortes等于1995年正式提出的[18],其可以通過少量樣本解決非線性高維空間問題,具有良好的分類能力和預測性能。支持向量機原理如下:

設有一組訓練樣本(x1,y1),(x2,y2),…,(xi,yi)∈(Rn×R),采用非線性映射φ(x)將樣本映射到更高維的特征空間,在更高維空間構造最優線性函數f(x)=ω·φ(x)+b。根據結構風險最小化原則尋找合適的ω、b,為了降低模型復雜程度,提高泛化能力,尋優過程等價于式(1)(2):

(1)

s.t.yi=ωT·φ(xi)+b+ξi(i=1,2,…,l)

(2)

式中:ω——權向量;c——懲罰參數,c>0;ξ——松弛變量,用來衡量訓練樣本偏離程度;b——常數;l——訓練樣本數。

為實現上述優化問題,建立Lagrange函數:

(3)

式中:αi——Lagrange乘子。

根據最優解KKT(Karush-Kuhn-Tucker)條件:

(4)

可得

(5)

定義核函數K(x,xi)滿足Mercer條件,消去ξi和ω之后,可得到如下線性方程組:

(6)

其中e=[1,1,…,1]Tα=[α1,α2,…,αl]TQij=K(xi,xj) (i,j=1,2,…,l)

式中:I——單位矩陣。

就核函數而言,只要滿足Mercer條件的均為核函數。常見的核函數有線性函數、Sigmoid函數、多項式函數和高斯徑向基(RBF)函數等,其中RBF函數應用最為廣泛,無論大樣本還是小樣本都有比較好的性能。本文SVM算法的實現采用LIBSVM工具箱,選取RBF函數作為核函數:

(7)

式中:x——函數中心;g——核函數參數。

最終得到的回歸模型如下:

(8)

根據以上支持向量機原理可知,懲罰參數c和核函數參數g是影響支持向量機預測性能的關鍵因素。

1.2 遺傳算法

遺傳算法把問題的解編碼為染色體,再通過創建適應度函數,按適應度函數值的概率分布篩選出高適應度值的個體,然后再進行選擇、交叉和變異等操作來交換種群中染色體的信息,最終產生符合優化目標的染色體(最優解)[19]。

a. 創建適應度函數。適應度函數是個體適應環境能力的表達,其與目標函數有關,本文以均方誤差作為目標函數。由于遺傳算法只能向著使適應度值增大的方向進化,因此適應度函數采用均方誤差的倒數形式。

b. 選擇。從上一代群體中按一定概率選擇優秀個體(適應度值大的個體被選中的概率大),組成新的種群。個體被選中的概率為

(9)

式中:ps——個體被選中的概率;Fs——個體適應度值;N——種群數量。

c. 交叉。從種群中隨機選擇2個個體,以交叉概率β(位于[0,1]區間)進行染色體交換,并將優秀的特征遺傳給下一代,經交叉運算產生的子代替其父代。2個個體ak、al在z位的交叉運算為

(10)

d. 變異。首先隨機地從種群中選擇一個個體,然后以一定的概率對個體的某個基因進行變異,從而保持群體中基因的多樣性。第u個個體的第v個基因進行的變異操作為

(11)

式中:amax、amin——基因auv的上界、下界;r——[0,1]間的隨機數;r1——隨機數;G——當前進化代數;Gm——最大進化代數。

2 GA-SVM大壩安全性態預測模型

圖1 遺傳算法優化SVM參數c和g流程Fig.1 Optimization procedure of SVM parameters c and g by genetic algorithm

2.1 遺傳算法參數尋優

遺傳算法優化SVM的懲罰參數c和核函數參數g的實現過程見圖1。具體步驟為:(a)對懲罰參數c和核函數參數g進行二進制編碼,產生初始種群。(b)設定遺傳算法最大進化代數、交叉概率和變異概率。(c)以k-CV意義下的均方誤差的倒數作為適應度函數,并計算個體的適應度。(d)判斷是否滿足終止條件,即進化次數是否達到最大進化代數。若達到最大進化代數,則遺傳算法運行終止,輸出最優解;否則,進行以下步驟。(e)采用輪盤賭法進行選擇操作,而后進行交叉和變異操作。(f)將所有個體中適應度最高的個體作為最優解,并解碼后輸出。

2.2 GA-SVM預測模型

2.2.1GA-SVM預測模型構建

根據實際需要,選定模型輸入(如庫水位、溫度、降雨、時效等)和輸出變量(如變形、滲流壓力等),將用于分析的歷史數據分為訓練樣本和測試樣本,然后將遺傳算法尋優得到的最佳c和g賦予支持向量機進行訓練,最后將訓練好的模型對未來數據進行回歸預測,即為GA-SVM大壩安全性態預測模型。

2.2.2 大壩安全性態判別準則

由于庫水位、降雨等影響因素具有隨機性,因此受其影響的大壩效應量也具有隨機性。對于已運行時間較長的大壩,積累的監測數據量較為充分,大壩效應量的變化近似服從正態分布[20]。

根據概率統計理論中的3σ準則,對于一個具有正態或近似正態分布的樣本,其數值分布在(μ-σ,μ+σ)中的概率為0.682 6,分布在(μ-2σ,μ+2σ)中的概率為0.954 4,分布在(μ-3σ,μ+3σ)中的概率為0.997 4[21]。據此,可根據3σ準則制定大壩安全性態三級指標,即μ+σ、μ+2σ和μ+3σ。μ、σ分別為GA-SVM模型的均值和標準差。

大壩運行安全性態級別分4級,若y′為某一時刻由預測模型得到的效應量預測值,則:(a)當y′<μ+σ時,為正常;(b)當μ+σ≤y′<μ+2σ時,為基本正常;(c)當μ+2σ≤y′<μ+3σ時,為異常;(d)當y′ ≥μ+3σ時,險情很可能發生。

2.2.3 基于GA-SVM模型的大壩安全性態判別

GA-SVM大壩安全性態預測模型的實現流程見圖2。

圖2 GA-SVM大壩安全性態預測模型實現流程Fig.2 Realization process of GA-SVM prediction model for dam safety behavior

3 某水庫大壩滲流安全性態預測

某水庫正常蓄水位21.16 m,100年一遇洪水位24.60 m,1 000年一遇設計洪水位25.62 m,PMP校核洪水位27.72 m,死水位16.68 m。大壩為均質土壩,壩頂長2 222 m,壩頂寬6 m,最大壩高為24.00 m,壩頂高程為28.70 m。

3.1 數據選取和預處理

3.1.1 確定輸入和輸出變量

3.1.2 訓練和測試數據選取

以該壩B0500A測點為例,對本文建立的GA-SVM模型進行適用性分析。B0500A測點位于樁號0+500距壩軸線12 m處,測點高程為12.58 m。

通常情況下,輸入數據越多,訓練后的模型越能反映輸入輸出關系,但數據太多會增加計算量,導致模型收斂偏慢,而數據過少則有可能達不到理想的預測效果。另外,受到環境和儀器本身因素的影響,效應量監測數據往往由真實值和觀測誤差(噪聲)組成,若直接采用未經消噪的觀測數據對支持向量機進行訓練會影響模型的穩定性,因而需事先對所選樣本數據進行去噪處理,提高數據序列的光滑度。鑒于此,選取2010年1月1日至4月10日共100期的庫水位、降雨數據作為訓練樣本的輸入,將經小波消噪后的滲流壓力值實測數據作為訓練樣本的輸出,其過程線見圖3。將2010年4月11—20日共10個期次的實測數據作為測試樣本。

3.1.3 數據標準化處理

圖3 B0500A測點滲流壓力與庫水位和降雨過程線Fig.3 Hydrograph of reservoir water level, rainfall and B0500A observed seepage pressure

圖4 遺傳算法優化SVM參數適應度曲線Fig.4 Fitness curve of SVM parameter in the optimization process by genetic algorithm

圖5 各模型滲流壓力預測值過程線Fig.5 Curves of predicted seepage pressure by different models

表1 3種模型預測精度對比

為加快學習速度,需對數據進行標準化處理:X′=0.1+0.8(X-Xmin)/(Xmax-Xmin)。其中:X′為標準化后的值,其值介于[0.1,0.9]之間;Xmax、Xmin分別為樣本中每組數據的最大值與最小值。

3.2 參數設置

為了對GA-SVM模型的預測效果進行橫向比較,本文同時建立了SVM模型和逐步回歸模型。GA-SVM模型采用遺傳算法優化懲罰參數c和核函數參數g,SVM模型采用k-CV法對參數進行優化,其他參數采用默認值。遺傳算法參數設置為:最大進化代數取100,種群數量取50,代溝取0.9,k-CV參數取5,c介于[0,100],g介于[0,100],交叉概率和變異概率均取0.7。

3.3 模型預測性能評價標準

采用平均絕對誤差(MAE)、均方根誤差(RMSE)和希爾不等系數(TIC)評價各預測模型的性能。平均絕對誤差可以較好地反映預測精度,其越小,預測精度越高。均方根誤差可以較好地衡量不同模型預測誤差間的微小差別,其值越小越好。希爾不等系數是評價預測值相對實測值擬合誤差的指標,介于[0,1]之間,越接近0,表示擬合誤差越小,計算公式見文獻[12]。

3.4 預測結果分析

基于MATLAB R2014a平臺,采用LIBSVM-3.22工具箱,利用遺傳算法優化支持向量機c和g,經多次運行,得出較佳的適應度曲線,其變化過程見圖4。

經遺傳算法優化得到的最佳參數c=98.815 9,g=0.016 403,然后賦予支持向量機并用訓練樣本進行訓練,再將測試樣本輸入訓練好的模型中進行預測。3種模型預測值及預測值過程線見圖5。

由圖5可知,GA-SVM模型預測值較SVM模型和逐步回歸模型預測值更接近實測值,且其過程線整體變化趨勢與實測值變化過程相似,能較為真實地反映大壩滲流壓力的變化情況。SVM模型和逐步回歸模型預測值相差不大,預測值過程線變化趨勢與實測值變化過程大體相似,但預測效果均劣于GA-SVM模型。隨著預測期數的增加,從第8期開始,GA-SVM模型預測值過程線開始偏離實測值過程線,預測誤差明顯增大,這是由于老數據刻畫系統演化的作用在逐步降低。因此,使用同一個訓練樣本對SVM訓練后預測期數不宜過多,且隨著預測期數的推移需不斷加入新的數據,以增強模型的預測效果。

各模型的預測精度比較見表1。GA-SVM模型無論從平均絕對誤差(MAE)、均方根誤差(RMSE)還是希爾不等系數(TIC)均小于SVM模型和逐步回歸模型,反映出其預測效果較為理想,可以滿足大壩滲流預測的需要。

GA-SVM模型均值μ為17.85,標準差σ為0.22。由3σ準則計算得到的B0500A測點的滲流壓力三級安全性態指標分別為μ+σ=18.07 m、μ+2σ=18.29 m和μ+3σ=18.51 m。在預測時段內,由GA-SVM模型得到的B0500A測點滲流壓力預測值均小于18.07 m,因此大壩滲流性態正常,后續繼續觀測。

4 結 論

a. 懲罰參數c和核函數參數g是影響支持向量機預測性能的關鍵因素,采用遺傳算法進行參數尋優,有效地克服了k-CV法參數選擇時精度低、不易全局優化的缺點。

b. 本文建立的GA-SVM模型成功地預測了大壩滲流壓力,平均絕對誤差僅為0.017 9、均方根誤差為0.023 5、希爾不等系數為0.001 0,其預測精度較SVM模型和逐步回歸模型提高了3倍左右。但預測期數不宜過多,需不斷加入新的數據進行訓練,以使模型的預測效果更佳。

c. 基于GA-SVM模型預測結果,根據大壩滲流安全性態三級指標和四級判別準則,合理判定了大壩滲流安全性態。

猜你喜歡
滲流適應度大壩
改進的自適應復制、交叉和突變遺傳算法
深基坑樁錨支護滲流數值分析與監測研究
渭北長3裂縫性致密儲層滲流特征及產能研究
長河壩左岸地下廠房滲流場研究及防滲優化
考慮各向異性滲流的重力壩深層抗滑穩定分析
大壩:力與美的展現
啟發式搜索算法進行樂曲編輯的基本原理分析
大壩利還是弊?
基于人群搜索算法的上市公司的Z—Score模型財務預警研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合