陳華偉,譚 琳,于 強
(1.浙江耀信工程咨詢有限公司,杭州 310000;2.中國電建集團華東勘測設計研究院有限公司,杭州 310000;3.西南交通大學土木工程學院,成都 610000)
近年來,隨著我國經濟快速發(fā)展,建筑行業(yè)也不斷地發(fā)展。由于國內工程安全管理不夠完善導致安全事故的頻繁發(fā)生,既影響項目完成的工期,也影響項目質量。因此,針對新形勢下的工程項目安全管理開展研究具有較強的現實意義和理論價值。當前,我國工程項目管理的模式主要包括施工管理承包模式(Construction-Management,CM)、設計-建造模式(Design and Build,DB)及建造-運營-移交模式(Build-Operate-Transfer,BOT)等,這些管理模式既沒有達到整體管理,也沒有判斷工程項目安全管理各個影響因素所占的比例。為了提高工程管理質量并判斷各影響因素所占比例,本文提出一種運算程序簡單、效率高、囊擴全面的極端梯度提升樹模型(XGboost)的新方法。
工程項目安全管理到現在還沒有一個比較完備的管理制度和體系,工程項目安全管理的內容較多,通??梢苑譃榍捌陔A段安全管理分析、設計階段安全管理分析、采購階段安全管理分析及施工階段安全管理分析。前期合同安全管理的風險主要是由于業(yè)主本身的管理能力,項目所在地的自然環(huán)境及地方政策和相關條款。設計階段安全管理的風險主要包括設計內容銜接不當、設計方案不滿足要求、與業(yè)主溝通不及時和地質等其他原因造成的工期拖延。采購階段安全管理的風險主要包括材料設備延期、質量不合格、估價不準及物價上漲等因素。施工階段安全管理的風險主要包括變更索賠、風險意識不強、施工不協(xié)調及管理者對自己責任不明確等因素。
本文在結合當下工程項目安全管理進行探討的基礎上,根據上述安全管理分析構建安全管理指標,根據參考文獻和對向施工人員發(fā)放問卷調查獲得各個指標的權重值,其中一級指標共分為4 個,標記為A1—A4,而每個一級指標下各有4 個二級指標,標記為A11—A44,具體內容見表1[1]。
表1 安全管理各級指標
本文采用的XGboost 是改進版的梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)算法,XGboost的優(yōu)點是限定了基學習器一定要是分類與回歸樹(Classification and Regression Tree,CART)(在python的XGboost 模塊中,基學習器還可以是線性模型或dart),本文僅推導CART 輸出一個分數而不是類別,此方法有助于模型整合所有的基于CART 回歸樹的輸出結果,同時XGboost 算法還引入了并行化,以加強預測結果的整體性。此外,XGboost 算法引入了損失函數的二階偏導,使預測結果更加合理。
XGboost 算法另一個最大的改進考慮了過擬合問題,本文所采用的處理方法是在XGboost 算法的目標函數中加入正則化項,加入正則化項后的目標函數計算式見式(1)。
對于XGboost 算法的目標函數的正則化項,現將工程項目安全管理影響因素作為樹的結構(葉子節(jié)點數量),以及樹的葉子節(jié)點的輸出分數ω,計算式見式(2)。
式中:T為基于CART 回歸樹的葉子節(jié)點總數;ωt為基于CART 回歸樹的第t 個葉子節(jié)點的輸出值(t=1,2,…,T);γ為正則化項的系數,該值越大路徑選擇的速度越快;λ為正則化項的系數,該值越大路徑選擇的速度越快。
現將目標函數式進行二階泰勒公式展開,二階泰勒展開公式見式(3)。
將目標函數式(3)進行二階泰勒公式展開,展開式見式(4)。
因此,推導得出式(5)。
將式(2)代入式(5),結果見式(6)。
對于XGboost 模型而言,任何一個影響因素點最后的結果都必然落在同一棵樹上,對于落在同一棵樹上的因素集而言最終得到的結果都是一樣的,假設某棵樹有T 個葉子節(jié)點,每個葉子節(jié)點輸出為“j”,則最優(yōu)路徑函數為式(7)。
下面對上述目標函數進行最優(yōu)化處理,進而可以加快選擇路徑的速度。令
將式(7)代入到式(1)即可得到式(10)。
現對ωj求導得到最優(yōu)目標函數式(11)。
將式(11)代入到式(10)即得到最優(yōu)目標函數,見式(12)
上式也被稱為分值函數,通常用此式來衡量XGboost 結構優(yōu)劣的標準。在構建CART樹中,通常需要找到最佳切分點,而切分點的確定就是根據分值函數的分數值來判斷。
現對XGboost 模型參數進行修正,learning-rate 指樹生長迭代產生的權重;max-depth 是指初始生長的樹的深度;gamma 決定了模型算法的保守度;N-estimator是極端梯度提升樹模型運算的次數;Subsample 是指極端梯度提升樹模型采樣的比例。
本文采用hyperopt 基于貝葉斯優(yōu)化的方式進行調參,具體過程為:首先選一個相對較高的learning-rate。接下來使用XGboost 的cv 功能確定在這個學習率下最優(yōu)的樹的數量,可以在每一次樹的迭代中都進行交叉驗證,確定最優(yōu)樹的數量,最后將所需要調整的參數在learning-rate 迭代。通過上述調整便可把XGboost模型參數進行修正,得到一個更符合安全管理預測的模型,調整后的具體參數值見表2。
表2 XGboost 參數調整值[2]
第一步將工程項目安全管理因素作為XGboost 的樹結構q(x),并對其做切分,得到L和R兩個葉結點,記新的樹結構q′,計算式見式(13)。
輸入:I→當前節(jié)點的數集;
輸入:d→當前數據的維度特征;
輸出:最大得分。
繪制在該條件下的最優(yōu)預測值,將其他影響因素返回XGboost 模型重新訓練。
根據已獲取的工程項目安全管理數據,對XGboost目標函數進行優(yōu)化?;赬Gboost 算法對工程項目安全管理預測步驟如下:首先收集建筑工程主題信息,然后將信息轉化成工程項目安全管理相關的數據,對部分數據進行補缺處理;其次根據其影響因素將收集的數據進行特征提取并對所提取的特征進行特征編碼;再次根據上述的特征編碼定義XGboost 參數的取值并建立XGboost 模型,通過該模型建立主題概率矩陣,對模型參數進行修正得到一個新的預測模型;最后將訓練數據輸入預測模型進行訓練即可得到預測結果。具體流程如圖1 所示[3]。
圖1 工程項目安全管理預測流程圖
某設計院、工程局和采購公司組成的一個聯(lián)合體,投標位于浙江杭州的一項工程。現采用極端梯度提升樹模型對該項目進行安全管理研究。
本文通過向施工管理人員及設計人員發(fā)放問卷收集安全管理過程中以往的安全指標和各個因素投入量及產量,并通過Origin2022 對收集的數據進行分析,除去一些誤差較大和一些不具有參考價值的數據,將有價值的數據進行處理,從而確定影響每個因素的權重,結果見表3。
表3 各級指標及權重
本文通過向專家和施工人員發(fā)放問卷調查獲得100 個樣點,通過對獲取的樣點進行分析并與真實值進行對比,真實值與預測值對比圖如圖2 所示。
圖2 真實值與預測值對比
根據圖2 可以看出,采用極端梯度提升樹模型可以精準地對工程項目安全管理進行預測。
現以真實值為基準條件計算出真實值的均值為61.52。用同樣的仿真方法計算預測曲線安全管理的均值為60.42。根據均值即可得出用XGboost 預測工程項目安全管理的誤差,計算方法如下
式中:ξ為誤差;為真實值均值;為預測值均值。
由式(14)計算的結果ζ=1.8%。這個計算結果說明采用XGboost 預測的結果與原始結果基本一致。
本文采用XGboost 的方法對工程項目安全管理進行評價并利用一個實例對該方法進行解釋。根據上面的計算評價結果這種基于整體的預測方法可以更好地實現對工程項目安全管理的研究,從而減少因資源分布不當所造成的事故。通過對誤差分析發(fā)現本文模型對各個樣本預測效果更好,預測結果與實際數據相對誤差較小。