郭港歸,李國棟,魏 杰,王立杰
(1.西安理工大學(xué)西北旱區(qū)生態(tài)水利國家重點實驗室,陜西 西安 710048;2.中國電建集團中南勘測設(shè)計研究院有限公司,湖南 長沙 410014)
水流摻氣[1-2]是防止高水頭泄水建筑物空化空蝕的主要措施。然而,小底坡下的摻氣坎常出現(xiàn)空腔回水現(xiàn)象,導(dǎo)致空腔形態(tài)較差,嚴重時甚至被積水填滿,導(dǎo)致?lián)綒饬坎蛔?,難以達到摻氣減蝕的效果??涨环e水水深和空腔長度是衡量摻氣設(shè)施效率的重要指標(biāo)[3],因此研究坎下水力特性與空腔積水水深、空腔長度的關(guān)系具有重要的工程價值。前人對空腔積水水深和空腔長度進行了較多的理論公式推導(dǎo):楊永森等[4]運用動量方程對控制水體進行受力分析,計算出空腔積水深度;徐一民等[5-6]以微元法為基礎(chǔ),建立空腔回水方程計算空腔積水水深和空腔長度,計算值與試驗值趨勢一致;Chanson[7]利用拋射體公式計算射流空腔長度和回水長度,與實測值相比計算結(jié)果偏大;潘水波[8]對拋射體公式引入3個修正系數(shù),計算精度相對提升。
目前機器學(xué)習(xí)的方法已廣泛應(yīng)用于局部沖刷、水質(zhì)預(yù)測和流量系數(shù)預(yù)測等水科學(xué)領(lǐng)域,人工神經(jīng)網(wǎng)(artificial neural network,ANN)和支持向量機(support vector machine,SVM)是其中重要的方法。由于ANN需要設(shè)置復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),導(dǎo)致模型收斂緩慢,甚至在小樣本數(shù)據(jù)下容易造成過擬合[9],降低預(yù)測準(zhǔn)確度。SVM以最小結(jié)構(gòu)化風(fēng)險原則代替?zhèn)鹘y(tǒng)經(jīng)驗風(fēng)險方法[10],在處理小樣本數(shù)據(jù)中有著天然的優(yōu)勢,泛化能力強,有效防止過擬合,其拓撲結(jié)構(gòu)主要由自身的超參數(shù)決定,通過對超參數(shù)(C和γ)進行優(yōu)化使模型達到較高的預(yù)測精度。Zaji等[11]用適湊法確定了SVM模型的超參數(shù)并對三角形側(cè)堰的流量系數(shù)進行預(yù)測;Jain[12]通過現(xiàn)場實測數(shù)據(jù)建立SVM模型模擬河道水位、流量和含沙量的關(guān)系;Kiyoumars等[13]采用粒子群算法(PSO)優(yōu)化SVM模型實現(xiàn)對階梯溢洪道流量系數(shù)和消能率的預(yù)測;趙慶志等[14]通過網(wǎng)格搜索的方法對超參數(shù)進行尋優(yōu),得到了基于LS-SVM的短期降雨預(yù)測模型。
本文通過網(wǎng)格搜索和交叉驗證的方法建立SVM回歸(GS-SVR)模型,研究超參數(shù)C和γ之間的規(guī)律和其對模型性能的影響?;贕S-SVR模型,依據(jù)評估指標(biāo)判別6種參數(shù)輸入中的最優(yōu)組合,實現(xiàn)了對空腔積水深度和空腔長度的準(zhǔn)確預(yù)測,并采用敏感性分析尋找對該模型起關(guān)鍵作用的因素。
本文基于沈春穎[15]的試驗數(shù)據(jù)集,建立GS-SVR模型。試驗水槽全長7.6 m,槽寬10 cm,來流量的范圍為0~5.5 L/s,挑坎體形如圖1所示。在不同的挑坎體形和來流條件下進行模型試驗,分別測量水深h、挑坎坡度i1、挑坎高度Δ、空腔積水水深h1、空腔長度L、水舌沖擊角θ和底坡坡度i2。試驗數(shù)據(jù)總量162組,范圍見表1。
表1 試驗數(shù)據(jù)范圍
圖1 摻氣坎布置方式
采用皮爾遜相關(guān)系數(shù)r反映各變量之間的相關(guān)性,皮爾遜相關(guān)系數(shù)如圖2所示,圖中v為坎頂流速。試驗輸出變量包括h1和L,其余除θ以外均為輸入變量。當(dāng)2個變量之間的皮爾遜相關(guān)系數(shù)|r|>0.3,則認為兩變量之間相關(guān)性較強,輸入變量應(yīng)避免兩兩之間有較強的相關(guān)性,確保變量的相對獨立性。由圖2可知,輸入變量之間的相關(guān)系數(shù)的絕對值多數(shù)小于0.3,表明各輸入變量獨立性較好。輸出變量h1與Δ、θ和i2的相關(guān)性較強,相關(guān)系數(shù)分別為0.73、0.5、-0.43,當(dāng)Δ和θ增大時,均導(dǎo)致h1增加,而隨著i2增大,h1減少;輸出變量L受到Δ和v的影響較大,相關(guān)系數(shù)分別為0.61和0.57,說明v和Δ增加時,L隨之增加。
圖2 變量相關(guān)性分布
先利用量綱分析法確定需要的輸入變量,在此基礎(chǔ)上選擇不同的輸入組合,并對其進行歸一化處理。采用網(wǎng)格搜索和交叉驗證的方法優(yōu)化不同訓(xùn)練樣本比例和輸入組合的SVM模型,建立最佳輸入組合下的GS-SVR模型,并分析模型超參數(shù)C和γ的分布規(guī)律。
采用表1中的物理模型試驗數(shù)據(jù)建立SVM模型,預(yù)測小底坡低弗勞德數(shù)泄洪洞的h1、L。h1和L是衡量摻氣設(shè)施是否符合要求的重要指標(biāo)。根據(jù)文獻[16]可知h1和L均受到以下因素的影響:
Y=f(i1,i2,h,v,Δ,Δp)
(1)
式中:Y為h1或L;Δp為空腔內(nèi)外壓力差。摻氣設(shè)施通氣充分時,Δp對空腔長度和空腔積水水深的影響可以忽略不計。基于量綱分析方法[17],可由式(1)得到:
(2)
由于Δ與h具有相同量綱,因此等效后得到另一種形式:
(3)
變量組合見表2和表3,WD1~WD4與CL1~CL4以式(2)為基礎(chǔ)的輸入組合,輸入變量依次降低,探究變量數(shù)目對模型的影響;WD5~WD6與CL5~CL6以式(3)為基礎(chǔ)的的輸入組合,對比不同量綱化方式對模型性能的影響。
表2 空腔積水水深模型的變量組合
表3 空腔長度模型的變量組合
2.2.1歸一化處理
原始數(shù)據(jù)中,各變量之間的數(shù)值差異較大,影響模型的預(yù)測性能,因此對數(shù)據(jù)進行預(yù)處理是必要的。在無量綱化后,采用式(4)進行歸一化,統(tǒng)一變量范圍到0~1之間。
(4)
式中:xmin為樣本數(shù)據(jù)的最小值;xmax為樣本數(shù)據(jù)的最大值;x*為歸一化后的值。
2.2.2訓(xùn)練集、測試集和交叉驗證
許多研究者只將數(shù)據(jù)集分為訓(xùn)練集和測試集,模型從訓(xùn)練集中學(xué)習(xí),在測試集中調(diào)整SVR模型超參數(shù)。而實際中很多時候缺少未來的數(shù)據(jù),并且由于測試集用于模型調(diào)參,導(dǎo)致測試數(shù)據(jù)的信息提前泄漏到模型中,造成模型預(yù)測結(jié)果精度偏高、不能反映模型的泛化性能,容易產(chǎn)生過擬合[18]。為了解決上述問題,需要提取一部分數(shù)據(jù)作為驗證集,模型在訓(xùn)練集上學(xué)習(xí),在驗證集上調(diào)參,測試集用于最終評估。然而,數(shù)據(jù)集分為3組將大大減少可用于模型學(xué)習(xí)的樣本數(shù)量,造成模型訓(xùn)練不充分,導(dǎo)致計算結(jié)果存在隨機性,而k折交叉驗證(k-CV)的方法能有效解決樣本容量小的問題。k-CV將原訓(xùn)練集拆分為k個較小的集合,對于每一個小集合都遵循以下原則:①使用k-1折數(shù)據(jù)作為模型的訓(xùn)練數(shù)據(jù);②模型對剩下1折數(shù)據(jù)進行驗證;③k-CV的模型評估指標(biāo)是k次循環(huán)中的平均值(該指標(biāo)可用于模型泛化水平的度量)。交叉驗證的方法不會浪費數(shù)據(jù),非常適合數(shù)據(jù)樣本總量較少的情況。本試驗將采用五折交叉驗證的方法,具體步驟如圖3所示。
圖3 五折交叉驗證示意圖
2.2.3訓(xùn)練樣本抽取比例
訓(xùn)練樣本數(shù)量占總樣本數(shù)量的比重會影響SVR模型的性能。本試驗選取訓(xùn)練樣本抽取比例分別為50%、60%、70%和80%,采用網(wǎng)格搜索和交叉驗證的方法預(yù)測空腔積水水深h1和空腔長度L。模型指標(biāo)選取相關(guān)系數(shù)R2,不同抽取比例下的分布如圖4所示。由圖4可知,隨著訓(xùn)練樣本量增加,訓(xùn)練集、交叉驗證集(CV)和測試集的模型指標(biāo)R2均增加。說明該模型性能隨著訓(xùn)練數(shù)據(jù)的增加而提高。因此,本次試驗選擇訓(xùn)練集占總樣本集的80%為基準(zhǔn)比例。
圖4 SVR模型指標(biāo)分布
GS-SVR模型具有良好的泛化性能,而其模型性能依賴于它的超參數(shù)[19]。SVR的超參數(shù)主要包括正則化系數(shù)C和核參數(shù)γ。C代表模型復(fù)雜度[20-21],C取值較大時,模型會盡可能擬合所有訓(xùn)練數(shù)據(jù),可能造成模型過擬合。核參數(shù)γ是核函數(shù)的內(nèi)置參數(shù),代表影響支持向量的強度[20]。
網(wǎng)格搜索[22]是最常見的尋優(yōu)算法之一,其主要目的是讓尋優(yōu)超參數(shù)C和γ在一定坐標(biāo)范圍內(nèi)、根據(jù)規(guī)定步長劃分網(wǎng)格,并遍歷所有的網(wǎng)格,對選定的網(wǎng)格節(jié)點的所有超參數(shù)組合C和γ利用k折交叉驗證得到模型交叉驗證評估指標(biāo)(R2),最終取使模型交叉驗證評估指標(biāo)R2最高的那組C、γ為最佳超參數(shù)組合。
圖5為基于網(wǎng)格搜索下的h1和L預(yù)測模型的超參數(shù)分布,其中C和γ均在2-8~28之間,分別在各范圍內(nèi)取100個網(wǎng)格點(總網(wǎng)格數(shù)100×100=10 000),根據(jù)圖上的等高線和顏色分布可以找到交叉驗證評估指標(biāo)R2取值較大時的位置。試驗結(jié)果表明,在所有的輸出組合和訓(xùn)練抽取比例下,交叉驗證評估指標(biāo)均呈現(xiàn)相似的分布,因此僅展示3張圖(圖5)。圖5中C和γ對模型性能影響較大。中間黃色區(qū)域的R2>0.7,模型性能較好;左上和左下深藍色區(qū)域C取值較小,造成模型欠擬合;圖右上淺藍色區(qū)域γ較大導(dǎo)致模型過擬合,模型性能不理想。深黃色區(qū)域中模型性能進一步提高(交叉驗證評估指標(biāo)R2>0.86),沿著該區(qū)域能夠找到交叉驗證評估指標(biāo)R2取值最大的點,該點對應(yīng)最優(yōu)超參數(shù)組合。深黃色區(qū)域中,當(dāng)C增至+∞時,則γ趨于-∞,說明超參數(shù)處于相反的增長趨勢。C增大實現(xiàn)模型對樣本充分訓(xùn)練,同時減少γ防止其過度訓(xùn)練,最終模型的預(yù)測結(jié)果處于最佳狀態(tài),因此SVR保持其良好泛化性能和高預(yù)測精度的機制是通過平衡C和γ的大小來實現(xiàn)的。
圖5 網(wǎng)格搜索中R2的分布情況
空腔回水和空腔長度是小底坡、低弗勞德數(shù)泄洪洞摻氣設(shè)施設(shè)計中關(guān)注的指標(biāo),通過GS-SVR分別對6種參數(shù)不同輸入組合進行分析,模型評估指標(biāo)選取R2和均方根誤差RMSE。
表4 空腔積水水深的模型指標(biāo)
表5 空腔長度的模型指標(biāo)
圖6 敏感性分析
結(jié)合變量相關(guān)性分析發(fā)現(xiàn),相關(guān)性分析與敏感性分析聯(lián)系緊密,相關(guān)系數(shù)大的輸入變量對模型影響大。因此,在建模之前可以通過相關(guān)性分析選擇重要的輸入變量。
a.原數(shù)據(jù)中,各輸入變量之間獨立性較好;輸出變量空腔積水水深和空腔長度均與輸入變量存在相關(guān)性。根據(jù)不同抽取比例訓(xùn)練集的結(jié)果發(fā)現(xiàn),小樣本容量中,較大的訓(xùn)練集抽取比例能提高GS-SVR模型的性能。
b.通過網(wǎng)格搜索和交叉驗證的方法對模型超參數(shù)進行優(yōu)化,發(fā)現(xiàn)該方法能找到最佳超參數(shù)組合、提高模型性能,并且GS-SVR模型計算結(jié)果的高準(zhǔn)確度機制是通過超參數(shù)C和γ的相互制約來實現(xiàn)。
c.6種不同輸入組合的計算結(jié)果表明,保持GS-SVR模型復(fù)雜度和樣本復(fù)雜度一致并且采用合適的量綱化方式會極大改善模型性能,在此基礎(chǔ)上尋找最佳變量組合,實現(xiàn)對空腔積水水深、空腔長度的精準(zhǔn)預(yù)測。
d.敏感性分析發(fā)現(xiàn),空腔積水水深模型對坎高和坎下底坡較為敏感,空腔長度模型僅對坎高敏感。本文試驗由于弗勞德數(shù)變幅較小,而SVM預(yù)測結(jié)果依賴于試驗數(shù)據(jù),故建模型的通用性有待考量,未來可收集更多摻氣坎體型下的試驗數(shù)據(jù),擴大模型應(yīng)用范圍。