彭 英,李克文,朱應(yīng)科,徐志峰,楊澎濤,孫秀玲
(1.中國(guó)石化勝利油田分公司物探研究院,山東東營(yíng)257000;2.中國(guó)石油大學(xué)(華東)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東青島266580;3.山東勝軟科技股份有限公司,山東東營(yíng)257000)
巖性識(shí)別對(duì)石油勘探開(kāi)發(fā)具有重要意義,已成為眾多學(xué)者關(guān)注的焦點(diǎn)。砂泥巖識(shí)別是儲(chǔ)層預(yù)測(cè)工作中非常重要的環(huán)節(jié)[1],也是諸多研究的基礎(chǔ),其所需的測(cè)井資料通常由專(zhuān)家按經(jīng)驗(yàn)解釋完成,因此識(shí)別結(jié)果存在一定的主觀性。在常規(guī)的砂泥巖識(shí)別方法中[2-6],地震反演作為砂體預(yù)測(cè)的常規(guī)技術(shù)已得到廣泛應(yīng)用,但不論是疊后反演還是疊前反演,均受限于地震的縱向分辨率,井間預(yù)測(cè)結(jié)果分辨率較低、可靠性較弱,準(zhǔn)確率有待進(jìn)一步提高。對(duì)于巖性信息的獲取多依靠實(shí)地巖心取樣、交會(huì)圖和聚類(lèi)分析[7]等傳統(tǒng)方法和數(shù)理統(tǒng)計(jì)方法,但這些方法仍存在人力和時(shí)間成本較高等局限,因此有必要提出更可靠、穩(wěn)定的學(xué)習(xí)算法以解決地質(zhì)應(yīng)用中砂泥巖自動(dòng)識(shí)別分類(lèi)的問(wèn)題。
近年來(lái),隨著計(jì)算機(jī)硬件性能的高速提升以及大數(shù)據(jù)技術(shù)的不斷發(fā)展,對(duì)石油工業(yè)的發(fā)展產(chǎn)生了巨大的推動(dòng)作用[8]。因此,將迅速發(fā)展的大數(shù)據(jù)技術(shù)與測(cè)井曲線相結(jié)合識(shí)別砂泥巖,已成為目前儲(chǔ)層研究砂泥巖識(shí)別的重要手段[9-14]。機(jī)器學(xué)習(xí)算法從井點(diǎn)出發(fā),充分挖掘地震屬性與測(cè)井巖性敏感曲線之間的數(shù)據(jù)關(guān)系,最大限度地發(fā)揮地震屬性的利用價(jià)值,其預(yù)測(cè)結(jié)果的縱向分辨率高于確定性反演,井間可靠性優(yōu)于地質(zhì)統(tǒng)計(jì)學(xué)反演。隨機(jī)森林算法[15-17]的訓(xùn)練速度快、準(zhǔn)確率較高,能夠有效地運(yùn)行于大型數(shù)據(jù)集,且引入隨機(jī)性,不易過(guò)擬合;該算法對(duì)于不平衡的數(shù)據(jù)集可以平衡誤差,但對(duì)于小型數(shù)據(jù)或低維數(shù)據(jù)(測(cè)井?dāng)?shù)據(jù)),則難以產(chǎn)生較好的分類(lèi),易出現(xiàn)很多相似的決策樹(shù),導(dǎo)致真實(shí)的預(yù)測(cè)結(jié)果被掩蓋。深度神經(jīng)網(wǎng)絡(luò)算法[18-22]可以較好地解決非線性問(wèn)題,進(jìn)而實(shí)現(xiàn)面向相關(guān)專(zhuān)業(yè)領(lǐng)域的遷移學(xué)習(xí),這是建立在充足訓(xùn)練數(shù)據(jù)量的基礎(chǔ)之上,但若在巖性識(shí)別任務(wù)的訓(xùn)練過(guò)程中,面對(duì)較為稀少的測(cè)井?dāng)?shù)據(jù),神經(jīng)網(wǎng)絡(luò)在推理過(guò)程中無(wú)法提取足夠的測(cè)井特征,易導(dǎo)致過(guò)擬合問(wèn)題[23],使得模型無(wú)法獲得較高的準(zhǔn)確率。XGBoost 是一種基于迭代決策樹(shù)模型的集成學(xué)習(xí)算法[24-26],是基于利用一階導(dǎo)數(shù)相關(guān)信息的迭代決策樹(shù)(Gradient Boosting Decision Tree,簡(jiǎn)稱(chēng)GBDT)的改進(jìn)算法,在很大程度上提高了模型的訓(xùn)練速度和預(yù)測(cè)的準(zhǔn)確度。對(duì)于深度學(xué)習(xí)算法而言,XGBoost 算法只適用于處理結(jié)構(gòu)化的特征數(shù)據(jù),而直接對(duì)測(cè)井、錄井曲線等數(shù)據(jù)進(jìn)行處理則較為困難,且XGBoost算法的參數(shù)過(guò)多,調(diào)參復(fù)雜。
由以上分析可以得出,諸如隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)算法可以較好的解決相關(guān)地質(zhì)問(wèn)題,已經(jīng)獲得了顯著的效果,為提升地質(zhì)工作效率提供了新的思路和方法,然而在砂泥巖識(shí)別領(lǐng)域仍存在關(guān)鍵技術(shù)難點(diǎn):①樣本集的選取以及預(yù)處理對(duì)于機(jī)器學(xué)習(xí)算法的性能具有較大影響。②砂泥巖巖性數(shù)據(jù)復(fù)雜多樣,根據(jù)測(cè)井參數(shù)與巖性的分析,選取合適的測(cè)井曲線參數(shù)是影響砂泥巖識(shí)別準(zhǔn)確性的關(guān)鍵之一。因此,需基于特定樣本數(shù)據(jù)設(shè)計(jì)相關(guān)人工智能算法與超參數(shù)調(diào)優(yōu)策略,充分發(fā)揮智能算法的優(yōu)勢(shì),以滿足砂泥巖識(shí)別準(zhǔn)確性的需求。
為此,筆者以測(cè)井和錄井資料為基礎(chǔ),考慮砂泥巖識(shí)別的關(guān)鍵技術(shù)難點(diǎn),對(duì)測(cè)井參數(shù)進(jìn)行敏感性分析,以明確影響因素;通過(guò)多項(xiàng)預(yù)處理操作構(gòu)建完整的訓(xùn)練數(shù)據(jù)集,根據(jù)測(cè)井標(biāo)簽稀疏性的特點(diǎn),將Focal Loss 函數(shù)引入XGBoost 算法(FL-XGBoost算法),對(duì)勝利油田牛莊地區(qū)構(gòu)建砂泥巖識(shí)別模型;并將隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)算法的訓(xùn)練結(jié)果作為對(duì)照,以最終砂泥巖識(shí)別分類(lèi)結(jié)果的準(zhǔn)確率作為評(píng)價(jià)標(biāo)準(zhǔn),驗(yàn)證FL-XGBoost算法應(yīng)用于測(cè)井砂泥巖識(shí)別的可行性;最后通過(guò)5 種公開(kāi)分類(lèi)數(shù)據(jù)集設(shè)計(jì)對(duì)比實(shí)驗(yàn),驗(yàn)證FL-XGBoost算法在識(shí)別分類(lèi)領(lǐng)域上的強(qiáng)泛化能力。研究成果可以為FL-XGBoost 算法對(duì)砂泥巖識(shí)別的可行性提供理論依據(jù),為傳統(tǒng)的測(cè)井巖性識(shí)別提供新的思路。
GBDT 算法是一個(gè)樹(shù)結(jié)構(gòu)(可以是二叉樹(shù)或非二叉樹(shù))[27],由多棵決策樹(shù)組成,以所有決策樹(shù)的結(jié)論累加起來(lái)作為最終答案,具體原理為:每個(gè)非葉子節(jié)點(diǎn)表示一個(gè)特征屬性的測(cè)試,每個(gè)分支代表這個(gè)特征屬性在某個(gè)值域的輸出,而每個(gè)葉子節(jié)點(diǎn)存放一個(gè)類(lèi)別,迭代決策的過(guò)程是從根節(jié)點(diǎn)開(kāi)始,測(cè)試待分類(lèi)項(xiàng)中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達(dá)葉子節(jié)點(diǎn),將葉子節(jié)點(diǎn)存放的類(lèi)別作為決策結(jié)果[27]。GBDT 算法的思路是不斷地添加決策樹(shù),進(jìn)行特征分裂以生長(zhǎng)一棵決策樹(shù),且每次添加一個(gè)決策樹(shù),為學(xué)習(xí)一個(gè)新函數(shù),進(jìn)而擬合上次預(yù)測(cè)的殘差。當(dāng)訓(xùn)練完成得到k棵決策樹(shù),則要預(yù)測(cè)一個(gè)樣本的分?jǐn)?shù),其實(shí)就是根據(jù)這個(gè)樣本的特征,在每棵決策樹(shù)中落到對(duì)應(yīng)的一個(gè)葉子節(jié)點(diǎn),每個(gè)葉子節(jié)點(diǎn)即對(duì)應(yīng)一個(gè)分?jǐn)?shù),最后只需將每棵決策樹(shù)對(duì)應(yīng)的分?jǐn)?shù)相加即為該樣本的預(yù)測(cè)值。
XGBoost 算法是基于二階泰勒展開(kāi)式將損失函數(shù)展開(kāi),并且將正則項(xiàng)置于目標(biāo)函數(shù)之外,這降低了模型的復(fù)雜度,更易于獲得最優(yōu)解,通過(guò)控制目標(biāo)函數(shù)的不斷下降,使得模型能夠更好地收斂,有效避免過(guò)擬合,從而提高了預(yù)測(cè)準(zhǔn)確率。該算法在訓(xùn)練前對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將其結(jié)果保存,在后面的迭代中可以重復(fù)使用,從而降低計(jì)算復(fù)雜度,實(shí)現(xiàn)并行化,提高整體計(jì)算效率。
基于GBDT與XGBoost算法,將不平衡樣本分類(lèi)思想引入訓(xùn)練損失函數(shù),構(gòu)建基于FL-XGBoost算法的砂泥巖識(shí)別模型。結(jié)合砂泥巖識(shí)別存在的關(guān)鍵技術(shù)難點(diǎn),首先對(duì)測(cè)井參數(shù)進(jìn)行敏感性分析,以明確影響因素,通過(guò)多項(xiàng)預(yù)處理操作構(gòu)建完整的訓(xùn)練數(shù)據(jù)集并將其輸送至FL-XGBoost模型中進(jìn)行訓(xùn)練,迭代計(jì)算FL損失并判斷是否繼續(xù)收斂,期間進(jìn)行超參數(shù)調(diào)優(yōu),最終獲得訓(xùn)練完備的砂泥巖識(shí)別模型?;贔L-XGBoost算法的砂泥巖識(shí)別流程如圖1所示。
圖1 基于FL-XGBoost算法的砂泥巖識(shí)別流程Fig.1 Flow chart of sandstone and mudstone identification based on FL-XGBoost algorithm
Focal Loss 是LIN 等于2017 年專(zhuān)門(mén)為解決不平衡分類(lèi)問(wèn)題提出的損失函數(shù)[28]。其從2個(gè)方面解決數(shù)據(jù)類(lèi)別不平衡的問(wèn)題:①損失函數(shù)更加傾向于關(guān)注少數(shù)類(lèi)樣本。②避免易分類(lèi)樣本主導(dǎo)模型訓(xùn)練過(guò)程而導(dǎo)致的性能降低。相對(duì)于龐大的地震數(shù)據(jù)體,測(cè)井與錄井標(biāo)簽數(shù)據(jù)存在稀疏性,基于機(jī)器學(xué)習(xí)算法的砂泥巖識(shí)別可視為非平衡樣本訓(xùn)練問(wèn)題。
FL-XGBoost算法的思路與集成學(xué)習(xí)中的GBDT算法的類(lèi)似。FL-XGBoost 算法訓(xùn)練時(shí)每一次迭代會(huì)增加一棵決策樹(shù)來(lái)擬合上一次迭代過(guò)程中的真實(shí)值與預(yù)測(cè)值之間的FL 殘差,進(jìn)而逐漸逼近真實(shí)值,其訓(xùn)練過(guò)程中的目標(biāo)函數(shù)為:
在(2)式中,通過(guò)引入系數(shù)α來(lái)調(diào)整測(cè)井標(biāo)簽中不同參數(shù)在損失函數(shù)中的權(quán)重,引入聚焦稀疏系數(shù)β來(lái)調(diào)整易分類(lèi)樣本和難分類(lèi)樣本的損失權(quán)重。
將Ω(fi)展開(kāi)得到:
新生成的決策樹(shù)需擬合上一迭代預(yù)測(cè)的殘差,即第t次迭代目標(biāo)函數(shù),其砂泥巖識(shí)別結(jié)果可以表示為:
將損失函數(shù)使用泰勒二階展開(kāi),引入正則項(xiàng)并去除常數(shù)項(xiàng)后得到:
將(5)式中表示的所有訓(xùn)練樣本按照葉子節(jié)點(diǎn)進(jìn)行分組得到:
FL-XGBoost 算法中經(jīng)過(guò)k次迭代后,形成的決策樹(shù)模型對(duì)第c個(gè)樣本的輸出結(jié)果為:
牛莊洼陷為濟(jì)陽(yáng)坳陷東營(yíng)凹陷中南部的次級(jí)洼陷,為渤海灣盆地油氣最豐富的地區(qū)之一。其南北兩側(cè)均受斷層控制,構(gòu)造活動(dòng)較為頻繁,沉積巖性主要為深灰色的厚層泥巖、灰質(zhì)砂巖和泥質(zhì)粉砂巖等。牛莊洼陷發(fā)育多種類(lèi)型的油氣藏,對(duì)其地層巖性的準(zhǔn)確識(shí)別可為后期的油氣預(yù)測(cè)奠定基礎(chǔ)。
本次研究數(shù)據(jù)來(lái)源于牛莊洼陷220口井的測(cè)井及錄井?dāng)?shù)據(jù),其中200 口井的測(cè)井曲線為las 文件格式,20 口井的測(cè)井曲線為文本文檔,采樣間隔均為0.125 m。目標(biāo)任務(wù)為完成純泥巖、砂巖、其他泥巖(除純泥巖之外的泥巖)、其他巖層(除純泥巖、砂巖、其他泥巖三者之外的巖層)4 類(lèi)巖性的識(shí)別。利用實(shí)際采集到的測(cè)井和錄井?dāng)?shù)據(jù),檢查標(biāo)簽數(shù)據(jù),建立樣本庫(kù),并對(duì)樣本數(shù)據(jù)進(jìn)行預(yù)處理,包括:①異常值處理。根據(jù)業(yè)務(wù)專(zhuān)家制定的不同特征的合理取值范圍,對(duì)數(shù)據(jù)中的特征值設(shè)置閾值并進(jìn)行過(guò)濾,對(duì)超過(guò)閾值的不合理值依據(jù)臨近數(shù)據(jù)或單井平均數(shù)據(jù)進(jìn)行修正。②缺失值處理。對(duì)于測(cè)井曲線中的缺失數(shù)據(jù),利用貝葉斯估計(jì)插補(bǔ)缺失值。③重采樣。將測(cè)井?dāng)?shù)據(jù)采樣間隔為0.1 m 的井應(yīng)用插值進(jìn)行重采樣,采樣間隔為0.125 m;對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行上采樣,以保證標(biāo)簽類(lèi)別均衡。④數(shù)據(jù)歸一化。在機(jī)器學(xué)習(xí)領(lǐng)域中,不同特征向量往往具有不同的量綱和單位,這樣會(huì)影響數(shù)據(jù)分析的結(jié)果。為了消除特征向量的量綱影響,需進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理,以解決數(shù)據(jù)指標(biāo)之間的可比性。而原始數(shù)據(jù)經(jīng)過(guò)數(shù)據(jù)歸一化處理后,各指標(biāo)處于同一數(shù)量級(jí),適合進(jìn)行綜合對(duì)比評(píng)價(jià)(圖2)。
圖2 數(shù)據(jù)重采樣和歸一化示例Fig.2 Diagram of data resampling and normalization
最終將整個(gè)數(shù)據(jù)劃分為訓(xùn)練集、測(cè)試集和驗(yàn)證集。訓(xùn)練集和測(cè)試集數(shù)據(jù)是利用巖屑錄井資料確定,為避免巖屑錄井資料的錯(cuò)誤,在巖屑錄井圖上,顯示4條巖性曲線,即自然電位曲線(SP)、自然伽馬曲線(GR)、井徑曲線(CAL)和聲波時(shí)差曲線(AC)。業(yè)務(wù)專(zhuān)家現(xiàn)場(chǎng)對(duì)巖性分類(lèi)進(jìn)行審定,去除不可靠的巖性分類(lèi),最終完成純泥巖、砂巖、其他泥巖、其他巖層4 類(lèi)樣本的標(biāo)定工作,按點(diǎn)構(gòu)建1 048 575 條樣本數(shù)據(jù)。4 個(gè)點(diǎn)構(gòu)建1 個(gè)深度段,按深度段構(gòu)建28 619條樣本數(shù)據(jù)(表1)。
表1 樣本數(shù)據(jù)的樣式Table 1 Sample data style
針對(duì)測(cè)井曲線數(shù)據(jù)進(jìn)行多維度表征,測(cè)井曲線按點(diǎn)構(gòu)建以及按0.5 m 每段提取特征參數(shù)。牛莊洼陷主要為砂泥巖沉積,且該區(qū)測(cè)井資料大多是2010年以前測(cè)得,9條基礎(chǔ)測(cè)井曲線齊全,其他測(cè)井曲線較少,其中與巖性相關(guān)的測(cè)井曲線有GR,SP,AC和CAL曲線,而CAL曲線受鉆井和裂縫的影響較大,因此選取AC,GR和SP這3條測(cè)井曲線作為巖性識(shí)別的基礎(chǔ)數(shù)據(jù)。錄井資料的采樣間隔為0.5 m,測(cè)井資料的采樣間隔為0.125 m,為了匹配錄井?dāng)?shù)據(jù),將測(cè)井資料按照0.5 m 進(jìn)行特征參數(shù)提取,特征參數(shù)有最大值、最小值、平均值、標(biāo)準(zhǔn)差、中位數(shù)、累加值、數(shù)值排序的百分比;經(jīng)過(guò)特征參數(shù)與巖性參數(shù)交匯分析,優(yōu)選最大值、最小值、中位數(shù)、平均值作為測(cè)井曲線特征,分別提取每條測(cè)井曲線同一時(shí)窗內(nèi)的最大值、最小值、中位數(shù)和平均值作為曲線的特征。
將處理后的特征數(shù)據(jù)與錄井?dāng)?shù)據(jù)按深度進(jìn)行匹配構(gòu)建樣本數(shù)據(jù),并將樣本數(shù)據(jù)劃分為訓(xùn)練集和驗(yàn)證集,其中訓(xùn)練集樣本占樣本總數(shù)的80%,驗(yàn)證集樣本占樣本總數(shù)的20%。標(biāo)簽共包含4 類(lèi),分別為純泥巖、砂巖、其他泥巖和其他巖層。
分別使用FL-XGBoost 和XGBoost、隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)算法學(xué)習(xí)勝利油田牛莊洼陷的砂泥巖樣本數(shù)據(jù),并進(jìn)行超參數(shù)設(shè)置、模型性能以及應(yīng)用效果的對(duì)比分析。
3.4.1 FL-XGBoost算法
為契合砂泥巖識(shí)別,改進(jìn)目標(biāo)函數(shù)的計(jì)算方式,進(jìn)一步提高模型的精確度,并將目標(biāo)函數(shù)的優(yōu)化問(wèn)題轉(zhuǎn)化為求二次函數(shù)的最小值問(wèn)題,利用損失函數(shù)的二階導(dǎo)數(shù)信息訓(xùn)練決策樹(shù)模型,同時(shí)將樹(shù)復(fù)雜度作為正則化項(xiàng)加入到目標(biāo)函數(shù)中,以提升模型的泛化能力。XGBoost 模型中有多個(gè)超參數(shù),選出對(duì)模型影響較大的超參數(shù)作為網(wǎng)格搜索法遍歷尋優(yōu)的參數(shù),其余超參數(shù)為默認(rèn)值。在本次應(yīng)用實(shí)例中,分別對(duì)以FL-XGBoost 算法和XGBoost 算法為基礎(chǔ)設(shè)計(jì)的30棵決策樹(shù)構(gòu)建對(duì)比實(shí)驗(yàn),即初始迭代30次。初始學(xué)習(xí)率采用0.01,控制每次迭代更新權(quán)重時(shí)的步長(zhǎng),設(shè)置每棵決策樹(shù)的初始深度為3,最大值為20,并且設(shè)置早停輪數(shù),防止模型過(guò)擬合。
由表2 可知模型學(xué)習(xí)率、決策樹(shù)的最大深度和迭代產(chǎn)生決策樹(shù)超參數(shù)的數(shù)量分別為10,10和5,將以上參數(shù)進(jìn)行組合得到500條超參數(shù)組合。運(yùn)用網(wǎng)格搜索法,遍歷網(wǎng)格中的500條超參數(shù)組合,尋找最優(yōu)超參數(shù)組合。隨機(jī)取80%的訓(xùn)練集數(shù)據(jù)分批輸入到XGBoost 模型中,用剩余20%的數(shù)據(jù)集對(duì)模型的精度進(jìn)行評(píng)估。根據(jù)評(píng)估結(jié)果的精確度調(diào)整模型所用樣本和超參數(shù)。利用訓(xùn)練好的XGBoost 模型,按照0.5 m 為一段對(duì)新井的測(cè)井?dāng)?shù)據(jù)進(jìn)行預(yù)測(cè),并輸出預(yù)測(cè)結(jié)果,將預(yù)測(cè)結(jié)果與標(biāo)簽值進(jìn)行比較,只統(tǒng)計(jì)純泥巖和砂巖預(yù)測(cè)正確的數(shù)量,其他泥巖和其他巖性不參與統(tǒng)計(jì)。其中,預(yù)測(cè)準(zhǔn)確率=(純泥巖預(yù)測(cè)為泥巖+砂巖預(yù)測(cè)為砂巖)/(泥巖樣本總數(shù)+砂巖樣本總數(shù))。
表2 FL-XGBoost算法參數(shù)設(shè)置Table 2 Parameter settings of FL-XGBoost algorithm
表3 顯示在1 000 條超參數(shù)組合中具有代表性的組合與預(yù)測(cè)準(zhǔn)確率,當(dāng)決策樹(shù)的最大深度為20、最優(yōu)迭代次數(shù)為487 次,F(xiàn)L-XGBoost 模型的預(yù)測(cè)準(zhǔn)確率達(dá)到最高值,為0.827,其在測(cè)試集下的推理速度為0.192 0 s,在迭代超過(guò)487 次以后,預(yù)測(cè)準(zhǔn)確率出現(xiàn)持續(xù)的下降,推測(cè)模型出現(xiàn)過(guò)擬合現(xiàn)象。由此得到,當(dāng)FL-XGBoost模型在更加側(cè)重于測(cè)井資料方面訓(xùn)練,而非無(wú)關(guān)(負(fù))樣本訓(xùn)練時(shí),模型的預(yù)測(cè)精度將會(huì)得到顯著提高。
表3 XGBoost模型與FL-XGBoost模型迭代及識(shí)別結(jié)果Table 3 Iteration and identification results of XGBoost and FL-XGBoost models
3.4.2 隨機(jī)森林算法
隨機(jī)森林算法通過(guò)集成學(xué)習(xí)的方法集成多棵決策樹(shù),每一棵都是一個(gè)分類(lèi)器,對(duì)于每一個(gè)輸入樣本,每棵決策樹(shù)與分類(lèi)結(jié)果是一一對(duì)應(yīng)的,通過(guò)集成分類(lèi)投票結(jié)果,將投票次數(shù)最多的類(lèi)別指定為最終的輸出。筆者將測(cè)井?dāng)?shù)據(jù)集作為輸入,在基尼指數(shù)與交叉熵2 種標(biāo)準(zhǔn)下,對(duì)隨機(jī)森林算法進(jìn)行訓(xùn)練,并展示了迭代產(chǎn)生數(shù)、評(píng)判標(biāo)準(zhǔn)、決策樹(shù)的最大深度等超參數(shù)對(duì)砂泥巖識(shí)別結(jié)果的影響(圖3)。
由圖3可知,隨著迭代次數(shù)的增加,隨機(jī)森林算法對(duì)砂泥巖的識(shí)別精度也在提高,但對(duì)于諸如測(cè)井?dāng)?shù)據(jù)的小樣本數(shù)據(jù),識(shí)別效果并不是最優(yōu)的。在多參數(shù)設(shè)置最優(yōu)的情況下,測(cè)試集的識(shí)別精度僅為74.13%,其在測(cè)試集下的推理速度為0.214 6 s。
圖3 隨機(jī)森林算法結(jié)果分析Fig.3 Result analysis of random forest algorithm
3.4.3 深度神經(jīng)網(wǎng)絡(luò)算法
深度神經(jīng)網(wǎng)絡(luò)算法是機(jī)器學(xué)習(xí)的分支,是一種試圖使用包含復(fù)雜結(jié)構(gòu)或由多重非線性變換構(gòu)成的多個(gè)處理層對(duì)數(shù)據(jù)進(jìn)行高層抽象的算法。筆者將測(cè)井?dāng)?shù)據(jù)集作為輸入,設(shè)計(jì)對(duì)應(yīng)的深度神經(jīng)網(wǎng)絡(luò)模型,通過(guò)控制不同的隱含層數(shù)目與迭代次數(shù)進(jìn)行訓(xùn)練,最終得到不同的砂泥巖識(shí)別結(jié)果(表4),在多參數(shù)設(shè)置最優(yōu)的情況下,測(cè)試集的識(shí)別精度僅為0.745,其在測(cè)試集下的推理速度為1.453 1 s。
表4 深度神經(jīng)網(wǎng)絡(luò)模型及識(shí)別結(jié)果Table 4 Deep neural network model and identification results
深度神經(jīng)網(wǎng)絡(luò)算法雖然具有強(qiáng)大的非線性擬合能力,但這是建立在充足訓(xùn)練數(shù)據(jù)量基礎(chǔ)之上的。面對(duì)較為稀少的測(cè)井?dāng)?shù)據(jù)量,該模型在推理過(guò)程中無(wú)法提取足夠的測(cè)井特征,導(dǎo)致模型無(wú)法獲得較高的準(zhǔn)確率。
綜合來(lái)看,采用FL-XGBoost算法的砂泥巖識(shí)別結(jié)果與采用隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)算法所得到的識(shí)別結(jié)果進(jìn)行比較(圖4),結(jié)果表明在使用交叉驗(yàn)證測(cè)試模型精度及相同訓(xùn)練數(shù)據(jù)下,使用FL-XGBoost 模型的訓(xùn)練速度最快,識(shí)別準(zhǔn)確率有明顯提升,同時(shí)計(jì)算復(fù)雜度更低,為砂泥巖的測(cè)井識(shí)別提供了新的思路。
圖4 不同算法的識(shí)別結(jié)果對(duì)比Fig.4 Comparison of identification effects of different algorithms
在通用的分類(lèi)識(shí)別問(wèn)題中,業(yè)內(nèi)常采用準(zhǔn)確率、F1 值、AUC等作為評(píng)估指標(biāo),其計(jì)算所需的混淆矩陣如表5所示。
表5 混淆矩陣Table 5 Confusion matrix
利用混淆矩陣可計(jì)算相應(yīng)的準(zhǔn)確率、召回率、F1值和AUC等評(píng)估指標(biāo),其計(jì)算式如下:
KEEL 是一種集成海量標(biāo)準(zhǔn)分類(lèi)數(shù)據(jù)集的綜合庫(kù),為驗(yàn)證FL-XBoost 算法的有效性以及不同智能算法之間的性能差異,采用KEEL中的mushroom(蘑菇是否有毒的分類(lèi)數(shù)據(jù)集)、magic(魔法射線望遠(yuǎn)鏡數(shù)據(jù)集)、spambase(電子郵件分類(lèi)數(shù)據(jù)集)、titanic(泰坦尼克輪船乘客的幸存分類(lèi)數(shù)據(jù)集)、phoneme(聲音分類(lèi)數(shù)據(jù)集)等5 種公共數(shù)據(jù)集,其分別為特征數(shù)不同、樣本量不同的代表性數(shù)據(jù)集。利用訓(xùn)練完備的隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)、XGBoost 和FLXGBoost算法分別對(duì)這5個(gè)數(shù)據(jù)集進(jìn)行預(yù)測(cè),并以準(zhǔn)確率、F1 值和AUC作為評(píng)價(jià)指標(biāo),其數(shù)據(jù)集信息與預(yù)測(cè)結(jié)果如表6所示。
由表6 可知,F(xiàn)L-XGBoost 算法在5 種公開(kāi)數(shù)據(jù)集中的預(yù)測(cè)結(jié)果均優(yōu)于隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)和XGBoost算法,由于XGBoost算法中的正則化項(xiàng)可在一定程度上解決稀疏測(cè)井?dāng)?shù)據(jù)過(guò)擬合問(wèn)題,不僅使用一階導(dǎo)數(shù),還推理二階導(dǎo)數(shù),使得損失函數(shù)更加精確。在此基礎(chǔ)之上,F(xiàn)L-XGBoost 算法的損失函數(shù)相比于均方根誤差、交叉熵等損失,F(xiàn)ocal Loss 更加適用于難訓(xùn)練的樣本,如測(cè)井曲線、錄井?dāng)?shù)據(jù)等。因此,F(xiàn)L-XGBoost 算法的預(yù)測(cè)準(zhǔn)確率相對(duì)于隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)、XGBoost 算法具有明顯提升,具備更好的泛化能力。
表6 5種公共數(shù)據(jù)集及預(yù)測(cè)結(jié)果Table 6 Five public datasets and prediction results
以測(cè)井、錄井資料為基礎(chǔ),結(jié)合砂泥巖識(shí)別任務(wù)存在的關(guān)鍵技術(shù)難點(diǎn),對(duì)測(cè)井參數(shù)進(jìn)行敏感性分析,以選取適當(dāng)?shù)挠绊懸蛩亍Mㄟ^(guò)多項(xiàng)預(yù)處理操作構(gòu)建完整的訓(xùn)練數(shù)據(jù)集,根據(jù)測(cè)井標(biāo)簽稀疏性的特點(diǎn),將Focal Loss 函數(shù)引入XGBoost 算法,并對(duì)勝利油田牛莊洼陷構(gòu)建砂泥巖識(shí)別模型,相比于隨機(jī)森林和深度神經(jīng)網(wǎng)絡(luò)算法,F(xiàn)L-XGBoost 算法可以解決常規(guī)測(cè)井砂泥巖識(shí)別過(guò)擬合和準(zhǔn)確率較低的問(wèn)題。
FL-XGBoost 算法應(yīng)用于砂泥巖識(shí)別任務(wù)的準(zhǔn)確率達(dá)到0.827,構(gòu)建智能化工作流程,同時(shí)形成測(cè)井巖性識(shí)別樣本庫(kù),具有一定的泛化能力,可以在砂巖油藏中推廣應(yīng)用。FL-XGBoost 算法在KEEL中5 種公開(kāi)數(shù)據(jù)集的預(yù)測(cè)效果均優(yōu)于隨機(jī)森林、深度神經(jīng)網(wǎng)絡(luò)和XGBoost 算法,證明該算法的有效性與泛化性。
符號(hào)解釋
AUC——數(shù)據(jù)集中任取一個(gè)正樣本和負(fù)樣本,預(yù)測(cè)正例排在負(fù)例前面的概率,%;
c——地震道的道數(shù),個(gè);
f——F中的某棵決策樹(shù),棵;
fi——F中的第i棵決策樹(shù),棵;
fk——F中的第k棵決策樹(shù),棵;
ft——F中的第t棵決策樹(shù),棵;
F——特征空間;
F1——準(zhǔn)確率與召回率的調(diào)和平均值,%;
FN——錯(cuò)誤的負(fù)例,即錯(cuò)誤的將樣本中的正例識(shí)別為負(fù)例,%;
FP——錯(cuò)誤的正例,即錯(cuò)誤的將樣本中的負(fù)例識(shí)別為正例,%;
gi——損失函數(shù)的一階導(dǎo)數(shù);
hi——損失函數(shù)的二階導(dǎo)數(shù);
i——當(dāng)前決策樹(shù)的棵樹(shù),棵;
j——當(dāng)前的葉子節(jié)點(diǎn),個(gè);
k——當(dāng)前的迭代次數(shù),次;
K——總的迭代次數(shù),次;
l——損失函數(shù);
LFL——Focal Loss誤差項(xiàng),%,
n——FL-XGBoost算法的決策樹(shù)數(shù)量,棵;
N——負(fù)樣本,%;
NN——負(fù)樣本(多數(shù)類(lèi))總數(shù),%;
NP——正樣本(少數(shù)類(lèi))總數(shù),%;
obj——目標(biāo)函數(shù);
P——正樣本,%;
Pre——準(zhǔn)確率,%;
Pc——正樣本的類(lèi)別,無(wú)單位;
q——表示樣本xc被預(yù)測(cè)后落入在對(duì)應(yīng)節(jié)點(diǎn)上的概率,%;
ranki——正樣本的置信度排序,%;
R——每個(gè)節(jié)點(diǎn)的分值集合;
Rd——每個(gè)節(jié)點(diǎn)的集合;
Rec——召回率,%;
t——當(dāng)前迭代次數(shù),次;
T——葉子節(jié)點(diǎn)的總個(gè)數(shù),個(gè);
TN——被預(yù)測(cè)為負(fù)類(lèi)的負(fù)樣本,%;
TP——被預(yù)測(cè)為正類(lèi)的正樣本,%;
w——葉子節(jié)點(diǎn)的分值,%;
wj——第j個(gè)葉子節(jié)點(diǎn)的分值,%;
wq——第q個(gè)葉子節(jié)點(diǎn)的分值,%;
xc——多地震道訓(xùn)練數(shù)據(jù),個(gè);
yc——與xc對(duì)應(yīng)的測(cè)井和錄井曲線標(biāo)簽數(shù)據(jù);%;
——訓(xùn)練數(shù)據(jù)xc經(jīng)所有預(yù)測(cè)后得到的估計(jì)值,%;
α——系數(shù),%;
β——聚焦稀疏系數(shù),%;
γ——可以控制葉子節(jié)點(diǎn)的個(gè)數(shù),個(gè);
λ——分?jǐn)?shù)控制系數(shù),可以控制葉子節(jié)點(diǎn)的分?jǐn)?shù)不會(huì)過(guò)大,防止過(guò)擬合,%;
Ω(fi)——決策樹(shù)的正則化項(xiàng)。