李 昕,趙二峰,王嘉毅
(1.河海大學(xué)水文水資源與水利工程科學(xué)國家重點實驗室,江蘇 南京 210024;2.河海大學(xué)水利水電學(xué)院,江蘇 南京 210024;3.河海大學(xué)水資源高效利用與工程安全國家工程研究中心,江蘇 南京 210024)
我國混凝土壩大多建造在江河山谷中,面對極其復(fù)雜的工作環(huán)境,混凝土壩失事往往難以完全避免[1-2]。混凝土壩一旦失事將對人民生命財產(chǎn)安全及國家經(jīng)濟(jì)社會可持續(xù)發(fā)展造成巨大損失,因此建立精度高、適用性好的變形預(yù)測模型,對保障工程安全運(yùn)行具有重要意義[3]。
統(tǒng)計模型是混凝土壩變形預(yù)測的傳統(tǒng)模型,但是由于其無法處理高維非線性問題,無法滿足高拱壩變形預(yù)測精度要求。近年來各類機(jī)器學(xué)習(xí)算法已應(yīng)用到監(jiān)控模型中,例如BP神經(jīng)網(wǎng)絡(luò)模型、支持向量機(jī)模型等,但這類模型存在較難確定最優(yōu)參數(shù)、收斂速度慢、容易陷入局部最小值等問題[4-5]。極限學(xué)習(xí)機(jī)作為一種單隱含層前饋神經(jīng)網(wǎng)絡(luò)算法,有著運(yùn)行速度快且穩(wěn)定的優(yōu)點[6-7],在混凝土壩變形預(yù)測中逐漸得到應(yīng)用。Kang等[8]將極限學(xué)習(xí)機(jī)應(yīng)用到重力壩變形監(jiān)測中,結(jié)果表明該模型泛化能力較好;曹恩華等[9]在混凝土壩變形預(yù)測中將多尺度變量提取法與極限學(xué)習(xí)機(jī)相結(jié)合,較好地減少了非平穩(wěn)性對預(yù)測結(jié)果的影響;陳優(yōu)良等[10]利用改進(jìn)的蝙蝠算法優(yōu)化極限學(xué)習(xí)機(jī),提高了大壩變形預(yù)測的精度;鄢濤等[11]通過EEMD分解大壩變形量帶入極限學(xué)習(xí)機(jī)中進(jìn)行預(yù)測,挖掘了變量與影響因素間的關(guān)系。
極限學(xué)習(xí)機(jī)模型的初始輸入權(quán)值和偏置是隨機(jī)產(chǎn)生的,具有一定的盲目性,如何優(yōu)化參數(shù)選取,增強(qiáng)網(wǎng)絡(luò)的穩(wěn)定性是一個難題,而麻雀搜索算法作為一種新型優(yōu)化算法,近年來在光學(xué)、電力工程等領(lǐng)域得到了應(yīng)用[12-14],因此,本文針對極限學(xué)習(xí)機(jī)隨機(jī)選取參數(shù)導(dǎo)致模型精度、穩(wěn)定性較差的問題提出一種基于PCA-SSA-ELM的混凝土壩變形預(yù)測模型,利用主成分分析法對高維度變形因子進(jìn)行降維,通過麻雀搜索算法對極限學(xué)習(xí)機(jī)的初始輸入權(quán)值和偏置選取進(jìn)行優(yōu)化,進(jìn)一步提高了預(yù)測模型的精度與穩(wěn)定性。
主成分分析法(Principal Component Analysis,PCA)是一種降維方法,它可以在損失信息最小的前提下降低大型數(shù)據(jù)的維度。PCA用k個不相關(guān)變量u1,u2,…,uk代替m個初始變量,這些新變量包含了原始數(shù)據(jù)的主要信息。
主成分的數(shù)量是根據(jù)累計方差貢獻(xiàn)率(CPV)決定的,其計算公式為
(1)
式中,λi為第i個特征值;k為主成分的數(shù)量;m為初始變量的數(shù)量。預(yù)先設(shè)定累計方差貢獻(xiàn)率的閾值,當(dāng)滿足閾值時,k個成分會被選為初始變量的主成分。
極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)是一種新型的機(jī)器學(xué)習(xí)算法,對于單隱含層神經(jīng)網(wǎng)絡(luò),ELM可以隨機(jī)初始化輸入權(quán)重和偏置并得到相應(yīng)的輸出權(quán)重,與BP神經(jīng)網(wǎng)絡(luò)不同的是,ELM中的輸入權(quán)重和偏置一旦確定后便不會改變,大大提高了模型的運(yùn)行速度。
對于一個單隱層神經(jīng)網(wǎng)絡(luò),假設(shè)有M個任意的樣本(Xi,ti),其中,Xi=[xi1,xi2,…,xim]T∈Rm,ti=[ti1,ti2,…,tin]T∈Rn。對于一個有L個隱含層節(jié)點的單隱含層神經(jīng)網(wǎng)絡(luò)可以表示為
(2)
式中,g(x)為非線性分段連續(xù)激活函數(shù),如Sigmoid函數(shù)、Sin函數(shù)、Hardlim函數(shù);Wi為輸入權(quán)重,Wi=[wi1,wi2,…,wim]T;βi為輸出權(quán)重;bi為第i個隱含層單元的偏置。Wi·Xj表示W(wǎng)i和Xj的內(nèi)積。
單隱含層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)是讓輸出的誤差最小,可以表示為
(3)
即存在βi,Wi和bi使得
(4)
矩陣表示為
Hβ=T
(5)
式中,H為隱含層節(jié)點的輸出;β為輸出權(quán)重;T為期望輸出值。
β一旦被確定,模型網(wǎng)絡(luò)即訓(xùn)練完成,此時可得
(6)
綜上所述,ELM的預(yù)測步驟可以總結(jié)為:①輸入包含M組數(shù)據(jù)的樣本(Xi,ti);②隨機(jī)給定ELM網(wǎng)絡(luò)的初始輸入權(quán)重Wi和偏置bi;③由激活函數(shù)計算出隱含層的輸出矩陣H;④由式(6)計算出輸出權(quán)重β;⑤由式(2)計算預(yù)測結(jié)果。
麻雀搜索算法(Sparrow Search Algorithm,SSA)是Xue和Shen受麻雀種群在捕食過程中的群體合作行為啟發(fā)而提出的一種新型群體智能優(yōu)化算法[15]。SSA算法中,將麻雀種群分為發(fā)現(xiàn)者和加入者,假設(shè)麻雀的數(shù)量是n,搜索食物的空間維度是d,并且在搜索空間中任何單個麻雀的位置為xi={xi1,xi2,…,xid},發(fā)現(xiàn)者對食物進(jìn)行迭代搜索的過程中,其位置采用以下公式進(jìn)行更新:
(7)
式中,tmax為算法的最大迭代次數(shù);α為(0,1]區(qū)間內(nèi)的隨機(jī)值;R∈[0,1]為預(yù)警值,當(dāng)個體麻雀意識到危險警告時發(fā)送;ST為R的閾值,ST∈[0.5,1],這意味著當(dāng)R超過ST時,麻雀將放棄在此范圍內(nèi)的搜索和捕食行為,并移動到安全區(qū)域;Q為服從正態(tài)分布的隨機(jī)值;L為元素均為1的d維行向量。
加入者跟隨發(fā)現(xiàn)者的位置來搜索食物的原則為:①加入者認(rèn)為發(fā)現(xiàn)者可以找到更好的捕食地點;②加入者監(jiān)視著發(fā)現(xiàn)者,并在發(fā)現(xiàn)者找到食物時進(jìn)行爭奪,如果爭奪不成功,加入者會去其他地方進(jìn)行搜索。該過程用數(shù)學(xué)模型表述為
(8)
式中,Xω為適應(yīng)度值最差的位置;Xp為發(fā)現(xiàn)者中適應(yīng)度值最高的位置;A為隨機(jī)生成元素值1或-1的d維行向量,且A*=AT(AAT)-1。
麻雀意識到危險時,會主動靠近搜索圈內(nèi)或周圍的麻雀伙伴,以增加自身的安全性,這種麻雀稱為警戒者,其位置更新為
(9)
式中,Xb為當(dāng)前最高適應(yīng)度值的位置;β為步長控制參數(shù),服從標(biāo)準(zhǔn)正態(tài)分布;K為[-1,1]區(qū)間內(nèi)的隨機(jī)值。
混凝土壩的變形受水壓、溫度與時效等因素的影響,拱壩任意一點的變形矢量δ按其成因可被分解成水壓、溫度、時效3個部分,即
δ=δH+δT+δθ
(10)
式中,δH為水壓分量;δT為溫度分量;δθ為時效分量。
對于混凝土壩而言,水壓分量可表示為
(11)
式中,ai為擬合系數(shù);H為壩前水深。
對于正常運(yùn)行狀態(tài)的混凝土壩,可采用多種諧波組合的周期項作為溫度分量,即
(12)
式中,b1i、b2i均為擬合系數(shù);t為監(jiān)測日到始測日累計天數(shù)。
針對混凝土壩變形特征,可選取對數(shù)函數(shù)來表示時效分量,即
δθ=c1θ+c2lnθ
(13)
式中,θ為監(jiān)測日到始測日的累計天數(shù)除以100,即θ=t/100;c1、c2均為擬合系數(shù)。
利用PCA從混凝土壩變形因子中提取主成分因子,將主成分因子作為訓(xùn)練、預(yù)測樣本,可以降低模型輸入變量的維度,從而提高預(yù)測模型的精度。
ELM的初始輸入權(quán)重和偏置都是根據(jù)任意連續(xù)的概率分布隨機(jī)產(chǎn)生的,具有一定的盲目性,本文利用麻雀搜索算法對輸入權(quán)重和偏置的選取進(jìn)行優(yōu)化,得出最佳輸入權(quán)重和偏置,利用最佳輸入權(quán)重和偏置訓(xùn)練后的網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行測試,提高了模型的精度。具體實現(xiàn)步驟為:①計算水壓、溫度、時效因子,利用主成分分析法提取主成分因子;②將主成分因子序列劃分為訓(xùn)練集和預(yù)測集;③初始化麻雀優(yōu)化算法種群、迭代次數(shù)、發(fā)現(xiàn)者和加入者的比例,并設(shè)置極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)參數(shù);④計算適應(yīng)度值并作排序;⑤由式(7)~式(9)依次更新發(fā)現(xiàn)者、加入者和警戒者的位置;⑥利用訓(xùn)練集對極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,并計算適應(yīng)度值;⑦若滿足終止條件則輸出此時的最優(yōu)初始權(quán)重和偏置,否則返回⑤;⑧極限學(xué)習(xí)機(jī)隱含層輸出矩陣和輸出權(quán)重可由⑦得到的最優(yōu)初始權(quán)重和偏置計算出,從而構(gòu)建出SSA-ELM模型;⑨將預(yù)測集樣本輸入模型中,再作反歸一化處理,即可得到混凝土壩變形預(yù)測值。
基于PCA-SSA-ELM的組合預(yù)測模型具體建立流程如圖1所示。
為評價PCA-SSA-ELM模型的性能,本文選用平均絕對誤差(MAE)、均方根誤差(RMSE)和決定系數(shù)(R2)來對PCA-SSA-ELM、ELM及BP模型擬合、預(yù)測結(jié)果精度作比較。3種評價指標(biāo)計算公式分別為
(14)
(15)
(16)
圖1 預(yù)測模型流程示意
某混凝土高拱壩位于四川省雅礱江下游河段,壩頂高程1 885.0 m,壩基最低建基面高程1 580.0 m,最大壩高305.0 m,壩頂寬16.0 m,壩底厚63.0 m,厚高比0.207。13號壩段為該高拱壩的拱冠梁壩段,2013年6月16日至2015年9月28日期間,PL13-3測點徑向位移數(shù)據(jù)變化較大,具有很強(qiáng)的非線性,故選取作為研究對象,其中2013年6月16日至2015年4月14日的徑向位移數(shù)據(jù)用于訓(xùn)練,2015年4月15至2015年9月28日的徑向位移數(shù)據(jù)用于預(yù)測。
由于各環(huán)境因子的量綱不同,并且差異較大,需要對各因子作歸一化處理,這里選用最大值最小值歸一化方法,計算公式為
x′t=(xt-xmin)/(xmax-xmin)
(17)
計算數(shù)據(jù)的協(xié)方差矩陣,求出協(xié)方差矩陣的特征值和特征向量并計算各成分的貢獻(xiàn)率,結(jié)果見圖2。由圖2可知,前6個主成分的累計方差貢獻(xiàn)率已達(dá)99%,說明6個主成分涵蓋的信息可以反映初始變量之間的關(guān)系,故將6個主成分作為變量進(jìn)行下一步分析。
圖2 特征值及累計貢獻(xiàn)率
設(shè)置麻雀搜索算法中預(yù)警值R=0.6,種群數(shù)量為30,發(fā)現(xiàn)者的比例為種群總數(shù)的70%,意識到有危險的麻雀的比重為種群總數(shù)的20%,迭代次數(shù)為100,設(shè)置ELM模型中隱含層個數(shù)為10,激活函數(shù)選擇Sigmod函數(shù),將得到的主成分變量輸入到ELM網(wǎng)絡(luò)中進(jìn)行優(yōu)化,得到最優(yōu)初始輸入權(quán)重和偏置,構(gòu)建SSA-ELM模型。圖3為SSA收斂曲線,由圖可知,SSA算法ELM時收斂速度很快,短時間內(nèi)就能達(dá)到最優(yōu)解。
選取拱冠梁壩段正垂線上測點PL13-3的徑向位移數(shù)據(jù),以徑向位移實測值為目標(biāo)值進(jìn)行訓(xùn)練與預(yù)測,擬合及預(yù)測結(jié)果如圖4所示。監(jiān)測儀器會受到環(huán)境因素的影響,預(yù)測值與實測值存在些許誤差,由圖4可知,預(yù)測值與實測值在變化趨勢上大致相同。
圖3 SSA算法尋優(yōu)過程適應(yīng)度函數(shù)曲線
圖4 徑向位移擬合及預(yù)測結(jié)果
為了驗證基于PCA-SSA-ELM監(jiān)控模型的有效性,分別建立極限學(xué)習(xí)機(jī)(ELM)監(jiān)控模型與BP神經(jīng)網(wǎng)絡(luò)監(jiān)控模型,與本文所建模型進(jìn)行徑向位移預(yù)測結(jié)果對比。3種監(jiān)控模型預(yù)測結(jié)果對比和殘差結(jié)果見圖5。
圖5 多模型結(jié)果對比
由圖5a可知,3種模型預(yù)測結(jié)果均與實測值的變化趨勢相近,說明3種模型都有較好的預(yù)測精度。在2015年6月20日之前,水位變化趨于平穩(wěn),3種模型預(yù)測水平較為接近,2015年6月20日之后由于水位逐漸升高,拱壩徑向位移逐漸變大,此時3種模型預(yù)測結(jié)果表現(xiàn)出一定差異。BP模型預(yù)測結(jié)果始終高于實測值,并且在拐點處與實測值偏差較大;ELM模型預(yù)測結(jié)果始終低于實測值,總體偏差較BP模型更大;而PCA-SSA-ELM模型預(yù)測結(jié)果與實測值非常接近,僅在2015年8月7日附近有小幅偏差。由此可見,本文模型在壩前水位發(fā)生較大變化時,相比于其他模型具有更強(qiáng)的泛化能力。
由圖5b可知,本文所建模型在擬合段與預(yù)測段殘差變化較其他兩種模型較小且相對穩(wěn)定,說明該模型擬合與預(yù)測精度更高,反映出高拱壩變形總體趨勢。
使用MAE、RMSE及R2來評估3種模型的擬合與預(yù)測精度,結(jié)果見表1。由表1可知,雖然PCA-SSA-ELM模型的擬合精度與其他兩種模型相持平,但預(yù)測精度較其他兩種模型分別提高了56.67%和73.93%,說明本文所建模型比其他兩種模型更適合預(yù)測高拱壩徑向位移變化。拱冠梁壩段作為重點監(jiān)測壩段,較其他壩段更能體現(xiàn)大壩總體變形變化規(guī)律,用PCA-SSA-ELM模型預(yù)測處于拱冠梁壩段測點的徑向位移變化情況,其MAE和RMSE均較其他模型偏小,R2也較其他模型更接近1,表明本文所建模型能較精準(zhǔn)預(yù)測大壩整體位移變化趨勢。
表1 不同模型性能指標(biāo)比較
本文以混凝土壩變形監(jiān)測序列高精度預(yù)測為目標(biāo),集合SSA優(yōu)化算法全局尋優(yōu)和ELM模型泛化能力強(qiáng)的優(yōu)勢,提出了基于PCA-SSA-ELM的混凝土壩變形預(yù)測模型。結(jié)合工程分析,得到下列結(jié)論:
(1)通過PCA提取高拱壩徑向位移環(huán)境因子中的主要信息,減少冗雜信息對預(yù)測的影響;利用SSA算法優(yōu)化選取ELM中的輸入權(quán)重和偏置初始值,對高拱壩徑向位移序列進(jìn)行預(yù)測,避免了ELM在參數(shù)選擇上的盲目性。
(2)工程實例分析表明,該模型穩(wěn)定性好,面對變化較大的環(huán)境量時具有較高的預(yù)測精度和泛化能力,同時可為混凝土壩其他監(jiān)測項目的跟蹤預(yù)測提供新的思路與方法。