崔曉寧,王起才*,2,張戎令,2,代金鵬,2,謝 超
(1. 蘭州交通大學 土木工程學院,蘭州 730070;2. 蘭州交通大學 道橋工程災害防治技術國家地方聯(lián)合工程實驗室,蘭州 730070)
高性能混凝土是一種新型高技術混凝土,采用常規(guī)材料和工藝生產(chǎn),根據(jù)需要摻入改善混凝土性能的外摻料,使得混凝土結構具有所要求的各項力學性能,增加高耐久性、高工作性和高體積穩(wěn)定性[1].得益于高性能混凝土的優(yōu)異性能,高性能混凝土被廣泛的應用于建筑行業(yè)各個領域.經(jīng)過養(yǎng)護的混凝土28 d抗壓強度是鋼筋混凝土結構設計的關鍵參數(shù),也是衡量高性能混凝土工程性能的重要指標.因此,對于混凝土抗壓強度的研究具有較高的科研價值[2].
近幾年,隨著人工智能技術的迅猛發(fā)展,各個行業(yè)都在結合人工智能新技術進行自我賦能[3-4].基于機器學習、深度學習的工程類研究也在如火如荼的進行[4-7].許多機器學習理論已經(jīng)應用到混凝土相關研究中,主要包括:人工神經(jīng)網(wǎng)絡[8],支持向量機[9],集成算法[10]等.Daneshvar等[11]使用隨機森林算法,建立了瀝青混凝土的動彈模預測模型,預測結果精度可達94.62%.周雙喜等基于深度學習理論研究混凝土孔成像分析[12]以及氯離子在混凝土中的擴散模型[13].Ren等[14]基于計算機視覺技術,提出了一種適用于裂縫語義分割的卷積神經(jīng)網(wǎng)絡,為隧道的健康監(jiān)測提供新方法.Cui等[15]將注意力機制引入混凝土裂縫的語義分割任務中,并提出一種Att-Unet的卷積神經(jīng)網(wǎng)絡,實現(xiàn)了裂縫的準確語義分割.Chun等[16]基于隨機森林算法,開展鋼筋混凝土結構內(nèi)部損傷研究,并取得了準確的預測結果.湯志立等[17]基于9種機器學習算法對巖爆進行分類,分類結果表明機器學習算法具有較高的分類精度,其預測結果與現(xiàn)場監(jiān)測結果有較好的一致性.
基于機器學習的混凝土相關研究已經(jīng)開展并取得一定成果,但對于混凝土抗壓強度的預測研究仍在發(fā)展階段,且應用機器學習算法的研究尚有不足,主要表現(xiàn)為:現(xiàn)有研究多采用單一機器學習算法進行預測,而對于多種算法在同一數(shù)據(jù)上的適用性對比研究較少[18].針對現(xiàn)有研究的不足,基于隨機森林、支持向量回歸分析以及多層感知機3種機器學習算法進行混凝土抗壓強度預測研究,通過多特征輸入構建機器學習模型數(shù)據(jù)集,以訓練、測試、對比不同模型在應用于高性能混凝土抗壓強度預測的精度,甄選適用于混凝土抗壓強度預測的最優(yōu)模型.
科學合理的數(shù)據(jù)集選取是實現(xiàn)混凝土抗壓強度準確預測的關鍵.加州大學歐文分校機器學習實驗室提供的混凝土公共數(shù)據(jù)集涵蓋了混凝土配合比設計中常見的八種變量且數(shù)據(jù)集樣本數(shù)量能夠滿足機器學習的需求,因此,使用該數(shù)據(jù)集進行混凝土抗壓強度的預測研究[19].該數(shù)據(jù)集共有1 030個數(shù)據(jù),每個數(shù)據(jù)都包含八個變量和混凝土抗壓強度實測值,為提高機器學習的泛化能力與預測精度,在進行機器學習模型建立和訓練過程中將八個變量全部作為模型的特征輸入.其中八個特征變量輸入為:水泥用量,齡期,水,粗骨料,細集料,高效減水劑,粉煤灰,礦粉.輸出結果變量為混凝土的抗壓強度值.數(shù)據(jù)集的數(shù)值特征統(tǒng)計如表1所列.Q1,Q2,Q3分別表示下四分位數(shù),中四分位數(shù),上四分位數(shù).
表1 數(shù)據(jù)集特征統(tǒng)計
多層感知機由感知機發(fā)展而來.通常情況下,多層感知機由三部分組成,即:輸入層、隱藏層、輸出層,多層感知機神經(jīng)網(wǎng)絡模型的原理如圖1所示.假設輸入樣本個數(shù)為m,每個樣本有n個特征,對于特征輸入層X∈Rm×n,以具有h個神經(jīng)元的隱藏層為例,隱藏層的權重及偏置可表示為Wh∈Rn×h、bh∈R1×h,輸出值有q個特征,則輸出層的權重及偏置分別為WO∈Rh×q、bO∈R1×q.輸入層到隱藏層的激活函數(shù)為σ1,隱藏層到輸出層的激活函數(shù)為σ2.于是多層感知機神經(jīng)網(wǎng)絡模型參數(shù)設定如表2所列.
圖1 多層感知機原理
表2 神經(jīng)網(wǎng)絡參數(shù)匯總表
根據(jù)表2的模型參數(shù)設定可得:
輸入層到隱藏層:
(1)
h=σ1(net1),
(2)
隱藏層到輸出層:
(3)
(4)
損失函數(shù)?。?/p>
(5)
基于前文的模型設定,多層感知機模型的計算步驟為:
1) 初始化神經(jīng)網(wǎng)絡模型中的權值和偏置項
2) 參數(shù)向前傳播,得到各層輸出和損失函數(shù)的期望值
(6)
3) 根據(jù)損失函數(shù),計算輸出單元的誤差項和隱藏單元的誤差項.
輸出單元的誤差項,即計算損失函數(shù)關于輸出單元的梯度值.根據(jù)鏈式法則有:
(7)
(8)
隱藏單元的誤差項,即計算損失函數(shù)關于隱藏單元的梯度值.根據(jù)鏈式法則有:
(9)
(10)
4) 更新神經(jīng)網(wǎng)路中的權值和偏置項
輸出單元參數(shù)更新:
(11)
(12)
隱藏單元參數(shù)更新:
(13)
(14)
5) 重復步驟2)~4),直到損失函數(shù)小于模型設定的閾值或迭代計算次數(shù),輸出此時的參數(shù)即為模型最佳參數(shù)[20].
支持向量回歸(SVR)算法的建立基于兩點原則:1) 模型允許預測值f(x)與真實值y之間存在ε的誤差;2) 當f(x)與y絕對值大于ε時,模型的損失函數(shù)才進行參數(shù)更新.因此,SVR模型以f(x)為中心,以±ε為帶寬,構建了一個模型參數(shù)不更新區(qū)域帶,SVR的原理示意如圖2所示.在圖2中,橙色區(qū)域表示允許誤差范圍內(nèi),即參數(shù)不更新區(qū)域,藍色實心點表示落在±ε的參數(shù)不更新區(qū)域條帶中,橙色空心在誤差允許值之外.SVR的優(yōu)化目標函數(shù)式為[20]
圖2 支持向量回歸示意
(15)
式中:ω為法向量;C為正則化常數(shù);L為模型優(yōu)化目標函數(shù);f(xi)為模型的預測值;yi為數(shù)據(jù)真實標簽值.
Bagging算法是并行集成算法的代表,對于給定的N個樣本原始數(shù)據(jù)集,每次進行有放回的采樣,得到一個由m個樣本組成的數(shù)據(jù)集,同樣的取樣流程進行k次,得到k個訓練集,進而基于每個訓練集訓練一個基學習器.Bagging算法通過訓練k個獨立的基學習器得到每個基學習器的預測結果,進而對k個基學習器的預測結果進行加權得到整個集成算法的預測結果.
本文的Bagging集成算法采用隨機森林(RF)對數(shù)據(jù)集進行回歸分析.RF是Bagging集成算法的一個變種改良模型.RF以決策樹為基學習器,通過對若干決策樹的集成搭建隨機森林模型,同時RF在決策樹的訓練過程中引入特征屬性的隨機選擇,基于這一機制,RF繼承了Bagging集成算法的樣本擾動優(yōu)點,同時在此基礎上進行改良,引入屬性隨機選擇的擾動策略.因此,對于同一數(shù)據(jù)集,隨機森林的雙重隨機性使其具有更好的泛化能力和抗過擬合能力,隨機森林的算法原理如圖3所示.
圖3 隨機森林算法原理
文中所用混凝土抗壓強度數(shù)據(jù)集包含1 030個數(shù)據(jù)點,將數(shù)據(jù)集按照7∶3的比例劃分成訓練集與測試集,其中訓練集用來訓練和優(yōu)化機器學習模型的參數(shù),測試集用來評估機器學習模型的最終預測精度.為排除模型參數(shù)設置不合理引起的模型次優(yōu)化現(xiàn)象,在機器學習模型訓練與評估之前,先利用GridSearch[21]方法對不同機器學習模型進行參數(shù)優(yōu)化設定.
為對比分析多層感知機(MLP)、支持向量回歸(SVR)以及隨機森林(RF)三種機器學習算法在混凝土抗壓強度數(shù)據(jù)集上的表現(xiàn),選取四個常用的機器學習模型評價指標:R2,MAE,MAPE,RMSE.其中MAE、MAPE、RMSE都是衡量模型誤差的評價指標,三者互為補充,用不同類型的誤差來衡量模型的預測精度,其值越小,模型的預測精度越高;R2是相關系數(shù),表征模型預測值與數(shù)據(jù)真實值之間的接近程度,R2越接近于1,則表示模型的預測精度越高.R2,MAE,MAPE,RMSE數(shù)學表達式如公式(16)~(19)所示.
(16)
(17)
(18)
(19)
式中:y為抗壓強度真實值;y′為抗壓強度模型預測值.
在各個模型的預測結果對比前,為使各個模型的預測結果更加準確,采用了GridSearch方法對各種模型的參數(shù)進行最優(yōu)化.基于前文建立的模型評價體系,對各個模型的預測結果進行統(tǒng)計分析,其對比結果如表3所列.
分析表3可得:1) 總體而言,對于誤差衡量指標(MAE、RMSE、MAPE),隨機森林模型的預測結果為誤差最小的模型,其次是多層感知機模型,預測誤差最大的模型為支持向量回歸模型.2) 就相關系數(shù)R2而言,隨機森林模型達到了0.902,是三種模型中相關系數(shù)最高的,這說明對于多特征輸入高性能混凝土抗壓強度預測任務,隨機森林表現(xiàn)出了較高的預測精度,可以為混凝土抗壓強度的預測提供一定參考.
表3 三種機器學習模型對比分析
隨機森林模型的混凝土抗壓強度預測結果與測試集實際抗壓強度的統(tǒng)計結果如圖4所示.從圖4(a)可以看出:總體而言,對于混凝土不同抗壓強度大小,隨機森林模型的預測結果與測試集的真實值十分接近,隨機森林預測誤差標準差均值為3.78 MPa,誤差百分比均值為13.73%,體現(xiàn)了隨機森林模型用于多特征輸入混凝土抗壓強度預測的準確預測能力.從圖4(b)可以看出隨機森林的數(shù)據(jù)預測絕大部分在±15%誤差以內(nèi),經(jīng)過統(tǒng)計,測試集上共有309個樣本,其中223個樣本的預測結果在±15%以內(nèi),誤差超過±15%的數(shù)據(jù)點共有86個.以15%為誤差界限,對不同強度區(qū)間內(nèi)的隨機森林預測誤差進行統(tǒng)計,統(tǒng)計結果如表4所列.從表4中可以看出:隨著混凝土抗壓強度的增大,超限點所占的比例逐漸減小,這說明隨機森林模型對混凝土抗壓強度較低時值預測誤差相對較大,但隨著預測強度的增大,隨機森林模型的預測精度逐漸提升,當混凝土抗壓強度達到50 MPa之后,隨機森林模型預測超限點比例僅占14.41%.由此可見,隨機模型對強度較高的數(shù)據(jù)點預測較為準確.
圖4 隨機森林模型預測結果分析
表4 隨機森林預測結果超限統(tǒng)計
為有效評價隨機森林模型的預測誤差,引入誤差貢獻率這一指標EC·EC的定義如公式(20)所示.以混凝土抗壓強度小于30 MPa的集合為例,以誤差±15%為誤差界限值,則在該集合中總樣本數(shù)為55,超限樣本數(shù)為26,訓練集總樣本309,超限點總數(shù)86,該集合以17.80%的樣本占有率貢獻了整體模型30.23%的誤差,誤差貢獻率達1.70,這說明隨機森林模型在強度低于30 MPa的范圍內(nèi)預測誤差相對較大.
(20)
對隨機模型測試集上預測結果的誤差統(tǒng)計如圖5所示,從圖5的誤差累積曲線可以看出,當模型誤差累積到50%時,對應的混凝土抗壓強度為28.93 MPa,在誤差累積到50%之后,隨著抗壓強度的提高,誤差累積曲線切線斜率逐漸減小.總體上說明,隨機森林模型對低強度樣本預測誤差大,對高強度樣本預測誤差小.從圖5的誤差貢獻率曲線可以看出:混凝土抗壓強度在0~30 MPa時,誤差貢獻率較高,此時模型對于樣本的預測結果誤差相對較大,混凝土抗壓強度在30~50 MPa時,模型的預測誤差迅速下降,當強度達到50 MPa后,模型的誤差貢獻率趨于收斂,誤差貢獻率基本穩(wěn)定在1.0~1.15之間,這說明模型在抗壓強度低于30 MPa時具有較高的預測誤差,隨著抗壓強度的增大,模型的預測精度逐漸提高.
圖5 隨機森林模型誤差曲線
1) 將機器學習算法應用到了多特征輸入高性能混凝土的抗壓強度預測,并取得良好結果,研究結果可為機器學習在混凝土抗壓強度預測相關研究提供一定參考.
2) 通過對比隨機森林、支持向量回歸、多層感知機三種機器學習算法在同一數(shù)據(jù)集上的表現(xiàn)能力,發(fā)現(xiàn)隨機森林算法預測精度最高,隨機森林算法預測標準差均值為3.78 MPa,誤差百分比均值為13.73%,可以應用于高性能混凝土的抗壓強度預測.
3) 隨機森林算法對于混凝土強度在低于30 MPa的樣本預測誤差較大,誤差貢獻率為1.5~3.5,隨著混凝土抗壓強度的增大隨機森林模型預測誤差減小,即當混凝土抗壓強度達到30 MPa以上時,模型具有較高的預測精度.