胡以嬋,梁 銘,謝燦榮,解威威,翁貽令,池 浩,彭 浩,羅雪霜
(廣西路橋工程集團有限公司,南寧 530011)
混凝土是一種使用廣泛的建筑材料,其性能直接影響建筑物的結構安全、使用壽命和維護成本等關鍵指標。其中,混凝土強度是最重要的指標之一,直接影響建筑物的承載能力和穩(wěn)定性[1-2]。傳統(tǒng)確定混凝土強度的方法通常是基于基準混凝土配合比,通過保持水膠比或砂率不變,不斷調(diào)整膠凝材料和骨料的組合,這種方法不僅耗費大量原材料,浪費大量的人力和時間,且存在偏差大、效率低的問題[3-4],難以對混凝土的強度進行快速準確的評估。由此可見,實現(xiàn)迅速且準確的混凝土抗壓強度預測尤為重要[5-6]。
近年來,國內(nèi)外研究人員在混凝土抗壓強度預測領域積極探索,許多學者已開始使用機器學習的方法來研究混凝土抗壓強度與相關因素之間的關系[7-11]。對于再生骨料混凝土,Yuan等[12]采用了梯度提升(gradient boosting, GB)和隨機森林(random forest, RF)算法,結果表明RF具有較好的預測效果;而Shang等[13]采用了決策樹(decision tree, DT)和自適應增強(adaptive boosting, AdaBoost)算法對混凝土強度進行預測,其中AdaBoost模型具有更高的預測精度。關于稻殼灰混凝土,Iftikhar等[14]采用遺傳算法(genetic algorithm, GA)和RF進行混凝土強度預測,結果表明GA具有更高的預測精度。針對高性能混凝土,Feng等[15]采用AdaBoost集成學習方法進行強度預測,并采用一組新的數(shù)據(jù)集來驗證該模型的泛化性能,結果表明該模型具有較高的精度和良好的泛化性能;Asteris等[16]采用人工神經(jīng)網(wǎng)絡(artificial neural network, ANN)、線性和非線性多元自適應回歸樣條(linear multivariate adaptive regression splines, MARS-L; nonlinear multivariate adaptive regression splines, MARS-C)、高斯過程回歸(gaussian process regression, GPR)和極大極小概率機回歸(minimax probability machine regression, MPMR)四種傳統(tǒng)機器學習(conventional machine learning, CML)模型,將CML模型的預測結果輸出并進行組合,再利用人工神經(jīng)網(wǎng)絡(artificial neural network, ANN)進行訓練,構建混合集成模型(hybrid ensemble model, HENSM),結果表明HENSM具有更高的預測精度。Farooq等[17]采用個體學習器和集成學習器,總體上RF和DT模型在擬合數(shù)據(jù)時表現(xiàn)出較高的魯棒性,并且誤差較小。在鋼纖維增強混凝土方面,Kang等[18]采用11種算法進行強度預測,并通過K-fold驗證,防止模型過擬合,結果表明極端梯度提算法(extreme gradient boosting, XGBoost)的預測精度最高;而馬高等[19]采用反向傳播神經(jīng)網(wǎng)絡(back propagation neural network, BPNN)對纖維增強混凝土進行強度預測,結果表明BPNN能夠很好地挖掘輸入輸出參數(shù)的數(shù)據(jù)信息,得到高精度的預測模型。在其他類型的混凝土強度預測方面,國內(nèi)外學者也運用機器學習的方法進行了一系列研究,并在預測效果上取得一定的成果。其中,Nguyen等[20]采用深層神經(jīng)網(wǎng)絡(deep neural network, DNN)和深殘余網(wǎng)絡(residual network, ResNet)預測粉煤灰地質(zhì)聚合物混凝土的抗壓強度;韓建軍等[21]等采用BPNN對垃圾飛灰混凝土進行抗壓強度預測模型;徐瀟航等[22]采用多層感知機回歸(multi-layer perceptron, MLP)模型、支持向量機(support vector machine, SVR)模型與RF模型對三峽大壩混凝土強度進行預測;梁寧慧等[23]采用回歸樹算法(regression tree, RT)、SVR和ANN對經(jīng)高溫后的聚丙烯纖維混凝土進行強度預測。韓斌等[24]采用粒子群算法(particle swarm optimization, PSO)對ANN進行優(yōu)化,實現(xiàn)對濕噴混凝土強度的高精度預測;汪聲瑞等[25]等通過天牛須搜尋算法(beetle antennae search, BAS)訓練MLP,并與混合復雜進化方法(shuffled complex evolution, SCE)、多元宇宙優(yōu)化算法(multi-verse optimizer, MVO)兩種MLP耦合算法開展混凝土強度預測;李楊等[26]則提出了一種基于分類與回歸樹(classification and regression tree, CART)算法優(yōu)化SVR回歸算法的預測方法,用于提高混凝土抗壓強度的預測精度。
綜上可知,國內(nèi)外學者針對不同類型的混凝土已開展了大量的強度預測模型研究。其中,高性能混凝土因優(yōu)良的耐久性、工作性、力學性能、適用性、體積穩(wěn)定性和經(jīng)濟合理性具有廣闊的應用前景[27],目前在公路[28]、鐵路[29]、房屋建筑[30-31]及水運工程[32-33]等領域得到了廣泛應用。然而,在已有研究中主要關注單個學習器對高性能混凝土性能的預測情況,在綜合考慮多種模型的集成上少有研究,如何充分利用單個學習器的優(yōu)勢,提高模型的預測精度和泛化性能,成為建筑行業(yè)混凝土高質(zhì)量發(fā)展的重點。
本研究將人工智能技術XGBoost算法、CatBoost算法、MLP算法、RF算法與集成學習方式有效結合,提出一種基于Stacking模型融合的高性能混凝土強度預測方法。首先,對收集到的1 030組高性能混凝土抗壓強度數(shù)據(jù)開展數(shù)據(jù)預處理,研究單一機器學習算法對強度的預測精度;其次,在Stacking集成框架下,建立了多種差異化模型融合的強度預測模型并采用新的103組高性能混凝土數(shù)據(jù)集來驗證該模型的泛化性能;最后,采用SHAP值(shapely value)對模型進行可解釋性分析。結果表明:選用XGBoost和RF融合的stacking集成模型預測精度和泛化性能較好,可解釋分析顯示最重要的輸入特征變量是齡期和水泥,說明模型內(nèi)在的預測邏輯與工程實踐的經(jīng)驗較吻合,具有較高的合理性與可靠度。
Stacking是一種集成學習(ensemble learning)的機器學習方法,最早由Wolpert[34]于1992年提出。該方法通常采用兩層結構,如圖1所示。首先,在第1層利用原始數(shù)據(jù)集訓練多個基學習器,得到多個預測結果;然后將第1層的預測結果作為輸入,訓練第2層的元學習器,以獲得最終的預測結果。這種層級結構有助于提高模型的準確度,并降低泛化誤差。
基于Stacking集成學習算法的混凝土強度預測流程,即單個初級學習器5倍交叉驗證過程如圖2所示。
圖2 單個初級學習器5倍交叉驗證過程Fig.2 5-fold cross validation process for a single beginner learner
1)劃分訓練集。根據(jù)交叉驗證的思想,把訓練集隨機劃分為5個相同數(shù)量且互不重疊的子數(shù)據(jù)集。
2)訓練基學習器。首先,對于基學習器1,在訓練集中隨機選擇4個子數(shù)據(jù)集作為訓練集,剩余子數(shù)據(jù)集作為測試集,根據(jù)5倍交叉驗證的思想,基學習器1得到的輸出如圖2所示,在原始數(shù)據(jù)測試集上得到的5個測試結果取平均,最終得到第1個基模型對訓練數(shù)據(jù)的一個Stacking轉換。其他基學習器重復上述步驟,可以完成第1層模型訓練。
3)訓練元學習器。通過利用第1層基學習器產(chǎn)生的混凝土強度預測值構建新的訓練集,用于訓練第二層預測模型,從而獲得最終的混凝土強度預測值。
在Stacking中,學習能力越強且關聯(lián)程度越低的基學習器,其模型融合的預測效果就越好。本研究選擇XGBoost、CatBoost、MLP、RF基學習器作為Stacking集成模型第1層預測算法。在第2層預測模型中,為了避免過擬合,選擇結構簡單且泛化能力強的線性回歸(linear regression, LR)算法作為元學習器。
1.2.1 XGBoost
XGBoost是由Chen等[35]在2016年提出的一種基于決策樹的集成學習算法,采用了GB的思想,通過不斷地添加基學習器,每次訓練一個新的決策樹,從而盡可能地糾正之前模型的誤差。具體來說,每次訓練新的決策樹時,XGBoost會根據(jù)之前模型的殘差來更新樣本權重,并根據(jù)新的樣本權重訓練出一個新的決策樹。XGBoost在傳統(tǒng)梯度提升算法的基礎上,通過引入正則化和樹剪枝等技術,可以有效避免過擬合現(xiàn)象,并提高模型的泛化能力。
1.2.2 CatBoost
CatBoost是由Prokhorenkova等[36]于2017年首次提出的一種基于梯度提升決策樹的算法框架。CatBoost在每一步?jīng)Q策樹運算過程中,根據(jù)上一個決策樹的殘差調(diào)整權重,確保本次計算沿著上一次計算的最小殘差方向進行。這一策略有效地減少了條件偏移和梯度偏差的影響,從而使得該算法能夠?qū)崿F(xiàn)高精度預測,并具備較強的泛化能力。
1.2.3 Random forest
隨機森林是一種基于裝袋的集成學習算法,最早由Breiman[37]在2001年提出。在RF中,首先通過采用自助抽樣方法對原始數(shù)據(jù)進行有放回采樣,生成多個樣本;然后再為每個bootstrap樣本構建分類樹,將分類樹的預測組合在一起后通過投票方式組合在一起,得到最終的預測結果。該模型能夠有效處理高維度的數(shù)據(jù),且無需進行特征選擇,具有優(yōu)良的泛化能力、快速的收斂速度以及較少的調(diào)節(jié)參數(shù)等優(yōu)點。
1.2.4 MLP
多層感知器(multilayer perceptron, MLP)是一種常見的前饋神經(jīng)網(wǎng)絡模型[38]。它由多個神經(jīng)元組成,每個神經(jīng)元分為輸入層、隱含層和輸出層。輸入層中包含一個權值矩陣,用來描述輸入與輸出數(shù)據(jù)之間的關聯(lián);隱含層根據(jù)權值矩陣的設置確定網(wǎng)絡結構及隱層節(jié)點數(shù);輸出層中采用MLP神經(jīng)算法實現(xiàn)運算,最終得到預測結果,對非線性問題有很好的表現(xiàn)能力和泛化能力。
1.2.5 SHAP 值算法
SHAP 算法基于 SHAP值進行模型可解釋性,這一概念來自博弈論[39],其核心思想是利用加性模型G(x)來逼近已訓練好的分類器F(x),具體如式(1)所示。
(1)
式中:φ0為模型對任一樣本預測結果的期望,即所有樣本標簽的均值;φj是n維樣本x的第j個特征的SHAP值。
每個樣本x的任一特征xj在不同特征子集中的邊際貢獻的均值,即定義為該特征的 SHAP 值φj,具體計算方式如式(2)所示。
(2)
式中: {x1,x2,……,xn}為全體輸入特征的集合,S為不包含特征xj的特征子集。
數(shù)據(jù)集的數(shù)量、質(zhì)量和多樣性對于模型的預測能力和泛化能力具有至關重要的作用。本研究采用YEH[40]收集到的1 030組混凝土數(shù)據(jù),均屬于高性能混凝土(high-performance concrete, HPC),數(shù)據(jù)集涵蓋了1 030×9組數(shù)據(jù),其中前7組數(shù)據(jù)表示每立方混凝土水泥、高爐礦渣粉、粉煤灰、水、減水劑、粗骨料和細骨料的用量,第8組表示混凝土養(yǎng)護時間,第9組表示混凝土抗壓強度。每組數(shù)據(jù)的名稱、總數(shù)、最大值、最小值、平均值和標準差等信息如表1所示,為了更全面了解數(shù)據(jù)的分布情況,繪制了每組數(shù)據(jù)的統(tǒng)計分布直方圖,如圖3所示。
表1 1 030組數(shù)據(jù)集的描述性統(tǒng)計Table 1 Descriptive statistics of 1 030 group dataset
圖3 數(shù)據(jù)的統(tǒng)計分布直方圖Fig.3 Statistical distribution histogram of data
2.2.1 異常值處理
模型構建過程中的極端異常值嚴重影響模型的預測效果。根據(jù)表1可以看出,對于齡期特征,其值在1~365 d,其中75%在56 d及以內(nèi),結合圖3可知齡期數(shù)據(jù)集屬于右偏態(tài)分布。為提供可靠且高質(zhì)量的數(shù)據(jù),本研究對初始樣本中的部分異常值和離群點進行處理,以3倍標準差為閾值,剔除絕對值大于該閾值的數(shù)據(jù),最后剩余981組數(shù)據(jù)。剔除異常值后各組的數(shù)據(jù)如表2所示。
表2 剔除異常值后各組的數(shù)據(jù)Table 2 Data of each group after eliminating outliers
2.2.2 歸一化處理
為消除各輸入?yún)?shù)間量綱對結果帶來的影響,本研究對數(shù)據(jù)集進行了歸一化處理,通過縮放將每一個特征的取值范圍歸一化到[0, 1],對于所有輸入特征采用式(3)進行計算。
(3)
式中:xmin為某一個特征的最小值,xmax為對應特征的最大值。
數(shù)據(jù)集分為訓練集和測試集,訓練集是用來訓練模型,而測試集來評估建立模型的性能。本研究中,訓練集和測試集分別按照70%和30%進行劃分。
采用均方根誤差(root mean square error, RMSE)、平均絕對誤差(mean absolute error, MAE)和決定系數(shù)(R-square,R2)作為預測指標。其中,RMSE和MAE衡量預測結果的全局和局部絕對誤差,兩者的值越小表示模型的預測精度越高;R2衡量預測整體效果,其值越大表示模型的擬合效果越好,具體計算如式(4)~(6)所示。
(4)
(5)
(6)
為保證Stacking模型性能趨于最優(yōu),需要對各基學習器的學習能力與模型組合對比進行分析。首先,使用經(jīng)過預處理的數(shù)據(jù)集訓練各基學習器,然后使用基于概率模型的貝葉斯優(yōu)化確定各模型的最優(yōu)超參數(shù)組合。各單算法模型的超參數(shù)及預測誤差如表3所示。由表3可知:從決定系數(shù)R2來看,XGBoost在測試集上的擬合效果最好,Catboost次之,RF排第三,MLP最差;結合計算得到的RMSE值,XGBoost的訓練誤差為3.807,均小于Catboost、MLP和RF的訓練誤差(分別為4.006,9.492和5.007);另外,MAE也說明了XGBoost具有較好的預測精度。各基學習器的預測結果如圖4所示,圖中橫坐標為高性能混凝土強度(HPCCS)的試驗數(shù)據(jù),縱坐標為各基學習器計算得到的強度值,紅色實線為等值線(表示試驗值和模型值相等的情況),數(shù)據(jù)點越靠近實線表明模型的擬合優(yōu)度越好,結果表明,XGBoost與Catboost具有較好的預測精度,這是因為XGBoost對損失函數(shù)進行了二階泰勒展開,優(yōu)化過程使用了一階和二階導數(shù)信息進行更新迭代,使得模型訓練更充分;Catboost是基于梯度提升決策樹的算法框架,可以有效避免條件偏移和梯度偏差,預測性能也較優(yōu)。
表3 基學習器超參數(shù)組合及預測誤差Table 3 Base learner hyperparameter combinations and prediction errors
圖4 各基學習器的預測結果Fig.4 Prediction results of each base learner
在測試集上,以混凝土預測值和實際值之間的差值作為誤差。圖5為各基學習器的誤差直方圖,圖中橫坐標為基學習器預測的誤差值,縱坐標為誤差值對應的頻率,從圖5中可以看出,XGBoost和Catboost模型大約80%的預測值誤差小于5 MPa,再次說明了XGBoost對高性能混凝土強度具有較高的預測精度。
由于XGBoost和Catboost都屬于Boosting的一種集成學習方法,均采用梯度提升樹算法作為基礎模型。因此,考慮到基學習器的差異性,本研究選擇XGBoost和Catboost分別與MLP、RF進行融合作為Stacking模型的基學習器。不同基學習器組合的Stacking集成模型預測結果如表4和圖6所示。其中,圖6(a)、(c)、(e)、(g)橫坐標為高性能混凝土強度的試驗數(shù)據(jù),縱坐標為各Stacking模型計算得到的強度值, 圖6(b)、(d)、(f)、(h)橫坐標為數(shù)據(jù)集數(shù)量,縱坐標為各Stacking模型預測值與試驗值的偏差值。
表4 基學習器組合的stacking集成模型預測結果Table 4 Prediction results of stacking ensemble model with combination of base learners
預測結果顯示,綜合R2、RMSE、MAE三個方面,基學習器組合XGBoost和RF相對于其他組合方式建立的Stacking集成學習模型具有更高預測精度和更穩(wěn)定的預測結果,模型預測指標R2、RMSE、MAE的值分別為0.949、3.776、2.605。集成Catboost、MLP與RF和集成XGBoost與RF模型的結果優(yōu)于每個基學習器,這表明Stacking模型中元學習器糾正了基學習器預測錯誤的樣本,并融合多個基學習器的優(yōu)點,從而提高了模型的預測精度;而集成XGBoost、MLP與RF和Catboost與RF模型的預測結果分別低于基學習器XGBoost和Catboost的結果,說明集成學習需要合理地選擇基學習器,并針對具體問題進行調(diào)整和優(yōu)化,如果組合不當,可能出現(xiàn)集成模型表現(xiàn)不如單個基學習器的情況。
為了驗證基于XGBoost和RF模型融合的Stacking集成學習模型的泛化性能,本研究從Yeh[41]中收集103組高性能混凝土數(shù)據(jù)開展驗證工作,數(shù)據(jù)集包括水泥、水、粗骨料、細骨料、減水劑、礦渣、粉煤灰,以及齡期(28 d)和抗壓強度。試驗值與模型值的驗證結果如圖7所示。在圖7中,橫坐標為高性能混凝土強度的試驗數(shù)據(jù),縱坐標為Stacking集成學習模型計算得到的強度值,紅色實線為等值線(表示試驗值和模型值相等的情況),數(shù)據(jù)點越靠近實線表明模型的擬合優(yōu)度越好。由圖7可知,試驗值和模型值之間的關系非常接近,決定系數(shù)R2=0.947,均方根誤差RMSE=3.840,說明本研究建立的基于XGBoost+RF模型融合的Stacking集成學習模型能較好地反映各因素與混凝土強度之間的關系,具有較高的預測精度和良好的泛化性能。
圖7 驗證模型預測結果Fig.7 Prediction result of validate the model
本文研究了配合比參數(shù)對高性能混凝土強度的影響,并采用基于SHAP值進行模型可解釋分析。本節(jié)對整體表現(xiàn)較好的基學習器XGBoost模型進行輸入變量的特征重要性分析。
SHAP值是一種定量化的模型可解釋性工具,有以下兩點規(guī)律:一是特征對總體模型的重要性,即某一特征的總SHAP值越大,該特征對于模型的重要度越高;二是特征對預測標簽的重要性,即就某一特征對應各分類標簽而言,SHAP值越大,說明該特征對該標簽的預測越重要,同時也使得該標簽更容易被正確預測。各項特征的重要性分析如圖8和圖9所示,從圖中可以看出,最重要的輸入特征變量是齡期和水泥,而相對次要的輸入特征參數(shù)是水含量、細骨料和減水劑。在兩個最重要的輸入特征變量中,齡期對高性能混凝土的抗壓強度具有最重要的影響。這是因為隨著齡期的增加,水泥繼續(xù)水化,從而提高高性能混凝土的抗壓強度。水泥是影響抗壓強度的另一個重要因素,因為水泥通過膠結將混凝土構件黏結在一起,黏結力越大,高性能混凝土的抗壓強度越強。
圖8 SHAP值Fig.8 SHAP values
圖9 每個輸入特征的SHAP值Fig.9 SHAP values for each input feature
綜上所述,本研究所構建的XGBoost模型對混凝土強度的預測具備較好的預測精度,且通過模型可解釋性發(fā)現(xiàn)模型內(nèi)在的預測邏輯與表現(xiàn)出的預測效果相一致,且都與工程實踐的經(jīng)驗較吻合,模型具有較高的合理性與可靠度。
針對傳統(tǒng)經(jīng)驗公式預測混凝土強度時存在的諸多問題,采用機器學習的方法,將XGBoost算法、CatBoost算法、MLP算法、RF算法與集成學習方式相結合,提出一種基于Stacking集成學習架構下基于多個差異化模型的混凝土強度預測方法,并基于SHAP值對模型進行可解釋分析。主要有以下結論:
1)提出一種基于Stacking集成模型預測混凝土強度的方法,該預測模型預測結果與試驗結果整體擬合效果較好。與其他基學習器的組合相比,選用XGBoost和RF作為第1層基學習器時,模型的預測精度最高,擬合效果最好,此時R2=0.949,RMSE=3.776。
2)采用一組新的數(shù)據(jù)集來驗證模型的泛化性能,結果表明,本研究建立的基于XGBoost+RF模型融合的Stacking集成學習模型能較好地反映各因素與混凝土強度之間的關系,具有較高的預測精度和良好的泛化性能,此時R2=0.947,RMSE=3.840。
3)基于SHAP值對基學習器XGBoost進行模型可解釋分析,結果表明齡期、水泥是影響混凝土抗壓強度的最關鍵特征變量。說明模型內(nèi)在的預測邏輯與表現(xiàn)出的預測效果相一致,且與工程實踐的經(jīng)驗較吻合,模型具有較高的合理性與可靠度。