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

?

基于布谷鳥搜索的XGBoost算法優(yōu)化及應(yīng)用研究

2023-04-08 16:15:50李欣玲李莉莉周楷賀
關(guān)鍵詞:布谷鳥搜索算法分類

李欣玲 李莉莉 周楷賀

摘要:

為提高XGBoost算法預(yù)測精度,采用布谷鳥搜索算法全局優(yōu)化XGBoost的超參數(shù)包括學(xué)習(xí)率、輸出結(jié)點分裂的最小損失、樹模型的最大深度和弱學(xué)習(xí)器的數(shù)量,構(gòu)建CS-XGBoost模型訓(xùn)練數(shù)據(jù)集。實驗結(jié)果表明,基于CS-XGBoost的收入分類模型的準(zhǔn)確率、精確率、F1分數(shù)和AUC等指標(biāo)分別為95.67%、97.17%、95.56%和97.96%,均優(yōu)于Logistic回歸、支持向量機、隨機森林、XGBoost算法和基于網(wǎng)格搜索的XGBoost算法;基于CS-XGBoost的房價預(yù)測模型的決定系數(shù)、均方根誤差及平均絕對誤差分別為0.905 5、2.943 5及2.165 4,預(yù)測精度較XGBoost算法得到顯著提升。

關(guān)鍵詞:

XGBoost;布谷鳥搜索;分類預(yù)測;回歸預(yù)測

中圖分類號:

TP181

文獻標(biāo)志碼:A

機器學(xué)習(xí)作為人工智能核心,正處于飛速發(fā)展的黃金時期。XGBoost算法是機器學(xué)習(xí)三大算法之一,源自開源Boosting庫[1]包括樹增強學(xué)習(xí)算法和線性求解器,是一種高效快速的集成學(xué)習(xí)工具,具有內(nèi)置交叉驗證、正則化防止過擬合、并行高效處理等優(yōu)點,已廣泛實踐應(yīng)用于金融[2]、電子商務(wù)[3]、醫(yī)療[4]、自動化[5]等領(lǐng)域數(shù)據(jù)挖掘,展現(xiàn)了良好學(xué)習(xí)性能和分類準(zhǔn)確度。XGBoost和其他機器學(xué)習(xí)模型均存在超參數(shù)優(yōu)化問題[6-7],即同樣輸入數(shù)據(jù)使用不同超參數(shù)構(gòu)建模型的泛化能力不同。網(wǎng)格搜索[8]、貝葉斯優(yōu)化[9]和隨機搜索[10]均為尋找最優(yōu)超參數(shù)可行方法,但超參數(shù)維度過高時,網(wǎng)格搜索計算成本較高,且難以保證尋找最優(yōu)超參數(shù)組合。最優(yōu)化問題經(jīng)過長時間發(fā)展,產(chǎn)生如遺傳算法[11]、粒子群算法[12]等不受限于梯度信息的群智能優(yōu)化方法。群智能優(yōu)化方法是一種受事物群體或者各種動物行為啟發(fā),通過形成一種粒子模擬各種群體中個體行為形成的優(yōu)化算法,可以通過種群方式搜索目標(biāo)函數(shù)參數(shù)空間大部分區(qū)域;具有生命體特征的人工系統(tǒng)能有效節(jié)省人工成本和時間,減少人為誤差。目前已有較多研究耦合人工智能算法和群智能優(yōu)化方法,如蟻群算法[13]、鯨魚算法[14]、果蠅算法[15]等,用于參數(shù)調(diào)優(yōu),但算法自身參數(shù)的設(shè)置和閾值設(shè)定的適用性致使尋優(yōu)結(jié)果難以保證達到全局最優(yōu)。布谷鳥搜索[16](Cuckoo Search, CS)算法具有較強全局搜索能力,全局收斂性根據(jù)收斂算法準(zhǔn)則通過構(gòu)建服從萊維分布的馬爾可夫模型證明,該算法精度、復(fù)雜度和穩(wěn)定性均有顯著優(yōu)勢[17],且自身參數(shù)較少,易與其他人工智能算法相結(jié)合,魯棒性強,適用范圍更廣泛。綜上,本文基于布谷鳥搜索最優(yōu)化理論,針對收入數(shù)據(jù)集和房價數(shù)據(jù)集,構(gòu)建一種基于布谷鳥搜索的XGBoost(XGBoost based on Cuckoo Search, CS-XGBoost)模型,以提高模型預(yù)測精度。

1 模型闡述

1.1 XGBoost模型

XGBoost是一種梯度提升決策樹模型,基于迭代思想通過不斷優(yōu)化目標(biāo)函數(shù),生成最優(yōu)弱學(xué)習(xí)器,目標(biāo)函數(shù)表達式為

Obj=∑ni=1loss(yi,i)+∑Kk=1Ω(fk)(1)

其中,∑ni=1loss(yi,i)表示實際值與預(yù)測值的誤差即損失函數(shù);∑Kk=1Ω(fk)為防止模型過擬合的正則化項,控制模型復(fù)雜度;γ、λ表示懲罰系數(shù);T表示葉子結(jié)點數(shù)目;ω表示葉子權(quán)重。為最優(yōu)化目標(biāo)函數(shù),損失函數(shù)二階泰勒式展開第t次迭代的目標(biāo)函數(shù)為

Obj(t)=∑ni=1(gift(xi)+12hif2t(xi))+Ω(ft)(2)

其中,gi表示損失函數(shù)對i(t-1)的一階導(dǎo)數(shù),hi表示損失函數(shù)對i(t-1)的二階導(dǎo)數(shù)。整理得目標(biāo)函數(shù)的最終結(jié)果

Obj(t)=-12∑Tj=1(G2jHj+λ)+γT(3)

由式(3)可計算弱學(xué)習(xí)器葉子結(jié)點與分結(jié)點的信息增益,定義輸出結(jié)點弱學(xué)習(xí)器最小損失為θ,作為需要優(yōu)化的第1個超參數(shù)。若弱學(xué)習(xí)器信息增益大于θ,則劃分特征,反之不劃分。θ越大,算法就越保守。

前向分步模型中,定義

(t)i=(t-1)i+ηft(xi)(4)

其中,η表示學(xué)習(xí)率,作為需要優(yōu)化的第2個超參數(shù),每棵樹被添加至學(xué)習(xí)器時,按0<η<1因子縮放每棵樹貢獻,以保證模型具有較強的穩(wěn)定性與適應(yīng)性,η較低時,模型對過擬合更保守,但計算速度較慢,η的最優(yōu)取值可使算法收斂的同時有效提高模型精度。需要優(yōu)化的第3個超參數(shù)m為樹模型的最大深度,表示構(gòu)建樹結(jié)構(gòu)模型復(fù)雜程度。定義n為弱學(xué)習(xí)器的數(shù)量,是需要優(yōu)化的第4個超參數(shù),n越大,模型學(xué)習(xí)能力越強,但易導(dǎo)致過擬合,n值直接影響模型的預(yù)測效果和精度。

通過布谷鳥搜索算法優(yōu)化XGBoost模型的超參數(shù)時,為提高模型預(yù)測精度,考慮計算成本,本文主要調(diào)整決定XGBoost算法預(yù)測性能的4個重要超參數(shù)θ、η、m、n。此外,Subsample為訓(xùn)練集的子樣本比率,Colsample為構(gòu)造每棵樹時選取變量與全部變量的比值。為避免由于抽取不同樣本和變量生成不同XGBoost模型,參數(shù)Subsample和Colsample取默認值1,其他參數(shù)取默認設(shè)置。

1.2 布谷鳥搜索算法

求解最優(yōu)超參數(shù)有效方法之一是網(wǎng)格搜索,隨著超參數(shù)維度增加,網(wǎng)格搜索的計算成本呈指數(shù)級增長。為降低高額計算成本,一類求解黑箱函數(shù)最優(yōu)化的仿真算法如布谷鳥算法應(yīng)運而生。模擬布谷鳥搜尋鳥巢過程提出了布谷鳥算法,鳥巢和卵可視為解,其限制條件基于3項規(guī)則:每只布谷鳥1次只產(chǎn)1枚卵,隨機選擇1個鳥巢放入;隨機選擇的1組鳥巢,其最好寄生巢(即解)保留至下一代;鳥巢數(shù)量是固定的,宿主發(fā)現(xiàn)布谷鳥蛋的概率為Pa,若宿主發(fā)現(xiàn)鳥蛋,則會摧毀蛋或者尋找新巢。布谷鳥搜尋鳥巢的路徑采用基于萊維飛行的全局隨機游走。采用萊維飛行更新全局最優(yōu)解

ψil+1=ψil+αs(5)

其中,α為步長縮放量,取α=1;s=u|v|1/ω~le′vy(ω),u~N(0,σ2l),v~N(0,1),ω=1.5。

1.3 CS-XGBoost模型

XGBoost模型的預(yù)測效果依賴于參數(shù)取值,通過布谷鳥算法優(yōu)化XGBoost參數(shù),構(gòu)建CS-XGBoost模型的具體步驟如下:

Step 1 確定布谷鳥搜索算法的相應(yīng)參數(shù),最大迭代次數(shù)L,鳥巢發(fā)現(xiàn)概率Pa,初始解ψ0=(θ,η,m,n);

Step 2 初始化XGBoost參數(shù)ψ1,ψ2,…,ψd,定義目標(biāo)函數(shù)φ(ψi),i=1,2,…,d為XGBoost模型測試集的損失函數(shù)值,d定義為解的個數(shù);

Step 3 d個解隨機選擇一個解ψi,計算目標(biāo)函數(shù)φ(ψi),利用式(5)更新獲得鳥巢位置,計算目標(biāo)函數(shù)φ(ψj)。若φ(ψi)>φ(ψj),則新解ψj替換ψi;

Step 4 通過目標(biāo)函數(shù)φ(·)遍歷ψi,i=1,2,…,d以尋找最優(yōu)參數(shù)解ψoptl,保留ψoptl至下一次迭代,以概率Pa舍棄其他非最優(yōu)參數(shù)解,通過萊維飛行尋找新解;

Step 5 迭代終止,得ψoptd,代入XGBoost模型計算。

2 收入分類預(yù)測實證分析

選取Kaggle數(shù)據(jù)庫的收入分類數(shù)據(jù)集,被解釋變量是受調(diào)查對象收入是否超過50K(Kilo)的二分類變量(“0”代表收入低于50K,“1”代表收入超過50K)。由于該數(shù)據(jù)集屬于分布偏態(tài)的非平衡數(shù)據(jù)集,為防止過擬合影響模型分類效果,利用人工合成采樣方法平衡處理。處理后的數(shù)據(jù)中,收入超過50K有14 957人,收入低于50K有15 205人。

2.1 特征處理

由于數(shù)據(jù)量綱和數(shù)量級不同,為保證模型可靠,采樣后平衡數(shù)據(jù)需歸一化處理,即x*=xi-xminxmax-xmin,其中,x*為歸一化處理后的數(shù)據(jù)。數(shù)據(jù)集的數(shù)據(jù)特征較多,除年齡、性別、職業(yè)、每周工作小時數(shù)等,還涉及一些無用特征。通常,特征越多則模型分類結(jié)果越好,但過多特征會導(dǎo)致過擬合且降低運算效率。由圖1(a)可知,性別分組中收入存在顯著差異,女性分組中收入低于50K的人數(shù)顯著多于收入超過50K的人數(shù),男性分組則情況相反。由圖1(b)發(fā)現(xiàn),不同年齡階段研究對象的收入不同,年齡影響居民收入。結(jié)合皮爾遜相關(guān)系數(shù)檢驗,最終選取數(shù)據(jù)集的變量及符號見表1。

2.2 結(jié)果分析

依照2∶8比例把處理好的數(shù)據(jù)集劃分為測試集和訓(xùn)練集,采用虛擬變量處理劃分后數(shù)據(jù)集,構(gòu)建稀疏矩陣,建立XGBoost分類模型,預(yù)測測試集收入分類。為比較不同算法分類預(yù)測結(jié)果,采用的評價指標(biāo)主要包括準(zhǔn)確率、精確率、召回率、F1分數(shù)和接受者操作特性(Receiver Operating Characteristic, ROC)曲線等。準(zhǔn)確率為正確分類的樣本個數(shù)與總樣本個數(shù)比例,表示分類正確性的指標(biāo);精確率為預(yù)測正確的正類樣本個數(shù)占預(yù)測為正類樣本個數(shù)比例,召回率為預(yù)測正確的正類樣本個數(shù)占實際為正類樣本個數(shù)比例,兩者表示識別精度的指標(biāo);F1分數(shù)為精確率和召回率加權(quán)平均。

基于預(yù)處理數(shù)據(jù)構(gòu)建默認參數(shù)的Logistic回歸、隨機森林、支持向量機分類模型,與XGBoost模型的準(zhǔn)確率、精確率、召回率和F1分數(shù)對比。由表2可知,基于XGBoost算法訓(xùn)練分類模型測試集準(zhǔn)確率為90.58%,精確率為91.19%,召回率為89.67%,F(xiàn)1分數(shù)為90.42%,要優(yōu)于其他3種分類模型,表明XGBoost模型分類預(yù)測性能優(yōu)于Logistic回歸、隨機森林和支持向量機。

采用布谷鳥算法優(yōu)化XGBoost模型參數(shù),設(shè)布谷鳥搜索超參數(shù)ψ=(θ,η,m,n)迭代次數(shù)為50次。優(yōu)化后參數(shù)代入XGBoost模型,重新訓(xùn)練生成CS-XGBoost模型,預(yù)測數(shù)據(jù)集收入分類。為衡量二分類模型優(yōu)劣,引入ROC特征曲線下面積(AUC)評價指標(biāo)。由表3可知,收入分類的仿真分析中,CS-XGBoost算法的準(zhǔn)確率、精確率、召回率、F1分數(shù)和AUC指標(biāo)分別為95.67%、97.17%、94.02%、95.56%和97.96%,均明顯優(yōu)于基于初始參數(shù)的XGBoost算法和基于網(wǎng)格搜索的XGBoost算法,證明CS-XGBoost模型的泛化能力和學(xué)習(xí)能力要優(yōu)于基于初始參數(shù)的XGBoost模型和基于網(wǎng)格搜索的XGBoost模型,驗證了CS-XGBoost針對收入分類預(yù)測的準(zhǔn)確性與有效性。

圖2中假正率即預(yù)測錯誤的負類樣本個數(shù)占實際為負類樣本個數(shù)比例,真正率即預(yù)測正確的正類樣本個數(shù)占實際為正類樣本個數(shù)比例,ROC曲線越靠近左上角,誤判率越低,靈敏度越高,模型的分類性能越好。CS-XGBoost模型ROC曲線最靠近左上角,與右下角圍成的面積最大,即AUC值最大,模型分類預(yù)測性能最好。

3 房價回歸預(yù)測實證分析

為證明經(jīng)布谷鳥搜索算法優(yōu)化后的XGBoost回歸模型的有效性,選取Boston數(shù)據(jù)集時,數(shù)據(jù)集中包含14個特征,被解釋變量為房價中位數(shù),其他特征為仿真分析解釋變量。經(jīng)全樣本建立XGBoost模型驗證,特征重要性排名前三的變量分別為低收入人群占比、住宅房數(shù)及距離就業(yè)中心的加權(quán)距離(表4)。

Boston數(shù)據(jù)集按2∶8比例劃分為測試集和訓(xùn)練集,虛擬變量處理后構(gòu)建稀疏矩陣,建立基于初始參數(shù)的XGBoost回歸預(yù)測模型,采用布谷鳥算法優(yōu)化XGBoost模型4個超參數(shù),優(yōu)化后超參數(shù)代入XGBoost模型,重新訓(xùn)練生成CS-XGBoost模型,預(yù)測測試集房價。為比較基于初始參數(shù)的XGBoost及CS-XGBoost回歸模型的預(yù)測效果,采用評價指標(biāo)包括決定系數(shù)(Coefficient of Determination, R2)、均方根誤差(Root Mean Squared Error, RMSE)及平均絕對誤差(Mean Absolute Error, MAE),測試集房價預(yù)測結(jié)果見表5??芍?,房價預(yù)測的仿真分析中,CS-XGBoost回歸模型的均方根誤差和平均絕對誤差分別為2.943 5和2.165 4,較基于初始參數(shù)的XGBoost回歸模型分別降低0.188 9和0.208 9;CS-XGBoost回歸模型的決定系數(shù)為0.905 5,優(yōu)于初始參數(shù)的XGBoost回歸模型。這證明經(jīng)過布谷鳥搜索算法優(yōu)化后的XGBoost回歸模型的預(yù)測精度得到提升,驗證CS-XGBoost算法針對房價回歸預(yù)測的準(zhǔn)確性與有效性。

4 結(jié)論

為提高XGBoost算法預(yù)測精度,本文提出一種基于布谷鳥搜索算法的XGBoost超參數(shù)優(yōu)化模型?;谑杖敕诸愵A(yù)測數(shù)據(jù)集和房價回歸預(yù)測數(shù)據(jù)集,驗證CS-XGBoost算法的準(zhǔn)確性和有效性。仿真結(jié)果表明,相較于初始參數(shù)的XGBoost模型,CS-XGBoost算法能有效克服參數(shù)選擇的不確定性,泛化能力和學(xué)習(xí)能力在準(zhǔn)確率、F1分數(shù)、AUC、決定系數(shù)、平均絕對誤差等指標(biāo)均有顯著提升,進而證明了CS-XGBoost算法的有效性。今后的研究將考慮通過布谷鳥搜索算法優(yōu)化其他機器學(xué)習(xí)模型的超參數(shù),提高模型學(xué)習(xí)能力和泛化能力。

參考文獻

[1]CHEN T Q, GUESTRIN C. XGBoost: A scalable tree boosting system[C]// 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, 2016: 785-794.

[2]陳繼強, 張峰, 張麗娜, 等. 基于模糊信息分解的中小微企業(yè)信用評估組合模型[J]. 模糊系統(tǒng)與數(shù)學(xué), 2022, 36(5): 142-150.

[3]廖開際, 鄒珂欣, 莊雅云. 基于改進XGBoost的電商客戶流失預(yù)測[J]. 計算機與數(shù)字工程, 2022, 50(5): 1115-1118+1125.

[4]SONG R Y, LI T Y, WANG Y. Mammographic classification based on XGBoost and DCNN with multi features[J]. IEEE Access, 2020,8: 75011-75021.

[5]張榮濤, 陳志高, 李彬彬, 等. 基于深度卷積神經(jīng)網(wǎng)絡(luò)模型和XGBoost算法的齒輪箱故障診斷研究[J]. 機械強度, 2020, 42(5): 1059-1066.

[6]趙一諾, 張鐵峰. 一種基于改進PSO優(yōu)化隨機森林的非侵入式負荷識別算法[J]. 信息與電腦(理論版), 2022, 34(6): 102-104.

[7]LIU J, ZIO E. SVM hyperparameters tuning for recursive multi-step-ahead prediction[J]. Neural Computing and Applications, 2017, 28(12): 3749-3763.

[8]JAYARAMAN V, LAKSHMINARAYANAN A R, PARTHASARATHY S, et al. Forecasting the municipal solid waste using GSO-XGBoost model[J]. Intelligent Automation & Soft Computing, 2023, 37(1): 301-320.

[9]XIA Y F, LIU C Z, LI Y Y, et al. A boosted decision tree approach using Bayesian hyper-parameter optimization for credit scoring[J]. Expert Systems with Applications, 2017,78: 225-241.

[10] 馬恒, 任美學(xué), 高科. 基于隨機搜索優(yōu)化XGBoost的瓦斯涌出量預(yù)測模型[J]. 中國安全生產(chǎn)科學(xué)技術(shù), 2022, 18(5): 129-134.

[11] 張春富, 王松, 吳亞東, 等. 基于GA_Xgboost模型的糖尿病風(fēng)險預(yù)測[J]. 計算機工程, 2020, 46(3): 315-320.

[12] 孫朝云, 呂紅云, 楊榮新, 等. 改進粒子群優(yōu)化XGBoost模型的高速公路服務(wù)區(qū)交通量預(yù)測[J]. 北京交通大學(xué)學(xué)報, 2021, 45(5): 74-83.

[13] 于洋, 魏長江. 優(yōu)化蟻群算法在電纜敷設(shè)中的應(yīng)用[J]. 青島大學(xué)學(xué)報(自然科學(xué)版), 2020, 33(3): 65-70+75.

[14] 沈胤宏, 張暢, 楊林, 等. 改進鯨魚算法尋優(yōu)支持向量機的眼動數(shù)據(jù)分類研究[J]. 生物醫(yī)學(xué)工程學(xué)雜志, 2023, 40(2): 335-342.

[15] 孟桂艷, 張偉. 迭代步進值遞減的果蠅優(yōu)化算法在PID整定中的應(yīng)用[J]. 青島大學(xué)學(xué)報(自然科學(xué)版), 2017, 30(3): 19-24.

[16] YANG X S, DEB S. Cuckoo search via lévy flights[C]// 2009 World Congress on Nature and Biologically Inspired Computing. Coimbatore, 2009: 210-214.

[17] 劉曉東, 孫麗君, 陳天飛. 布谷鳥算法的收斂性分析及性能比較[J]. 計算機科學(xué)與探索, 2020, 14(10): 1644-1655.

The Optimization and Application on XGBoost

Algorithm Based on Cuckoo Search

LI Xin-ling, LI Li-li, ZHOU Kai-he

(College of Economics, Qingdao University, Qingdao 266061, China)

Abstract:

In order to improve the prediction accuracy of XGBoost algorithm, the cuckoo search algorithm was used to globally optimize hyperparameters in XGBoost algorithm: learning rate, the minimum loss of output node splitting, the maximum depth of tree model and the number of base classifiers. The CS-XGBoost model was built to train the dataset. The results show that the accuracy, precision, F1-score and AUC of the CS-XGBoost income classification model obtain 95.67%,97.17%,95.56% and 97.96%, which are higher than Logistic regression model, support vector machine, random forest, XGBoost and XGBoost algorithm based on grid search. The coefficient of determination, root mean square error and mean absolute error of the CS-XGBoost housing price prediction model are 0.905 5, 2.943 5 and 2.165 4. Compared with XGBoost algorithm, CS-XGBoost algorithm can effectively improve the prediction accuracy.

Keywords:

XGBoost; cuckoo search; classification prediction; regression prediction

收稿日期:2023-02-24

基金項目:

國家社科基金(批準(zhǔn)號:2019BTJ028)資助;山東省金融應(yīng)用重點研究項目(批準(zhǔn)號:2020-JRZZ-03)資助。

通信作者:

李莉莉,女,博士,教授,主要研究方向為金融統(tǒng)計、統(tǒng)計調(diào)查與預(yù)測。E-mail: lili_lee2003@126.com

猜你喜歡
布谷鳥搜索算法分類
布谷鳥讀信
布谷鳥讀信
分類算一算
改進的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
分類討論求坐標(biāo)
噓!布谷鳥來了
大灰狼(2019年4期)2019-05-14 16:38:38
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
布谷鳥叫醒的清晨
基于汽車接力的潮流轉(zhuǎn)移快速搜索算法
永靖县| 崇信县| 桦南县| 富裕县| 渭南市| 五大连池市| 吉木乃县| 利川市| 蓝田县| 喀喇沁旗| 崇州市| 达日县| 吉木萨尔县| 台安县| 佳木斯市| 上杭县| 湖北省| 尼木县| 澄迈县| 泸西县| 临沭县| 莒南县| 河西区| 大同县| 雷波县| 克山县| 奎屯市| 偃师市| 普兰县| 舒城县| 山阳县| 额尔古纳市| 聂荣县| 尚志市| 旌德县| 浦县| 崇阳县| 丹巴县| 乐陵市| 淮安市| 保亭|