?

基于DNN的工程造價成本預測模型分析

2023-12-28 10:42劉新勝平涼信息工程學校甘肅平涼744000
安徽建筑 2023年12期
關鍵詞:單價誤差樣本

劉新勝 (平涼信息工程學校,甘肅 平涼 744000)

1 深度神經網絡

與其他神經網絡結構相比,DNN 的主要特點是其出色的非線性處理能力[1]。得益于緊湊高效的非線性映射結構,DNN 可以處理更大數據集和更復雜特征的數學和物理問題。另外,DNN 可以充分利用自身的多重隱藏層結構來訓練大量數據,一般用于預測的結果準確率會更高[2]。層數越多表示模型越復雜,具有更好的非線性特性,可以學習到更豐富的特征。理論上,網絡結構各層之間的鏈接是完全連接的,每一層的神經元也可以相互連接。因此,結合經驗選擇了DNN。DNN 的神經網絡結構如圖1 所示,它包含多個隱藏層、一個輸入層和一個輸出層。

圖1 DNN模型

從圖1 可以看出,DNN 結構主要由輸入層、隱藏層和輸出層組成[3]。該網絡的特點是包含多個隱藏層。輸入層表示為X=[x1,x2,xn]7,這是一個n維的列向量。輸入數據可以是風力、風速、風向、溫度等。在輸入層中,激活函數是標準常數函數,輸入量需要通過標準常數函數進行轉換,然后輸出到第一層。(wn,bn)表示n 個隱藏層的權值參數wn和閾值參數bn。隱藏層中的數據來自于上層的輸入,利用該層的激活函數對輸入變量進行非線性處理后,將處理后的數據輸出傳遞到下層,得到與y 結合的最終輸出。

將數據分類處理后作為輸出值,通過輸入層傳遞到隱藏層,得到隱藏輸入輸出的第一關系,表示為式(1):

其中,R1表示第一個隱藏層的輸出矩陣;Wi和bi分別表示輸入層和隱藏層之間的權重參數和閾值參數。

如果第一隱藏層變量表示為r1,p,將pth設為變量,則w1,p代表輸入層與第一隱藏層之間的權重矩陣,b1,p表示輸入層與第一隱藏層之間閾值向量中第1 個變量值,則由激活函數f變換的原始列向量x得到R1中的每個輸出值,公式為:

根據DNN 的原理,前一個隱藏層的輸出是下一個隱藏層的輸入,因此DNN模型第m個隱藏層的輸出Rm表達式為:

輸入量X由輸入層處理后發送到隱藏層,完成隱藏層處理后傳輸到輸出層,可以表示為:

其中,Wn+1和bn+1分別表示最后一個隱藏層與輸出層之間的權重參數和閾值參數;g表示DNN 中輸出層的激活函數。

激活函數是對每層輸出量進行非線性處理的工具,可以提高神經網絡的數據處理和優化能力。常見的激活函數sigmoid可以表示為:

其中,x表示輸入變量;e表示常數,取值為2.7183。

2 基于DNN的造價成本預測模型構建

結合DNN 良好的非線性映射能力和較強的泛化能力[4],本文采用DNN 模型預測工程成本。

2.1 DNN模型輸入

影響建設項目造價成本價格的因素很多,這些因素相互影響、相互關聯。為了綜合分析工程造價,本文參考了部分學者的研究成果,將這些影響因素分為工程項目特性和清單項目特性。

2.1.1 指標劃分

針對工程項目特性,指標劃分如表1所示。

表1 指標劃分

2.1.2 項目特征

列表項通常用12 位編碼,編碼的前9 位根據不同的類別設置?;诖?,需要在庫存代碼和模型之間進行轉換。代碼的后3 位根據施工圖的具體情況從001開始依次編碼,項目代碼不能重復。

列表項特征與工程特征相同,需要根據項目特征的描述進行分類并賦予對應的值,如果列表中沒有子項,則賦予0。由于存量項目數據量大,對整個工程特性的量化具有很大的復雜性,因此本文以實心磚墻和有梁板兩個子項目為例進行量化,如表2所示。

表2 實心磚墻、有梁板工程的量化

2.1.3 DNN模型的輸出

在判斷工程造價時,通常采用核對、比對等方法來合理判斷總報價和各分項工程報價及稅金,其中總報價和分項工程報價是主要的判斷內容。針對該特征,將DNN 作為模型輸出,合理預測價格,為專家評價提供參考。

2.2 DNN結構設計

①激活函數。為了讓DNN 模型更具表現力,需要引入一個非線性函數作為激活函數。常用的激活函數有sigmoid函數、ReLU 函數、tanh函數。由于DNN 模型在進行反向遷移時容易出現梯度消失或爆炸,但ReLU 函數可以解決這個問題,而且ReLU 函數的收斂速度更快,所以本文采用ReLU 函數作為激活函數。

②權重初始化。在訓練模型之前,需要初始化權重。目前的權重初始化方法主要有兩種,一種是將權重初始化為非常小的值,另一種是將權重設置為+1和-1 等數??紤]到第二種方法過于主觀,為了達到更好的模型訓練效果,本文采用第一種方法,在符合正態分布的范圍內用隨機數初始化權重。

③網絡結構。網絡結構主要包括網絡節點和隱藏層,直接影響DNN 的性能。一般只考慮一個隱藏層,在這個隱藏層下找到最優的隱藏節點。圖3 顯示了500 次計算后隱藏層下不同節點的誤差。當隱藏節點為23 時,誤差最小,但仍難以滿足要求。

一般來說,隱藏層越多,模型的準確率就越高,所以使用2 個隱藏層的DNN模型。確定隱藏層數后,確定隱藏層節點數。一般來說,如果隱藏層的節點數不足,會導致模型學習能力差,從而增加誤差;過大會造成過擬合現象,降低模型的泛化能力。分析以往經驗,第一隱藏層與第二隱藏層節點數的最佳比例為3:1。因此,當兩層節點數分別設置為15和5 時準確率最高,最終的DNN 結構如圖2所示。

圖2 DNN結構示意圖

3 模擬實驗

3.1 DNN模型訓練

3.1.1 模型訓練樣本和環境

該模型的樣本數據來自某工程成本庫,其中選取了某地區近20 組工程造價數據作為樣本,其中訓練樣本15 組,測試樣本5組。模型編寫過程使用Python環境中的Spyder 軟件,模型使用改進的BP 算法進行訓練,該算法引入動量項,允許誤差面避免落入局部最小值,從而得到最優的解。設學習速率η 為0.001,動量系數α 為0.8,迭代次數為5000,誤差范圍ε小于0.001。

3.1.2 模型訓練和結果

在進行模型訓練之前,需要對樣本數據進行歸一化處理,將數據輸出和輸入控制在區間內,該模型計算5000 次迭代后誤差值約為0.00289,如圖3 所示。子項目總報價與綜合單價的擬合曲線如圖4 所示,從中可以看出樣本值與實際值的曲線擬合效果是一致的。

圖3 模型訓練誤差的收斂性

圖4 DNN模型曲線擬合效果

為了比較DNN 的預測效果,在進行DNN 預測的同時引入了BP 神經網絡。對比結果表明,DNN 的預測更接近真實價格,而BP神經網絡與真實值的誤差較大。得出的結論是DNN 的預測效果更好。

為了驗證DNN 模型在實際應用中的有效性,將訓練好的DNN 模型用于測試樣本,即通過分析測試樣本的誤差,如果在誤差范圍內,則說明DNN 模型具有有效性。本文隨機選取一組測試樣本進行測試,輸出值如表3所示。

表3 模型驗證結果

從表3 可以看出,DNN 模型的輸出值與真實值的相對誤差均在5%以下,說明DNN模型可以很好地預測工程成本。

3.2 成本確定

項目成本已被上述預測,但預測結果不是成本價格,主要是因為模型樣本是隨機的,不考慮個體企業管理能力等因素,因此模型的預測值僅屬于平均值。當模型訓練時,其產值為結算價格,包括企業成本,而成本價格應是結算價格與預估的差異。因此,需要調整模型的預測,以獲得成本價格。

考慮到子項目成本特點和綜合單價的比例,本文采用加權平均算法將綜合單價乘以調整系數,得到成本價格,調整方法如表4 所示。假設P為成本價格,V為模型輸出值,調整方程如式(6)和(7)所示。

表4 綜合單價調整方法

由于綜合單價的各種成本比例不同,因此需要對綜合單價成本α的百分比進行統計。根據代碼的前9 位數字,計算機可以確定匹配的列表項,以表4為例進行比例計算,可以得到人工成本的百分比α如下。

設定α1=0.207、α2=0.657、α3=0.008、α4=0.025,計算綜合單價的成本系數。相關研究表明,人工成本、材料成本、施工機具使用成本、企業管理成本一般不低于平均成本的90%、98%、70%、70%,而部分企業可以利用零利潤來擴大市場,所以利潤可以忽略不計。在這方面,綜合單位成本因素如表5所示。

表5 系數調整的計算

將表5 的數據代入式(6),可計算出實心磚墻綜合單價調整系數為0.85。由于實心磚墻的綜合單價產出為468 元,因此成本價為:

根據上述方法,可以對每個綜合單價進行調整,得到相應的成本價??倛髢r中的總成本價可以通過匯總調整后的成本價得到。

4 結論

綜上所述,解決成本定價問題的關鍵在于準確計算項目成本價格。本文在前人研究的基礎上,構建了DNN 工程成本價格預測模型,將工程指標系統分為工程特征和清單工程特征兩類,然后隨機選取20 組樣本數據對模型進行訓練和預測。結果表明,DNN 預測模型誤差較小,能有效地預測工程成本。由于工程成本預測是隨機的,結果輸出是結算價格,因此對DNN 預測結果進行了合理的調整。采用加權平均算法計算各子項目的綜合單價成本價格和總報價的成本,最后得到整個項目的成本價格。本研究可為工程成本的信息預算提供新思路。

猜你喜歡
單價誤差樣本
如何求單價
嘟嘟熊家的百貨商店(二十四)——單價是多少
用樣本估計總體復習點撥
角接觸球軸承接觸角誤差控制
Beidou, le système de navigation par satellite compatible et interopérable
算單價
壓力容器制造誤差探究
推動醫改的“直銷樣本”
隨機微分方程的樣本Lyapunov二次型估計
九十億分之一的“生死”誤差
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合