国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于模型融合的裝飾過程造價(jià)預(yù)測研究

2023-10-09 05:34孫傳志
長春大學(xué)學(xué)報(bào) 2023年9期
關(guān)鍵詞:決策樹裝飾森林

孫傳志

(大連財(cái)經(jīng)學(xué)院 管理學(xué)院,遼寧 大連116000)

近年來,隨著信息科學(xué)技術(shù)的不斷發(fā)展,建筑工程行業(yè)也逐漸走上信息化的道路,模型融合、嶺回歸、隨機(jī)森林以及XGBoost等算法在工程造價(jià)領(lǐng)域被廣泛應(yīng)用[1]。社會經(jīng)濟(jì)的發(fā)展加快了建筑工程行業(yè)的進(jìn)步,也對建筑有了更多的要求,人們除了關(guān)注建筑的實(shí)用性、觀賞性以及經(jīng)濟(jì)性之外,還越來越關(guān)注建筑裝飾過程的工程質(zhì)量[2]。造價(jià)預(yù)測對于每個(gè)裝飾工程來說都是必不可少的流程,是裝飾工程項(xiàng)目前期準(zhǔn)備階段的首要任務(wù)[3]。傳統(tǒng)的預(yù)測方式具有耗時(shí)長、內(nèi)容復(fù)雜以及收集數(shù)據(jù)量龐大等局限性,使得企業(yè)難以在短時(shí)間內(nèi)獲得準(zhǔn)確的造價(jià)預(yù)測分析結(jié)果[4]。在裝飾工程項(xiàng)目的前期準(zhǔn)備階段,如果未得到準(zhǔn)確的造價(jià)預(yù)測結(jié)果,那么在項(xiàng)目實(shí)施階段就很難進(jìn)行成本的控制。集成學(xué)習(xí)是由多個(gè)學(xué)習(xí)模型構(gòu)建組合成的一個(gè)學(xué)習(xí)模型,該模型集合了多個(gè)學(xué)習(xí)模型的優(yōu)勢,因此,在機(jī)器學(xué)習(xí)領(lǐng)域中備受關(guān)注。單一的預(yù)測模型因其算法自身的理論差異,無法滿足實(shí)際工程造價(jià)預(yù)測的精度和效率要求。模型融合算法可以很好地平衡各個(gè)算法之間的性能,在充分發(fā)揮各算法優(yōu)勢的同時(shí)避免各算法的不足[5]。在這一背景下,本文研究基于模型融合的裝飾過程造價(jià)預(yù)測模型,以期為得到更高的造價(jià)預(yù)測效率和精度提供參考。

一、基于模型融合的裝飾過程造價(jià)預(yù)測模型

(一)基于優(yōu)化Stacking算法的模型融合

模型融合算法不是指具體的某一個(gè)算法,而是將多個(gè)弱模型融合為一個(gè)強(qiáng)模型的算法,因此也被稱為集成學(xué)習(xí)[6]。模型融合算法包含了Stacking堆疊法、平均法、排序法、Blending混合法和投票法等四種類型,其中Stacking堆疊法是相對高級的模型融合法[7]。Stacking堆疊法是在原始數(shù)據(jù)的基礎(chǔ)上構(gòu)建多層模型并用來訓(xùn)練出多個(gè)基學(xué)習(xí)器,再將基于學(xué)習(xí)器的預(yù)測結(jié)果進(jìn)行擬合預(yù)測,從而訓(xùn)練出新的學(xué)習(xí)器[8]。Stacking算法分為單層Stacking和多層Stacking。單層Stacking是最為常見的Stacking結(jié)構(gòu),是指在基學(xué)習(xí)器上只堆疊了一層元學(xué)習(xí)器,而多層Stacking是指堆疊了兩層及以上的元學(xué)習(xí)器。Stacking算法的集成學(xué)習(xí)原理如圖1所示。

圖1 Stacking算法的集成學(xué)習(xí)原理

由圖1可以看出,Stacking算法的集成學(xué)習(xí)原理框架分為兩層,第一層是由多個(gè)基模型學(xué)習(xí)器組成,第二層是由元學(xué)習(xí)器組成[9]。(1)將數(shù)據(jù)集分為訓(xùn)練集和測試集,將部分訓(xùn)練集的數(shù)據(jù)輸入到基模型中進(jìn)行訓(xùn)練,訓(xùn)練后的基模型分別在剩下的訓(xùn)練集和測試集上再次進(jìn)行預(yù)測和訓(xùn)練,從而分別得到預(yù)測和測試標(biāo)簽;(2)進(jìn)入第二層元學(xué)習(xí)器中再次進(jìn)行訓(xùn)練并預(yù)測,得出預(yù)測結(jié)果。數(shù)據(jù)集的表達(dá)式如式1所示。

D={(yn,xn),n=1,2,...,N}

(式1)

式1中,D表示數(shù)據(jù)集,N表示樣本總數(shù)量,yn表示第n個(gè)樣本經(jīng)過訓(xùn)練后的輸出值,xn表示第n個(gè)樣本的特征向量。將數(shù)據(jù)集等分為M個(gè)子集,設(shè)置第一層的基學(xué)習(xí)器數(shù)量為K,那么,學(xué)習(xí)器Lk的取值范圍為[1,2,3,...,K]。使用第m個(gè)算法對訓(xùn)練集進(jìn)行建模,得到的新數(shù)據(jù)集如式2所示。

Dnew={(yn,z1n,...,zmn),n=1,2,...,N}

(式2)

式2中,zmn表示學(xué)習(xí)器Lk對該測試集的預(yù)測值,第二層元學(xué)習(xí)器Lnew使用線性算法作為訓(xùn)練模型,能夠減少第一層輸出結(jié)果的誤差,從而提升模型精度。Stacking算法性能易受到學(xué)習(xí)器和屬性的影響,雖然Stacking算法具有輸出結(jié)果以概率分布的優(yōu)點(diǎn),但算法也存在運(yùn)行時(shí)間長、分類性能不高等缺點(diǎn)。為了提高Stacking算法的性能,可以在該算法的基礎(chǔ)上降低特征維數(shù)并增加一層初級層進(jìn)行優(yōu)化。單層Stacking算法只包含兩層,即由多個(gè)學(xué)習(xí)器組成的初級學(xué)習(xí)層和元學(xué)習(xí)層,優(yōu)化后的Stacking算法屬于多層Stacking,包含了兩層初級學(xué)習(xí)層和一層元學(xué)習(xí)層。第二層學(xué)習(xí)器的訓(xùn)練集如式3所示。

(式3)

H(x1,x2)=‖P(x1)-P(x2)‖2

(式4)

式4中,P(x1)和P(x2)都表示元學(xué)習(xí)層中的輸入向量,當(dāng)基分類器的數(shù)量增加時(shí)用T′表示,此時(shí)輸入向量之間的歐式距離如式5所示。

H′(x1,x2)=‖P′(x1)-P′(x2)‖2

(式5)

式5中,H′(x1,x2)>H(x1,x2),可以看出,隨著基分類器數(shù)量的增加,數(shù)據(jù)的分布越稀疏,從而導(dǎo)致學(xué)習(xí)器的維度也隨之增加。而維度的增加會導(dǎo)致數(shù)據(jù)處理更為復(fù)雜從而增加運(yùn)行時(shí)間。優(yōu)化后的算法中第一層學(xué)習(xí)層和第二層學(xué)習(xí)層的分類器輸入屬性不同。第二層分類器輸入屬性的表達(dá)式如式6所示。

{(xn,yn,znt),n=1,2,...,N;t=1,2,...,T}

(式6)

式6中,znt表示第n個(gè)樣本上第t個(gè)分類器的類概率向量預(yù)測值。第二層分類算法的訓(xùn)練集表達(dá)式如式7所示。

{(z1n,z2n,...,znt,yn),n=1,2,...,N}

(式7)

式7中,向量xn的維數(shù)大小用|xn|表示,所以第二層訓(xùn)練集的數(shù)據(jù)、屬性大小保持不變。優(yōu)化后的多層Stacking算法既保留了分類器的預(yù)測精度,又控制了計(jì)算成本從而縮短了運(yùn)行時(shí)間,具有更高的性能。

(二)基于Stacking算法的模型融合裝飾過程造價(jià)預(yù)測模型

每種算法都有其各自的優(yōu)缺點(diǎn),因此單一算法的預(yù)測模型因算法自身的理論差異,無法得出最優(yōu)解[10]。模型融合算法可以平衡各算法之間的優(yōu)缺點(diǎn),在避免各算法因自身缺點(diǎn)導(dǎo)致的不足之外,還可以充分地發(fā)揮各算法的優(yōu)勢[11]。在工程造價(jià)預(yù)測領(lǐng)域常使用嶺回歸預(yù)測模型、隨機(jī)森林預(yù)測模型以及XGBoost預(yù)測模型等進(jìn)行造價(jià)預(yù)測分析??紤]數(shù)據(jù)結(jié)構(gòu)的差異性,將這三種預(yù)測模型與Stacking模型相融合,以期提高裝飾過程造價(jià)預(yù)測精度[12]。嶺回歸預(yù)測模型本質(zhì)上是利用懲罰多元線性回歸參數(shù)對損失函數(shù)添加正則化懲罰項(xiàng),從而使參數(shù)更為平滑[13]。嶺回歸預(yù)測模型目標(biāo)函數(shù)表達(dá)式如式8所示。

(式8)

Z=XTY(δI+XTX)-1

(式9)

式9中,(δI+XTX)表示滿秩矩陣,回歸參數(shù)的性能隨著嶺參數(shù)δ的變化而變化。隨機(jī)森林預(yù)測模型屬于經(jīng)典的Bagging模型,是以多個(gè)弱學(xué)習(xí)器為決策樹組合而成[14]。隨機(jī)森林預(yù)測模型首先在原始數(shù)據(jù)的基礎(chǔ)上隨機(jī)抽樣來生成不同的樣本特征和樣本數(shù)量,然后根據(jù)生成的樣本構(gòu)成不同的決策樹模型,最后依據(jù)決策樹模型的平均值得出最終結(jié)果[15]。隨機(jī)森林預(yù)測模型如式10所示。

(式10)

式10中,A表示決策樹數(shù)量,fa(x)表示第a棵決策樹。隨機(jī)森林預(yù)測模型的工作原理如圖2所示。

圖2 隨機(jī)森林預(yù)測模型的工作原理

由圖2可以看出,影響隨機(jī)森林預(yù)測模型性能的是決策樹數(shù)量A和隨機(jī)選擇的特征數(shù)量max_features這兩個(gè)參數(shù)。決策樹的數(shù)量會影響預(yù)測模型的預(yù)測效果,當(dāng)決策樹數(shù)量太少時(shí),會出現(xiàn)模型過擬合的現(xiàn)象,導(dǎo)致模型預(yù)測的效果不明顯。而隨機(jī)特征數(shù)量max_features的值越小,隨機(jī)森林生成的決策樹差異性就越大。與單獨(dú)的決策樹模型相比,隨機(jī)森林預(yù)測模型含有的兩個(gè)參數(shù)具有隨機(jī)性,使得隨機(jī)森林泛化能力更強(qiáng)且不容易出現(xiàn)過擬合現(xiàn)象,預(yù)測結(jié)果更為準(zhǔn)確。XGBoost預(yù)測模型是由Boosting算法結(jié)合多個(gè)決策樹的可拓展Tree boosting算法模型,其本質(zhì)上是輸入數(shù)據(jù)經(jīng)過迭代訓(xùn)練生成新的決策樹模型。在進(jìn)行迭代訓(xùn)練中,每一次的迭代都會彌補(bǔ)上一輪的不足,因此得到的最終結(jié)果是經(jīng)過數(shù)次迭代后的累加結(jié)果,該結(jié)果具有準(zhǔn)確性高和運(yùn)行速度快等優(yōu)點(diǎn)。XGBoost預(yù)測模型如式11所示。

(式11)

(式12)

式12中,Gj=∑i∈Ijgj表示樣本的一階導(dǎo)數(shù),Hj=∑i∈Ijhi表示樣本的二階導(dǎo)數(shù)。影響XGBoost預(yù)測模型性能的是決策樹數(shù)量B和決策樹最大深度max_depth這兩個(gè)參數(shù),決策樹最大深度max_depth的值越大,模型越容易出現(xiàn)過擬合現(xiàn)象,所以在參數(shù)設(shè)置時(shí)一般設(shè)置默認(rèn)參數(shù)max_depth=6。結(jié)合以上三種預(yù)測模型的優(yōu)點(diǎn)與Stacking算法模型相融合,基于Stacking算法模型融合如圖3所示。

圖3 基于Stacking算法模型融合

由圖3可以看出,基于Stacking算法融合模型輸入的數(shù)據(jù)集經(jīng)過五折交叉驗(yàn)證得出新的訓(xùn)練集和預(yù)測集,模型融合的第一層即經(jīng)過五折交叉驗(yàn)證的嶺回歸、隨機(jī)森林以及XGBoost等算法的訓(xùn)練和預(yù)測結(jié)果,第二層是Stacking模型融合的元學(xué)習(xí)器,結(jié)合第一層的訓(xùn)練和預(yù)測結(jié)果,計(jì)算獲得最終的預(yù)測結(jié)果。

二、基于模型融合的裝飾過程造價(jià)預(yù)測模型驗(yàn)證

為了驗(yàn)證基于模型融合的裝飾過程造價(jià)預(yù)測模型性能,將Stacking融合模型與單一的嶺回歸預(yù)測模型、隨機(jī)森林預(yù)測模型以及XGBoost預(yù)測模型進(jìn)行對比驗(yàn)證。設(shè)置嶺回歸模型的嶺參數(shù)δ=0.62,隨機(jī)森林決策樹數(shù)量參數(shù)A=200,特征數(shù)量參數(shù)max_features為隨機(jī),XGBoost預(yù)測模型決策樹數(shù)量參數(shù)B=7,決策樹最大深度參數(shù)為默認(rèn)參數(shù)max_depth=6,仿真計(jì)算出各模型的平均絕對百分誤差MAPE和均方根誤差RMSE 值并進(jìn)行對比分析,各模型的MAPE和RMSE 對比如圖4所示。

圖4 各模型的MAPE和RMSE 對比

從圖4(a)可以看出,Stacking融合模型的平均絕對百分誤差MAPE值為0.98%,與其他三個(gè)預(yù)測模型的MAPE值相比是最低的,其中比嶺回歸預(yù)測模型的MAPE值3.36%低2.38%,比XGBoost預(yù)測模型的MAPE值1.4%低0.42%,比隨機(jī)森林預(yù)測模型的MAPE值1.15%低0.17%,說明Stacking融合模型的預(yù)測準(zhǔn)確性高于其他三種單一的預(yù)測模型。從圖4(b)可以看出,Stacking融合模型的均方根誤差RMSE 值為19.8,與其他三個(gè)預(yù)測模型的RMSE 值相比是最低的,其中比嶺回歸預(yù)測模型的RMSE值低60.2,比XGBoost預(yù)測模型的RMSE 值低19.7,比隨機(jī)森林預(yù)測模型的RMSE 值低10.2,說明Stacking融合模型的預(yù)測精度高于其他三種單一的預(yù)測模型。 在實(shí)際裝飾過程造價(jià)預(yù)測中,除了要考慮預(yù)測精度外,還需要考慮預(yù)測效率,將Stacking融合模型與其他三個(gè)單一的預(yù)測模型在5個(gè)測試樣本中的預(yù)測運(yùn)行時(shí)間進(jìn)行對比驗(yàn)證。各模型的運(yùn)行時(shí)間對比如圖5所示。

圖5 各模型的運(yùn)行時(shí)間對比

從圖5可以看出,Stacking融合模型的預(yù)測運(yùn)行時(shí)間明顯少于其他三種預(yù)測模型,其中樣本編號5的運(yùn)行時(shí)間最短,為8s,比XGBoost預(yù)測模型的運(yùn)行時(shí)間20s低12s,比隨機(jī)森林預(yù)測模型的運(yùn)行時(shí)間50s低42s,比嶺回歸預(yù)測模型的運(yùn)行時(shí)間42s低34s。Stacking融合模型在樣本編號4中的運(yùn)行時(shí)間最長,為20s,比XGBoost預(yù)測模型的運(yùn)行時(shí)間21s低1s,比隨機(jī)森林預(yù)測模型的運(yùn)行時(shí)間67s低47s,比嶺回歸預(yù)測模型的運(yùn)行時(shí)間36s低16s。也就是說,Stacking融合模型的預(yù)測效率高于其他三個(gè)預(yù)測模型。

為了更直觀地觀測Stacking融合模型的性能,從測試樣本中隨機(jī)抽取原始數(shù)據(jù)繪制出Stacking融合模型的真實(shí)值與預(yù)測值并進(jìn)行對比分析。Stacking融合模型的預(yù)測對比如圖6所示。

圖6 Stacking融合模型的預(yù)測對比

從圖6可以看出,Stacking融合模型的真實(shí)值與預(yù)測值走勢幾乎一致,說明真實(shí)值與預(yù)測值之間的絕對誤差值較小,該模型的擬合能力較強(qiáng)。其中樣本編號為63的絕對誤差最大,此時(shí)預(yù)測值的單方造價(jià)為2100元/m2,真實(shí)值的單方造價(jià)為2000元/m2,真實(shí)值與預(yù)測值之間的絕對誤差為100元/m2,此時(shí)的相對誤差為5%。相對誤差的值越低,說明預(yù)測精度越高,工程造價(jià)預(yù)測值的相對誤差一般要求在10%以內(nèi)。以上表明,Stacking融合模型的相對誤差最大值為5%,說明該預(yù)測模型的預(yù)測精度較高,能夠滿足裝飾過程造價(jià)預(yù)測的精度要求。

三、結(jié)論

為了能得到更高的裝飾過程造價(jià)預(yù)測的效率和精度,研究基于模型融合的裝飾過程造價(jià)預(yù)測模型,該模型利用Stacking融合模型融合了嶺回歸、隨機(jī)森林以及XGBoost等算法,并在Stacking算法的基礎(chǔ)上減少特征維數(shù)并增加一層初級層進(jìn)行優(yōu)化。仿真結(jié)果顯示,研究的基于模型融合的裝飾過程造價(jià)預(yù)測模型的預(yù)測精度和效率較高,滿足裝飾過程造價(jià)預(yù)測要求。但實(shí)驗(yàn)使用的樣本數(shù)據(jù)較少,實(shí)驗(yàn)結(jié)果不夠全面,這一方面還有待進(jìn)一步完善。

猜你喜歡
決策樹裝飾森林
鯉魚旗裝飾墜
裝飾圣誕樹
一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
決策樹和隨機(jī)森林方法在管理決策中的應(yīng)用
哈Q森林
哈Q森林
哈Q森林
基于決策樹的出租車乘客出行目的識別
DIY節(jié)日裝飾家
裝飾象
灌云县| 平远县| 鲁甸县| 江安县| 琼海市| 满洲里市| 江孜县| 宝山区| 嵩明县| 临清市| 弥勒县| 正定县| 呼玛县| 安义县| 布拖县| 迭部县| 民丰县| 通榆县| 旬阳县| 玉林市| 布拖县| 仁化县| 灵山县| 全椒县| 库车县| 巨野县| 正蓝旗| 改则县| 荣成市| 吴桥县| 津市市| 湘西| 依兰县| 治县。| 周至县| 健康| 金山区| 如东县| 青田县| 界首市| 东至县|