王培金
(山東省交通規(guī)劃設(shè)計(jì)院 濟(jì)南市 250031)
大跨徑連續(xù)梁橋的靜載試驗(yàn)是在成橋階段和運(yùn)營期評估橋梁承載能力的重要手段,通常情況下要根據(jù)實(shí)際的橋梁參數(shù),進(jìn)行結(jié)構(gòu)受力分析而得到評估指標(biāo)的理論值,并在實(shí)際靜載試驗(yàn)期間采集評估指標(biāo)的實(shí)測值,通過比較實(shí)測值與理論值的相對大小,進(jìn)而評估結(jié)構(gòu)的承載能力狀況。
然而,對大跨徑橋梁結(jié)構(gòu)的分析是比較耗時(shí)耗力的工作,需要特別仔細(xì)地輸入結(jié)構(gòu)參數(shù)、材料參數(shù)、邊界條件、荷載數(shù)據(jù)等,分析過程中也容易出現(xiàn)錯誤。在如今的大數(shù)據(jù)和人工智能時(shí)代,利用工程師們已經(jīng)積累的大量數(shù)據(jù),結(jié)合適當(dāng)?shù)念A(yù)測算法,預(yù)測得到近似值,作為“校核參考值”,用于對結(jié)構(gòu)分析結(jié)果進(jìn)行校核,對于避免計(jì)算錯誤具有重要的意義。討論用于此目的的預(yù)測算法,稱為模型樹預(yù)測算法,并利用該算法預(yù)測大跨徑連續(xù)梁橋在靜載試驗(yàn)狀態(tài)下的跨中下?lián)现怠?/p>
靜載試驗(yàn)主要是通過測量主梁結(jié)構(gòu)在靜力荷載作用下各控制斷面的應(yīng)變及結(jié)構(gòu)變形,檢驗(yàn)結(jié)構(gòu)承載能力的重要手段。
靜載試驗(yàn)各工況下所施加荷載的大小,根據(jù)靜力試驗(yàn)荷載效率η的合理范圍確定,靜力試驗(yàn)荷載效率η由式(1)計(jì)算得到。《公路橋梁荷載試驗(yàn)規(guī)程》要求η的合理范圍位于0.95~1.05之間。
(1)
式中,η表示靜力試驗(yàn)荷載效率;Sstate表示試驗(yàn)荷載作用下,某工況最大計(jì)算效應(yīng)值;S表示設(shè)計(jì)標(biāo)準(zhǔn)活荷載不計(jì)沖擊作用時(shí)產(chǎn)生的某試驗(yàn)工況的最不利計(jì)算效應(yīng)值;(1+μ)表示設(shè)計(jì)計(jì)算取用的沖擊系數(shù)。
根據(jù)確定的試驗(yàn)加載量,采用有限元進(jìn)行理論計(jì)算,可以得到關(guān)鍵截面評估指標(biāo)的理論值,用Ss表示?,F(xiàn)場施加試驗(yàn)荷載時(shí),可以利用測試儀器采集得到評估指標(biāo)的實(shí)測值,用Se表示。然后,計(jì)算得到校驗(yàn)系數(shù),其計(jì)算方法用式(2)表示。
(2)
對于預(yù)應(yīng)力混凝土結(jié)構(gòu)的彈性下?lián)现担湫r?yàn)系數(shù)通常位于0.70~1.00之間。
由以上敘述可知,在大跨徑連續(xù)梁橋靜載試驗(yàn)過程中,當(dāng)評價(jià)指標(biāo)為主跨跨中下?lián)现档臅r(shí)候,關(guān)鍵在于獲得兩個(gè)參數(shù):試驗(yàn)荷載作用下由有限元結(jié)構(gòu)分析得到的理論下?lián)现?即理論值)、現(xiàn)場試驗(yàn)過程中測得的實(shí)際下?lián)现?即實(shí)測值)。下文將以大跨徑連續(xù)梁橋跨中下?lián)系睦碚撝殿A(yù)測為例,闡述模型樹預(yù)測算法的應(yīng)用,此外,該算法同樣可以用于跨中下?lián)蠈?shí)測值的預(yù)測。
模型樹預(yù)測算法(又可稱為“模型樹”、“模型樹算法”或“模型樹學(xué)習(xí)算法”)是一種機(jī)器學(xué)習(xí)算法,主要用于對連續(xù)數(shù)值問題進(jìn)行預(yù)測,可以用于任何非線性問題的預(yù)測。
為了建立這樣的模型,首先得準(zhǔn)備樣本數(shù)據(jù)。根據(jù)目的不同,把樣本數(shù)據(jù)分為訓(xùn)練樣本數(shù)據(jù)和測試樣本數(shù)據(jù),二者的數(shù)據(jù)格式完全相同,只是目的不同。訓(xùn)練樣本數(shù)據(jù)用于訓(xùn)練模型,而測試樣本數(shù)據(jù)用于測試訓(xùn)練好的模型是否能夠合理地進(jìn)行預(yù)測。每條樣本數(shù)據(jù)都要包含一個(gè)或多個(gè)特征數(shù)據(jù)(又稱為特征變量),并包含一個(gè)目標(biāo)變量。對于多條樣本數(shù)據(jù),把每條樣本數(shù)據(jù)的特征變量值都排列起來,其中每一列代表一條樣本數(shù)據(jù)的各個(gè)特征值,就形成了特征數(shù)據(jù)矩陣。對于訓(xùn)練樣本數(shù)據(jù),用符號X表示特征數(shù)據(jù)矩陣,而對于測試樣本數(shù)據(jù),用符號X1表示特征數(shù)據(jù)矩陣。把所有樣本的目標(biāo)變量值排列成列向量,就得到目標(biāo)向量,對于訓(xùn)練樣本數(shù)據(jù),它是輸入數(shù)據(jù),用y表示;而對于測試樣本數(shù)據(jù)而言,目標(biāo)向量表示輸出數(shù)據(jù),即預(yù)測結(jié)果,用Y1表示。
為了建立模型樹算法,首先討論模型樹算法的基礎(chǔ),即線性回歸算法。當(dāng)給定訓(xùn)練樣本的特征數(shù)據(jù)矩陣和目標(biāo)向量,利用文獻(xiàn)[4]得到線性預(yù)測的回歸系數(shù):
(3)
為了利用模型樹進(jìn)行預(yù)測,首先得通過訓(xùn)練來創(chuàng)建模型樹。創(chuàng)建模型樹的過程,是從根節(jié)點(diǎn)(最上面的節(jié)點(diǎn))開始,逐層向下構(gòu)建所有節(jié)點(diǎn)的過程。在計(jì)算機(jī)中,可以通過遞歸循環(huán)算法來實(shí)現(xiàn),其中每一個(gè)節(jié)點(diǎn)的創(chuàng)建才是關(guān)鍵。為了創(chuàng)建一個(gè)節(jié)點(diǎn),首先需要根據(jù)給定樣本數(shù)據(jù),判斷該節(jié)點(diǎn)是葉子節(jié)點(diǎn)還是決策節(jié)點(diǎn)。
如果判斷其為葉子節(jié)點(diǎn),則該節(jié)點(diǎn)表示線性回歸模型,根據(jù)式(1)可以求出線性回歸系數(shù)。
如果是決策節(jié)點(diǎn),關(guān)鍵在于求出用于決策的特征名稱、用于決策的特征值,并進(jìn)一步構(gòu)造位于其下一層的左子樹和右子樹。比如在根節(jié)點(diǎn)的創(chuàng)建過程中,會輸入整個(gè)訓(xùn)練樣本數(shù)據(jù)(簡稱數(shù)據(jù)集D),為了求出用于決策的特征名稱和用于決策的特征值,那么就按照所有可能的特征變量和所有可能的特征值,分別“試算”,然后對試算結(jié)果的混亂度SV進(jìn)行評價(jià),混亂度越低,代表所選擇的特征變量和特征值越好。假設(shè)數(shù)據(jù)集中的每條樣本都有n個(gè)特征變量,用i表示第i個(gè)特征變量(1≤i≤n);又假設(shè)在所有訓(xùn)練樣本數(shù)據(jù)中,第i個(gè)特征變量的所有取值中,有m種可能,用j表示第j種特征值Vij(1≤j≤m),對于不同的特征變量,m通常是不相等的。對于每一個(gè)i和j,都需要計(jì)算出對應(yīng)的混亂度SVij。為了計(jì)算得到SVij,在選定了第i個(gè)特征變量及相應(yīng)的第j種特征值后,把數(shù)據(jù)集D分成兩個(gè)數(shù)據(jù)集Dij1和Dij2,其中Dij1中的所有樣本數(shù)據(jù)第i個(gè)特征變量的值都小于Vij,Dij2中的所有樣本數(shù)據(jù)第i個(gè)特征變量的值都大于或等于Vij。這樣就把一個(gè)數(shù)據(jù)集劃分為兩個(gè)數(shù)據(jù)集,然后對于每個(gè)數(shù)據(jù)集都分別計(jì)算線性回歸系數(shù),并根據(jù)求得的線性回歸系數(shù),對該數(shù)據(jù)集樣本自身進(jìn)行預(yù)測分析,得到預(yù)測目標(biāo)向量,并將其值與樣本數(shù)據(jù)中的輸入目標(biāo)向量相減,得到誤差列向量ΔyDij1和ΔyDij2,從而計(jì)算出混亂度SVij,如式(4)所示。
(4)
SVij本質(zhì)上就是ΔyDij1的總方差與ΔyDij2的總方差之和。當(dāng)依次改變所有的i和j,求得所有SVij時(shí),即可找到最小的SVij,將其對應(yīng)的特征變量名稱和特征值作為該節(jié)點(diǎn)的決策特征名稱和決策特征值。然后把對應(yīng)的兩個(gè)數(shù)據(jù)集Dij1和Dij2分別分配給其左子樹和右子樹,進(jìn)而對左子樹和右子樹采用上述相同的步驟,通過遞歸循環(huán)可以創(chuàng)建出整棵模型樹。
為了演示算法的應(yīng)用,利用算法來預(yù)測大跨徑連續(xù)梁橋靜載試驗(yàn)中的主跨跨中下?lián)侠碚撝?。其中,所有樣本?shù)據(jù)都是針對3跨預(yù)應(yīng)力混凝土PC變截面連續(xù)梁橋的,混凝土材料強(qiáng)度等級為C50,行車荷載都為公路I級。
所需要的數(shù)據(jù)包括訓(xùn)練樣本數(shù)據(jù)和測試樣本數(shù)據(jù),分別見表1和表2所示,二者的數(shù)據(jù)格式相同,都包括特征變量和目標(biāo)變量(下?lián)现?。特征變量可以采用很多特征,鑒于所使用的樣本數(shù)量有限,特征變量也不宜過多,使用了4個(gè)特征變量,分別為主跨跨度(m)、邊中跨比(邊跨與中間跨跨度比)、高跨比(主跨跨中梁高與主跨跨徑的比值)、寬度比(主梁底面寬度與頂面寬度的比值)。如果樣本數(shù)量足夠大,還可以選用更多的特征變量,比如跨中附近的腹板厚度、1/4跨附近的梁高、1/4跨附近的腹板厚度、支點(diǎn)附近的梁高、支點(diǎn)附近的腹板厚度、配筋率等等指標(biāo)。
表1 訓(xùn)練樣本數(shù)據(jù)
注:鑒于篇幅限制,本表格僅列出少量幾條數(shù)據(jù)
表2 測試樣本數(shù)據(jù)
通過使用python語言編制了模型樹算法計(jì)算程序,通過對表1所示的訓(xùn)練樣本數(shù)據(jù)進(jìn)行訓(xùn)練,創(chuàng)建得到了相應(yīng)的預(yù)測模型樹,見圖1所示。
根據(jù)訓(xùn)練所得的模型樹,對表2的測試數(shù)據(jù)進(jìn)行了預(yù)測,預(yù)測結(jié)果見表3所示。根據(jù)表3中的數(shù)據(jù)可知,預(yù)測值與實(shí)際理論值之間的誤差較小。當(dāng)然,如果改變測試數(shù)據(jù),預(yù)測誤差可能會進(jìn)一步增加。如果采用更多樣本數(shù)據(jù)和更多特征參數(shù)來對模型進(jìn)行進(jìn)一步訓(xùn)練,期望著預(yù)測的可靠性會進(jìn)一步提升。
表3 預(yù)測算法的測試結(jié)果表
以大跨徑連續(xù)梁橋在靜載試驗(yàn)期間的跨中下?lián)现殿A(yù)測為例,演示了模型樹學(xué)習(xí)算法在橋梁工程領(lǐng)域的應(yīng)用,有關(guān)結(jié)論如下:
(1)模型樹算法是通過將非線性問題轉(zhuǎn)換為多個(gè)線性問題的一種算法,可以應(yīng)用于大跨徑連續(xù)梁橋靜載試驗(yàn)過程中的跨中撓度預(yù)測。該算法并非用于取代傳統(tǒng)結(jié)構(gòu)分析方法的,而是把它作為的一種新的快速計(jì)算手段,用于數(shù)據(jù)復(fù)核目的。
(2)測試數(shù)據(jù)表明,誤差相對較小,表明算法本身具有很好的工程應(yīng)用價(jià)值。
(3)鑒于機(jī)器學(xué)習(xí)算法的特點(diǎn),當(dāng)數(shù)據(jù)樣本數(shù)量和特征變量數(shù)量增加時(shí),預(yù)測可靠性有望進(jìn)一步提高。因此,后續(xù)有望通過提升樣本數(shù)量和特征變量數(shù)量,來提升模型樹的可靠性,提升預(yù)測精度。
需要說明的是,本文研究過程中所使用的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)都來源于承載能力處于正常工作狀態(tài)的橋梁,這些橋梁通常都處于線彈性工作狀態(tài),其變形的可預(yù)測性較好,使用本文方法的預(yù)測效果較為理想。然而,對于較少數(shù)承載能力不足的橋梁(注:這些橋梁可能表現(xiàn)出較強(qiáng)的材料非線性特征,變形的可預(yù)測性較差),當(dāng)前還缺乏相應(yīng)的數(shù)據(jù)驗(yàn)證與研究,因此,本方法目前不適用于承載能力不足的橋梁,在實(shí)際工程應(yīng)用過程中應(yīng)注意判斷適用性。
總體而言,鑒于工程界積累了大量的工程數(shù)據(jù),通過利用模型樹等有關(guān)機(jī)器學(xué)習(xí)算法,可以充分發(fā)揮已有數(shù)據(jù)的價(jià)值,使數(shù)據(jù)服務(wù)于工程實(shí)踐,應(yīng)該具有較好的應(yīng)用前景。