999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于混合優化XGBoost算法的砂巖儲層孔隙度預測

2023-06-07 09:48:50潘少偉鄭澤晨雷建永王亞玲
計算機應用與軟件 2023年5期
關鍵詞:模型

潘少偉 鄭澤晨 雷建永 王亞玲

1(西安石油大學計算機學院 陜西 西安 710065) 2(中國石油長慶油田公司第二采氣廠 陜西 榆林 719000) 3(中國石油長慶油田公司勘探開發研究院 陜西 西安 710018)

0 引 言

在油田勘探開發中,地球物理測井(以下簡稱測井)是至關重要的一項技術環節。由測井曲線獲得的儲層參數在含油層預測中具有非常重要的作用[1]。油田勘探開發中測定儲層參數的方法有兩類:直接測定方法和間接測定方法。直接測定方法是鉆井取心后通過分析化驗的方式直接獲取各種儲層參數值,該方法獲得的儲層參數與其真實值非常接近,但花費昂貴且在油田應用范圍較小,所以具有一定的局限性。間接測定方法是一種方便快捷且不可缺少的方法[2],它一般是由油田科研人員依據測井曲線建立經驗公式或者簡單的地質結構模型來解釋未知地層的儲層參數[3-4]。這種間接測定方法一般存在較強的主觀性,不同油田之間經驗公式和地質結構模型的可移植性也較差。并且由于不同測井曲線參數之間存在大量的復雜非線性關系[5],導致間接測定方法解釋儲層參數時產生的不確定性也較大。可見,以往的直接測定方法和間接測定方法在儲層參數預測時均存在一定不足[6-7]。

機器學習是一種效率極高的數據挖掘方法,近幾年飛速發展,在測井數據分析中更是獲得了廣泛應用。楊柳青等[8]使用深度神經網絡(Deep Neural Networks,DNN)對砂巖孔隙度進行預測,發現與卷積神經網絡(Convolutional Neural Networks,CNN)和BP(Back Propagation)神經網絡相比,深度神經網絡的目標預測值與實際值相差較小;安鵬等[9]利用LSTM(Long Short Term Memory)神經網絡建立測井參數與泥質含量的非線性關系與時序關系,取得了較高的預測準確率;甘宇等[10]應用BP神經網絡和決策樹構建孔隙度的預測模型,結果表明BP神經網絡具有更好的預測效果;宋輝等[11]提出一種將卷積神經網絡與門控循環單元網絡相結合的儲層參數預測方法;桑凱恒等[12]先使用粗糙集簡約地質屬性,再使用機器學習方法構建儲層參數預測的非線性模型;劉暢等[13]采用廣義回歸神經網絡(General Regression Neural Networks,GRNN)預測致密砂巖儲層的孔隙度,取得了較好效果。以上研究表明機器學習方法在通過測井數據預測儲層參數領域具有非常廣闊的發展空間。

XGBoost(eXtreme Gradient Boosting)算法由陳天奇等[14]于2016年提出,它建立在對極端梯度提升算法的基礎之上,但具有更高的預測精度和更強的泛化能力。XGBoost算法目前被初步應用于石油工業領域:閆星宇等[15]在網格尋優的基礎上,應用XGBoost算法構建致密砂巖氣儲層的孔隙度解釋模型,結果表明網格尋優之后的XGBoost算法具有更高的預測精度;孫致學等[16]在隨機搜索尋優的前提下,以支持向量機(Support Vector Machine,SVM)和XGBoost回歸為基礎,實現了對儲層裂縫開度的準確預測。總體來看,XGBoost算法性能良好,泛化能力較強,運行效率較高,并可以使用多線程進行并行計算。但未經參數尋優的XGBoost算法對已有數據集的擬合度較低,導致其泛化能力和適應性均較差。因此,本文引入網格搜索(Grid_Search)法和粒子群(Particle Swarm Optimization,PSO)算法對XGBoost算法的超參數進行尋優,并把網格搜索法和粒子群算法尋優之后的XGBoost算法應用到我國陜北地區某油田儲層孔隙度預測中,最后把網格搜索法和粒子群算法尋優之后的XGBoost模型對測試數據集的預測結果與線性回歸(Linear Regression,LR)、支持向量機回歸(Support Vector Regression,SVR)、隨機森林(Random Forest,RF)、未經優化的XGBoost算法(XGB)和網格搜索法優化的XGBoost算法(GS-XGB)的預測結果進行對比,發現與其他機器學習方法相比,網格搜索法和粒子群算法尋優之后的XGBoost算法對孔隙度具有更高的預測精度。

1 算法設計

1.1 XGBoost算法

Friedman于2001年提出梯度提升樹(Gradient Boosting Decison Tree,GBDT)算法[17],其原理是基于所有先前樹,使用梯度下降法生成新樹,使得目標函數靠近最小的方向。XGBoost稱為極端梯度提升樹,是一種樹集成模型,可以用于分類和回歸問題。XGBoost應用于回歸問題時,先不斷添加新的回歸樹,再通過新生成的CART樹來擬合前一次模型的殘差。訓練出的完整模型包括K棵樹,每棵樹對應的結果之和作為最終的預測值[18]。

(1)

正則項的具體表達式為:

(2)

式中:γ和λ表示懲罰系數。

XGBoost的目標函數又可改寫為:

(3)

式中:C為常數項。XGBoost通過不斷地尋找ft來優化目標函數,目標函數進行二階泰勒展開并且移除高階無窮小項變成:

Ωft+C

(4)

目標函數又可作進一步的化簡,具體過程為:

(5)

令Gj=∑i∈Ijgj,Hj=∑i∈Ijhi,則目標函數變成:

(6)

(7)

1.2 網格搜索法

網格搜索法是一種窮舉遍歷算法,它將所有可能的參數組合在空間中劃分成若干個網格,遍歷網格中所有交點,對每個參數集合應用交叉驗證來計算誤差,得到誤差最小的為全局最優解[19]。網格搜索法可以從諸多參數中獲得最優解,但是效率較低,因此本文僅使用網格搜索法確定XGBoost算法整型超參數的最優值和浮點型超參數尋優的取值范圍。

1.3 粒子群算法

粒子群算法是一種隨機搜索算法,由Eberhart和Kennedy于1995年提出[20]。它可以較大概率地收斂并得到全局范圍的最優解。在動態的、多目標的優化問題中,相比傳統優化算法,粒子群算法具有更快的搜索速度以及避免陷入局部最優的能力,可節省大量的尋優時間,并收斂至最接近的最優解。本文采用粒子群算法對XGBoost算法中的浮點型超參數進行尋優。

1.4 網格搜索法和粒子群算法尋優的XGBoost算法

本文采用網格搜索法和粒子群算法對XGBoost算法中的8個主要超參數進行尋優,這8個超參數分別是:樹的最大深度(max_depth)、子節點包含實例權重的最小總和(min_child_weight)、子樹的數量(n_estimators)、樹的葉子節點進一步分裂所需的最小損失減少量(gamma)、訓練樣本的采樣率(subsample)、構建樹時對特征的列采樣率(colsample_bytree)、權重L1正則項(alpha)和權重L2正則項(lambda)。GS-PSO-XGBoost算法的基本流程如圖1所示,具體描述如下:

(1) 利用輸入數據集,建立基于XGBoost算法的孔隙度預測模型。

(2) 利用網格搜索法對XGBoost算法中的max_depth、min_child_weight和n_estimators 3個整型超參數尋優,獲得它們的最優值,確定gamma、subsample、colsample_bytree、alpha和lambda 5個浮點型超參數尋優的取值范圍。

(3) 初始化粒子群,設置最大迭代次數。

(4) 進行訓練,計算每個粒子的適應度。

(5) 迭代到一定次數時,如果整個粒子群收斂,此時gamma、subsample、colsample_bytree、alpha 和lambda 5個浮點型超參數的值即為它們的最優值;如果整個粒子群不收斂,且沒有達到最大迭代次數,則返回(4)繼續進行訓練。

(6) 確定XGBoost算法中5個浮點型超參數的最優值,結合(2)中獲得的max_depth、min_child_weight和n_estimators 3個整型超參數的最優值,形成基于XGBoost算法的孔隙度預測模型。

圖1 GS-PSO-XGBoost算法流程

GS-PSO-XGBoost算法的偽代碼如下:

算法1是關于利用網格搜索法對XGBoost算法的整型超參數尋優、浮點型超參數取值范圍確定的偽代碼。

算法1GS for XGBoost

Input:ai,bi,Lower and Higher bound of XGB parameter

whileeach XGB parameterdo

forXGB parameter=aitobido

find the min mae of these model

outputXGB parameter of the best model

endfor

endwhile

endprocedure1

算法2是在算法1的基礎上,采用粒子群算法對XGBoost算法中5個浮點型超參數尋優的偽代碼。

算法2GS+PSO for XGBoost

Input: the optimization range of PSO

foreach particleido

Initialize velocityViand positionXifor particlei

Using particles to build XGB model

Evaluate particle i and setpBesti=Xi

endfor

gBest=min{pBesti}

whilenot stopdo

fori=1 toNdo

Update the velocity and position of particle i

Using particles to build XGB model

Evaluate particle i

iffit(Xi)

thenpBesti=Xi

iffit(pBesti)

thengBest=pBesti

endfor

endwhile

outputgBest

endprocedure2

2 基于GS-PSO-XGBoost算法的孔隙度預測研究

2.1 數據集構建

本文數據集來自我國陜北地區某油田的取心井。該油田綜合地質研究表明:聲波時差、井徑、補償中子、補償密度、自然伽馬和陣列感應電阻率6種測井參數均與孔隙度具有相關性。為了使所建立的孔隙度預測模型在該油田具有較好的適應性和普及性,把該油田內全部取心井已有數據的順序打亂,重新隨機排列組合,形成新的數據集。訓練數據集共35 066組,測試數據集共4 829組,每一組數據的采樣間隔為0.125 m。數據集的格式見表1。

表1 構建孔隙度預測模型的數據集

表1中,第一列數據是聲波時差,其單位為μs/ft;第二列數據是井徑,其單位為cm;第三列數據是補償中子,它是一個百分數;第四列數據是補償密度,其單位為g/cm3;第五列數據是自然伽馬,其單位為API;第六列數據是陣列感應電阻率,其單位為Ω·m;第七列數據是孔隙度,它也是一個百分數。表1中的前六列數據都是測井參數,它們對孔隙度的影響均較大。因此,在基于GS-PSO-XGBoost算法的孔隙度預測模型中,同一深度的聲波時差、井徑、補償中子、補償密度、自然伽馬和陣列感應電阻率均為輸入項,處于同一深度的孔隙度則是輸出項。

為檢驗這6種測井參數與孔隙度的相關性,制作了相關性熱力圖(圖2)[21]。圖2中,AC代表聲波時差,CAL代表井徑,CNL代表補償中子,DEN代表補償密度,GR代表自然伽馬,AT90代表陣列感應電阻率,Porosities代表孔隙度。由圖2可看出,聲波時差、井徑、補償中子、補償密度、自然伽馬和陣列感應電阻率均與孔隙度呈現出一定的正負相關性,相關系數分別為0.45、0.059、0.092、-0.54、-0.2和-0.32,即補償密度和聲波時差與孔隙度的相關性最強,其他的測井參數次之。

圖2 測井參數與孔隙度的相關性熱力圖

2.2 數據集預處理

在使用多個維度的測井參數建立孔隙度預測模型時,由于不同測井參數的量綱不一致,且同一種測井參數數值間的差距較大,所以需要對測井參數進行預處理,以提高模型的準確率,減少模型的訓練時間。使用標準差歸一化公式完成訓練數據集和測試數據集的預處理,標準差歸一化公式如下所示:

(8)

式中:ai和Ai分別為同一數據歸一化前后的值,μ是未歸一化之前數據的均值,σ是標準差。經過歸一化處理后的數據符合標準的正態分布,即均值為0,標準差為1。

2.3 評價指標

為了評價GS-PSO-XGBoost算法對孔隙度的預測效果,選取均方根誤差(Root Mean Square Error,RMSE)、平均絕對誤差(Mean Absolute Error,MAE)和平均絕對百分比誤差(Mean Absolute Percent Error,MAPE)作為評價指標。它們的計算公式如下:

(9)

(10)

(11)

2.4 基于網格搜索法XGBoost算法的超參數尋優

利用網格搜索法確定XGBoost算法中max_depth、min_child_weight和n_estimators 3個整型超參數的具體做法就是以MAE為評價指標,利用訓練數據集來構建孔隙度預測的XGBoost模型。當訓練過程中MAE值最小時,就獲得了max_depth、min_child_weight和n_estimators的最優值。最終的結果如圖3[21]所示。

(a) max_depth (b) min_child_weight

(c) n_estimators圖3 MAE與XGBoost整型超參數關系變化曲線圖

由圖3(a)可知,當訓練過程中max_depth的取值為20時,XGBoost模型的MAE值最小,為1.61,之后隨著max_depth的增大,MAE值也在逐漸增大,說明產生了過擬合現象;由圖3(b)可知,當min_child_weight逐漸增大時,MAE值逐漸變小,但min_child_weight的過大會導致XGBoost模型的欠擬合,所以遍歷范圍選擇得較小,最終取8作為min_child_weight的值;由圖3(c)可看出,n_estimators取值為140時,XGBoost模型的MAE值最小,為1.55,之后隨著n_estimators取值的增大,出現了過擬合現象。這樣,通過網格搜索法獲得了孔隙度預測的XGBoost模型中max_depth、min_child_weight和n_estimators 3個整型超參數的最優值,分別為20、8和140。

同樣利用網格搜索法,確定了孔隙度預測的XGBoost模型中gamma、subsample、colsample_bytree、alpha和lambda 5個浮點型超參數尋優的取值范圍,如表2所示。

表2 由網格搜索法確定的XGBoost模型浮點型參數的尋優范圍

2.5 基于粒子群算法XGBoost模型的浮點型超參數尋優

在通過網格搜索法確定尋優取值范圍的基礎上,利用粒子群算法確定孔隙度預測的XGBoost模型中5個浮點型超參數gamma、subsample、colsample_bytree、alpha和lambda的最優值。首先設置粒子的種群規模為20,迭代次數為40,之后開始訓練,訓練過程中XGBoost模型的MAE值隨訓練輪次的變化曲線如圖4所示,橫坐標為訓練輪次,縱坐標為MAE值。可看出,隨著訓練輪次的增大,XGBoost模型的MAE值在逐漸減小,當訓練輪次達到19時,MAE值趨向穩定,之后一直保持在1.118左右。這樣訓練21小時后獲得了gamma、subsample、colsample_bytree、alpha和lambda最優值,分別是0、0.897 1、1.0、0.071 1和0.01。

圖4 XGBoost模型MAE隨訓練輪次的變化曲線圖

2.6 GS-PSO-XGBoost孔隙度預測模型的構建與檢驗

當XGBoost算法中max_depth、min_child_weight、n_estimators、gamma、subsample、colsample_bytree、alpha和lambda 8個超參數的取值分別為20、8、140、0、0.897 1、1.0、0.071 1和0.01時,即成功獲得了GS-PSO-XGBoost孔隙度預測模型。利用測試數據集對該GS-PSO-XGBoost孔隙度預測模型測試,所得結果如圖5所示。

圖5 GS-PSO-XGBoost算法對孔隙度預測值與其真實值 相對誤差統計直方圖

圖5中,橫坐標為孔隙度預測值與其真實值相對誤差統計區間,縱坐標為測試數據數目。由圖5可知:在4 829組測試數據中,孔隙度預測值與真實值相對誤差在區間[-1,0]的有1 980組,在區間[0,1]的有1 562組,在區間[-3,-1]的有428組,在區間[1,3]的有350組,相對誤差位于區間[-5,-3]和[3,5]的分別為45組和109組;孔隙度預測值與真實值相對誤差在區間[-80,-25]、[-25,-5]和[5,25]、[25,80]的分別為6組、103組和195組、37組,在區間[80,350]的為14組。經過統計發現:在4 829組測試數據中,孔隙度預測值與真實值相對誤差的絕對值小于等于5%的占93%左右,大于5%的占7%左右。可見,GS-PSO-XGBoost算法產生的孔隙度預測值與其真實值非常吻合,GS-PSO-XGBoost孔隙度預測模型具有非常高的預測精度。

XGBoost模型參數優化過程的時間損耗如表3所示。由表3可看出,隨著網格搜索法和粒子群算法的引入,XGBoost模型參數尋優的時間從22.50 s增加到18.21 h,時間成本大大增加;與單獨網格搜索法尋優相比,時間成本增加了0.8 h。

表3 XGBoost模型的訓練時間性能對比

表4是XGBoost模型參數優化前后的泛化能力對比結果。由表4可發現,GS-PSO-XGBoost孔隙度預測模型在訓練集和相鄰油田10余口取心井數據集上測試產生的MAE分別為1.153 307和0.153 174,均低于未經優化的XGBoost模型和網格搜索法優化的XGBoost模型產生的MAE,這表明經過參數尋優之后的XGBoost算法對數據的泛化能力有了極大的提高。

表4 優化XGBoost模型泛化能力對比

引入網格搜索法和粒子群算法尋優增加了XGBoost算法計算的時間成本,但是與未經尋優的XGBoost算法相比,其MAE下降了12倍;與網格搜索法尋優的XGBoost算法相比,其MAE下降了5倍。可見,在增加的時間成本可以接受的前提下,經過網格搜索法和粒子群算法尋優之后的XGBoost算法的泛化能力和預測準確率均有極大提高,驗證了本文GS-PSO-XGBoost算法的實踐可行性。

2.7 仿真結果分析

基于相同的輸入輸出,利用線性回歸、支持向量機回歸、隨機森林、未經優化的XGBoost算法、網格搜索法優化的XGBoost算法構建孔隙度的預測模型,以RMSE、MAE和MAPE為評價指標,通過與GS-PSO-XGBoost算法相同的測試數據集對它們進行測試,并把測試結果與GS-PSO-XGBoost算法的測試結果進行對比,具體如表5所示。

表5 6種機器學習方法預測產生的RMSE、MAE和MAPE值

由表5可知,在上述6種機器學習方法中,線性回歸預測孔隙度產生的RMSE值、MAE值和MAPE值均最大,分別為3.535 521、2.801 047和0.375 713;GS-PSO-XGBoost算法預測孔隙度產生的RMSE值、MAE值和MAPE值均最小,分別為0.523 657、0.153 174和0.020 194;其他4種機器學習方法預測孔隙度產生的RMSE值、MAE值和MAPE介于上述兩種方法之間。

將線性回歸、支持向量機回歸、隨機森林、未經優化的XGBoost算法、網格搜索法尋優的XGBoost算法和GS-PSO-XGBoost算法對孔隙度的預測值和其真實值做成交匯圖,如圖6所示,其中:圖6(a)為線性回歸對孔隙度的預測值與其真實值交匯圖;圖6(b)為支持向量機回歸對孔隙度的預測值與其真實值交匯圖;圖6(c)為隨機森林對孔隙度的預測值與其真實值交匯圖;圖6(d)為未經尋優的XGBoost算法對孔隙度的預測值與其真實值交匯圖[21];圖6(e)為網格搜索法尋優的XGBoost算法對孔隙度的預測值與其真實值交匯圖[21];圖6(f)為GS-PSO-XGBoost算法對孔隙度的預測值與其真實值交匯圖。可看出,線性回歸、支持向量機回歸和未經優化的XGBoost算法對孔隙度的預測值與其真實值相差較大;隨機森林和網格搜索法優化的XGBoost算法對孔隙度的預測值與其真實值較為吻合;GS-PSO-XGBoost算法對孔隙度的預測值與其真實值最為吻合,且圖6(f)中絕大多數數據點集中分布在y=x這條直線的兩側。

(a) LR (b) SVR

(c) RF (d) XGB

(e) GS-XGB (f) GS-PSO-XGB圖6 6種機器學習方法對孔隙度預測值與其真實值交會圖

通過上述分析可以得出:本文提出的GS-PSO-XGBoost算法與線性回歸、支持向量機回歸這些傳統機器學習方法相比,其對孔隙度的預測精度有較大提高;與未經優化的XGBoost算法和網格搜索法優化的XGBoost算法相比,其對孔隙度的預測精度也有較大改善。本文提出的GS-PSO-XGBoost算法體現出了機器學習中參數尋優的重要性。

3 結 語

為克服已有孔隙度預測方法中存在的不足,本文提出GS-PSO-XGBoost算法,利用其構建孔隙度預測模型。與其他孔隙度預測方法相比,本文方法解決了以往孔隙度預測中測井解釋方法主觀性強、推廣性差,機器學習方法泛化能力不足等問題,所建立孔隙度預測模型的精度也有較大提高。

本文提出的GS-PSO-XGBoost算法對孔隙度預測具有較高的精度,同時該方法具有較強的推廣性,可以快速應用到陜北地區其他油田孔隙度的預測中。該方法的提出對我國陜北地區油田乃至其他地區油田孔隙度預測模型的建立具有一定的參考意義。

本文的不足之處在于沒有設計實現XGBoost并行算法,在今后的工作中,要致力于設計實現網格搜索法和粒子群算法尋優的XGBoost并行算法,以提高孔隙度預測模型的運算速度和有效性。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 一区二区偷拍美女撒尿视频| 国产成人综合亚洲欧美在| 色男人的天堂久久综合| 亚洲有无码中文网| 国产成人精品午夜视频'| 波多野结衣在线se| 色哟哟精品无码网站在线播放视频| 国产成人免费观看在线视频| 亚洲福利片无码最新在线播放| 91精品啪在线观看国产91| 国产人前露出系列视频| 亚洲国产天堂久久九九九| 国产成人午夜福利免费无码r| 久久无码av一区二区三区| 国产素人在线| 青青久久91| 日本在线亚洲| 国产丝袜啪啪| 国产精品毛片一区| 成人在线视频一区| 88av在线| swag国产精品| 午夜欧美理论2019理论| 国产嫩草在线观看| 色悠久久久久久久综合网伊人| 成人综合在线观看| 国产熟睡乱子伦视频网站| 国产精品xxx| 欧美在线一级片| 欧美国产综合色视频| 亚洲色图另类| 91福利国产成人精品导航| 超薄丝袜足j国产在线视频| 亚洲手机在线| 一级毛片网| 亚洲黄网在线| 国产99在线| 欧美一区日韩一区中文字幕页| 国产SUV精品一区二区| 国产精品人人做人人爽人人添| 在线免费a视频| 国产人成在线观看| 蜜桃视频一区| 亚洲性色永久网址| 国产成人亚洲精品色欲AV| 国产欧美精品午夜在线播放| 国模极品一区二区三区| 四虎精品国产永久在线观看| 天天综合网亚洲网站| 久久人人97超碰人人澡爱香蕉| 国产激情无码一区二区APP | 亚瑟天堂久久一区二区影院| 国内老司机精品视频在线播出| 五月天在线网站| 国产精品播放| 狠狠色综合网| 精品一区二区久久久久网站| 久热re国产手机在线观看| 在线看片中文字幕| 狠狠v日韩v欧美v| 综合色88| 日本三级精品| 91美女在线| 又猛又黄又爽无遮挡的视频网站| 国产免费精彩视频| 国产小视频a在线观看| 欧美成人综合在线| 在线亚洲天堂| 青青草一区| 在线观看av永久| 欧美成人二区| 成人综合网址| 色男人的天堂久久综合| 国产精品19p| 欧洲一区二区三区无码| 性激烈欧美三级在线播放| 无码内射中文字幕岛国片| 日韩福利在线观看| 免费人成网站在线高清| 国产成人精品一区二区| 成人福利在线看| 国产簧片免费在线播放|