曹茂俊,鞏維嘉,高志勇
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163318)
巖性識(shí)別是通過(guò)一些特定的方法來(lái)認(rèn)識(shí)和區(qū)分巖性的過(guò)程。在地質(zhì)學(xué)中,地下巖性分類是一項(xiàng)非常有意義的任務(wù),精確地識(shí)別巖石的物理特征為地層評(píng)價(jià)、地質(zhì)分析提供研究基礎(chǔ)[1]。傳統(tǒng)的巖性識(shí)別方法分為直接和間接兩種。直接法是指通過(guò)觀測(cè)地下巖心來(lái)確定巖性,此方法需要較強(qiáng)的專業(yè)知識(shí)并且不夠準(zhǔn)確。間接方法是指通過(guò)測(cè)井資料建立解釋模型來(lái)進(jìn)行巖性識(shí)別。目前,傳統(tǒng)的巖性識(shí)別模型已經(jīng)遇到了瓶頸,存在識(shí)別準(zhǔn)確率低,速度慢,并且難以解釋測(cè)井資料和巖性之間的復(fù)雜關(guān)系等問(wèn)題,因此利用測(cè)井資料建立準(zhǔn)確率較高的巖性識(shí)別模型成為當(dāng)今的一個(gè)重點(diǎn)問(wèn)題。
近年來(lái),機(jī)器學(xué)習(xí)已經(jīng)被引入到巖性識(shí)別問(wèn)題當(dāng)中,實(shí)現(xiàn)了巖性的自動(dòng)化識(shí)別。張瑩等人[2]使用Byers準(zhǔn)則建立了巖性識(shí)別分類模型。Shaoqun Dong等人[3]提供了KFD(核Fisher判別分析)進(jìn)行巖性識(shí)別分類。Pan H等人[4]探索了K近鄰分類器識(shí)別巖性的性能。
不同巖性具有不同的物理性質(zhì),單一的機(jī)器學(xué)習(xí)算法無(wú)法全面地識(shí)別每種巖性,不能對(duì)測(cè)井資料進(jìn)行很好地解釋,而集成學(xué)習(xí)可以結(jié)合各種算法,很好地解決這一弊端。Yunxin Xie[5]、T.S. Bressan[6]和Jian Sun[7]等人,將SVM、MLP和隨機(jī)森林算法分別用于巖性識(shí)別和地層評(píng)價(jià)。Vikrant A. Dev[8]在Yunxin xie等人的基礎(chǔ)上,使用LogitBoost算法來(lái)區(qū)分地層巖性。閆星宇等人[9]使用XGBoost算法進(jìn)行致密砂巖氣儲(chǔ)層預(yù)測(cè)。Kaibo Zhou等人[10]將GBDT算法和SMOTE算法結(jié)合,應(yīng)用于巖性識(shí)別?;赟tacking的集成算法能有效集成各個(gè)基模型的優(yōu)點(diǎn),更好地提高模型效果,段友祥[11]、鄒琪[12]等人使用該方法構(gòu)建巖性識(shí)別模型。
集成學(xué)習(xí)分為同質(zhì)集成和異質(zhì)集成,同質(zhì)集成學(xué)習(xí)通過(guò)組合同一個(gè)分類器來(lái)構(gòu)造一個(gè)最終模型,因此,在擴(kuò)大單一分類器優(yōu)點(diǎn)的同時(shí),缺點(diǎn)也會(huì)增加,這對(duì)結(jié)果是不可取的。然而,異質(zhì)集成學(xué)習(xí)能抓住不同巖性識(shí)別模型的優(yōu)點(diǎn),具有更強(qiáng)的魯棒性和泛化性。它是通過(guò)疊加的方式對(duì)學(xué)習(xí)器進(jìn)行無(wú)限疊加,它和同質(zhì)集成學(xué)習(xí)除了基模型使用不同的模型之外,組合策略也不同,不是簡(jiǎn)單地采用了平均法和投票法,而是使用了元模型方法進(jìn)行組合。但是傳統(tǒng)的Stacking異質(zhì)集成存在一定的缺點(diǎn)和不足,即沒(méi)有考慮每個(gè)基模型的實(shí)際預(yù)測(cè)結(jié)果,不同的基模型它們的可信度不同,如果不加以區(qū)分,則會(huì)影響最終元模型的訓(xùn)練效果,從而影響整體準(zhǔn)確率。
因此,該文將PCA算法融入到模型中,訓(xùn)練模型的同時(shí),計(jì)算并賦予每個(gè)基模型相應(yīng)的權(quán)重,以此來(lái)提高元模型訓(xùn)練數(shù)據(jù)的質(zhì)量,最終提高模型整體表現(xiàn)。該方法融合了CART決策樹(shù)、KNN、多層感知機(jī)、SVM和邏輯回歸(LR)五種機(jī)器學(xué)習(xí)方法,利用中國(guó)延安氣田某井?dāng)?shù)據(jù)進(jìn)行巖性識(shí)別,結(jié)果表明該模型和其他機(jī)器學(xué)習(xí)模型相比效果顯著提升。
CART決策樹(shù)是由Breinman等人提出的一種有監(jiān)督分類算法,它是在給定輸入X的條件下,輸出隨機(jī)變量Y的條件概率分布的學(xué)習(xí)方法,比較適用于離散型變量和連續(xù)型變量。對(duì)于離散型變量,CART算法生成分類樹(shù)。對(duì)于連續(xù)型變量,CART算法生成回歸樹(shù)[13]。該文是通過(guò)測(cè)井曲線數(shù)據(jù)對(duì)巖性進(jìn)行分類,因此采用CART分類樹(shù)算法。CART決策樹(shù)的核心思想是根據(jù)學(xué)習(xí)區(qū)域變量和目標(biāo)變量,對(duì)原始數(shù)據(jù)集以二叉樹(shù)的結(jié)構(gòu)形式進(jìn)行循環(huán)分析,構(gòu)建模型時(shí)選用Gini系數(shù)作為分類屬性,Gini系數(shù)越小,樣本純度越大,分類效果越好。概率分布的Gini系數(shù)定義如下:
(1)
其中,K表示類別數(shù)量,pk表示樣本點(diǎn)屬于第K類的概率。
K近鄰算法也稱KNN算法,屬于有監(jiān)督學(xué)習(xí)分類算法。它的基本思想是,給定一個(gè)訓(xùn)練數(shù)據(jù)集,對(duì)新的輸入實(shí)例,在訓(xùn)練數(shù)據(jù)集中找到與該實(shí)例最近鄰的M個(gè)實(shí)例,這M個(gè)實(shí)例的多數(shù)屬于某類,就把該輸入實(shí)例分類到這個(gè)類下。由此可知,KNN算法在分類決策的過(guò)程中有兩個(gè)任務(wù):根據(jù)K值尋找目標(biāo)點(diǎn)附近的其他數(shù)據(jù)點(diǎn),用這些數(shù)據(jù)點(diǎn)進(jìn)行投票表決。算法步驟如下:
訓(xùn)練數(shù)據(jù)集T={(X1,Y1),(X2,Y2),…,(XN,YN)},其中Xi為實(shí)例的特征向量,Yi={C1,C2,…,Ck}為實(shí)例類別。
(1)計(jì)算目標(biāo)點(diǎn)X與訓(xùn)練集T中其他樣本點(diǎn)的歐氏距離。
(2)選取與實(shí)例X最近的k個(gè)點(diǎn),這k個(gè)點(diǎn)的鄰域?yàn)镹k(X)。
(3)根據(jù)少數(shù)服從多數(shù)投票,讓未知實(shí)例歸類為k個(gè)最近鄰樣本中最多數(shù)的類別。
從上述流程看,KNN算法只有一個(gè)超參數(shù)K,不同的K值會(huì)使算法產(chǎn)生不同的預(yù)測(cè)結(jié)果,如果選取的K值過(guò)小,模型容易產(chǎn)生過(guò)擬合。如果選取的K值過(guò)大,會(huì)使得模型的預(yù)測(cè)誤差減小,模型會(huì)變得簡(jiǎn)單。因此K值的確定對(duì)模型的分類性能有著十分重要的影響。
邏輯回歸(LR)是一種經(jīng)典的二分類機(jī)器學(xué)習(xí)算法,也可以解決多分類問(wèn)題,它可以用來(lái)估量某個(gè)事件發(fā)生的概率。邏輯回歸模型的學(xué)習(xí)包括構(gòu)造代價(jià)函數(shù)和模型訓(xùn)練,構(gòu)造代價(jià)函數(shù)使用了統(tǒng)計(jì)學(xué)中的極大似然估計(jì),而模型訓(xùn)練的實(shí)質(zhì)就是尋找一組參數(shù),使得代價(jià)函數(shù)最小化的過(guò)程。邏輯回歸算法的主要步驟如下(其中θ指的是回歸參數(shù)):
(1)尋找預(yù)測(cè)函數(shù)h(x),邏輯回歸構(gòu)造的預(yù)測(cè)函數(shù)如下:
(2)
(2)構(gòu)造損失函數(shù)J,其中m代表樣本個(gè)數(shù):
(3)
(3)通過(guò)梯度下降法使得損失函數(shù)最小,并求得回歸參數(shù)。
訓(xùn)練結(jié)束得到模型后,將測(cè)試數(shù)據(jù)輸入模型,若預(yù)測(cè)值大于0.5,則將該測(cè)試數(shù)據(jù)分為正例,否則將該測(cè)試數(shù)據(jù)分為負(fù)例。
多層感知機(jī)(MLP),也叫人工神經(jīng)網(wǎng)絡(luò),是由一系列層、神經(jīng)元和連接組成的,主要由輸入、輸出、隱藏層三部分組成,是一種高度并行的信息處理系統(tǒng),能處理復(fù)雜的多輸入、多輸出的非線性問(wèn)題,對(duì)于分類問(wèn)題有很好的處理能力。
除了輸入輸出層之外,中間的隱藏層可以有多層,各個(gè)層之間是全連接的,即上層的全部神經(jīng)元和下層的全部神經(jīng)元都有連接,其計(jì)算過(guò)程如下:
(1)輸入層獲得n維向量,即n個(gè)神經(jīng)元。
(2)隱藏層的神經(jīng)元是由輸入層的輸出得來(lái)的,假設(shè)輸入層用向量X表示,則隱藏層的輸出表示為f(Wx+b)。
(3)隱藏層通過(guò)多類別的邏輯回歸得到輸出層,三層多層感知機(jī)的公式如下,其中G是SoftMax函數(shù):
f(x)=G(b(2)+W(2)(s(b(1)+W(1)x)))
(4)
多分類問(wèn)題可以通過(guò)多個(gè)SVM的組合來(lái)解決,一對(duì)多SVM分類算法在對(duì)多個(gè)不同樣本分類時(shí),速度較快,它是訓(xùn)練時(shí)依次把某個(gè)樣本歸為一類,剩余的歸為一類,構(gòu)造多個(gè)SVM模型[14]。其算法思想如下:
(1)x表示樣本,y表示類別,θ表示支持向量,假設(shè)存在一個(gè)超平面可以將樣本正確分類則:
(5)
(2)兩種不同類別支持向量到?jīng)Q策邊界距離之和為:
(6)
(3)將最大化間距問(wèn)題轉(zhuǎn)換成最小化問(wèn)題,公式如下:
(7)
針對(duì)測(cè)井曲線數(shù)據(jù)的特征,該文選取了CART決策樹(shù)、KNN、MLP、SVM四種基模型來(lái)進(jìn)行構(gòu)建?;P偷牟町愋允翘岣吣P驼w表現(xiàn)的重要因素之一。因此,為了提高Stacking集成模型的識(shí)別效果,該文選取了四種結(jié)構(gòu)差異較大的機(jī)器學(xué)習(xí)模型作為基模型。
其中,CART決策樹(shù)算法完全不受數(shù)據(jù)縮放的影響,每個(gè)測(cè)井曲線特征能夠被單獨(dú)處理,它更容易考慮到每個(gè)測(cè)井曲線的特征和每個(gè)測(cè)井曲線對(duì)巖性識(shí)別的貢獻(xiàn)。但是,該算法非常容易過(guò)擬合,而且泛化性能較差。KNN算法可以用于非線性分類,并且該方法主要靠周圍有限的鄰近樣本進(jìn)行分類,從測(cè)井曲線和巖性類別關(guān)系的角度來(lái)看,該方法有助于巖性劃分。但是,當(dāng)樣本類別不均衡時(shí),該方法對(duì)稀有類別預(yù)測(cè)準(zhǔn)確率低。MLP能夠借助非線性激活函數(shù),學(xué)到高階的特征組合,該算法有助于結(jié)合不同測(cè)井曲線特征,更好地分析測(cè)井資料和巖性的關(guān)系。但是該算法收斂速度慢,對(duì)數(shù)據(jù)質(zhì)量要求較高。SVM算法針對(duì)高維特征分類具有很好的效果,針對(duì)多種測(cè)井曲線,該算法對(duì)曲線有較好的解釋性。但是對(duì)大規(guī)模樣本訓(xùn)練卻難以支持,并且在多分類問(wèn)題上,它的準(zhǔn)確率不是很好。
傳統(tǒng)的Stacking集成學(xué)習(xí)模型沒(méi)有考慮到每個(gè)基模型在實(shí)際數(shù)據(jù)上的預(yù)測(cè)結(jié)果,每個(gè)基模型對(duì)樣本數(shù)據(jù)的預(yù)測(cè)結(jié)果都是要作為元模型的訓(xùn)練數(shù)據(jù),如果直接使用基模型預(yù)測(cè)的結(jié)果作為訓(xùn)練集,則會(huì)影響最終模型的分類效果,導(dǎo)致模型準(zhǔn)確率不高。這是因?yàn)榛P偷挠?xùn)練數(shù)據(jù)和算法是不同的,每個(gè)基模型為元模型提供的信息具有一定的差異性。因此,每個(gè)基模型都應(yīng)該被賦予一個(gè)權(quán)重。該文通過(guò)PCA算法計(jì)算出每個(gè)模型的權(quán)重,并且將權(quán)重融合到每個(gè)基模型的輸出特征中,作為元模型的訓(xùn)練數(shù)據(jù)。權(quán)重的計(jì)算步驟如下:
(1)利用PCA算法計(jì)算第一層基模型輸出數(shù)據(jù)的貢獻(xiàn)方差、方差貢獻(xiàn)率和成分矩陣。X、Y表示隨機(jī)變量,E表示期望方差,協(xié)方差計(jì)算公式如下:
Cov[X,Y]=E[(X-E(X))(Y-E(Y))]
(8)
(2)根據(jù)成分矩陣C和貢獻(xiàn)方差T求得成分得分系數(shù)矩陣K。計(jì)算公式如下:
(9)
(3)根據(jù)貢獻(xiàn)方差T和成分得分矩陣K,得出權(quán)重矩陣W。計(jì)算公式如下:
(10)
(4)對(duì)權(quán)重矩陣W進(jìn)行歸一化處理,求得最終的權(quán)重矩陣。
這種改進(jìn)方式考慮了基模型的訓(xùn)練情況,對(duì)于準(zhǔn)確率高的基分類器賦予較高的權(quán)重,從而為元模型提供更多的預(yù)測(cè)信息,對(duì)于準(zhǔn)確率低的基模型賦予較低的權(quán)重,以此來(lái)提高元分類器的訓(xùn)練效果。
通過(guò)集成以上選取的五種模型,構(gòu)建了一個(gè)兩層集成學(xué)習(xí)模型。第一層選用CART決策樹(shù)、KNN、MLP和SVM四種模型作為基模型,第二層選取邏輯回歸作為元模型。由于第一層選用了復(fù)雜的非線性變化模型提取特征,這樣容易產(chǎn)生過(guò)擬合風(fēng)險(xiǎn)。因此,第二層元模型選擇邏輯回歸廣義線性模型,在第一層模型中取長(zhǎng)補(bǔ)短,提升預(yù)測(cè)準(zhǔn)確率。整體模型架構(gòu)如圖1所示。
圖1 改進(jìn)的Stacking集成學(xué)習(xí)流程
針對(duì)相同的數(shù)據(jù),該集成模型集成了多種不同的基模型,并且通過(guò)PCA算法對(duì)基模型進(jìn)行權(quán)重分析,為每個(gè)基模型賦予權(quán)重,提高了元模型訓(xùn)練數(shù)據(jù)的可靠性,每個(gè)基模型都有自己的優(yōu)點(diǎn)和側(cè)重,因此具有很好的泛化能力和抗干擾能力。通過(guò)改進(jìn)的Stacking集成算法進(jìn)行模型融合,使得最終的集成模型具有很好的識(shí)別效果,準(zhǔn)確率較高。
3.1.1 數(shù)據(jù)標(biāo)準(zhǔn)化
首先對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化(standardization)處理,本次實(shí)驗(yàn)采用數(shù)據(jù)標(biāo)準(zhǔn)化(又叫Z-score標(biāo)準(zhǔn)化)。數(shù)據(jù)標(biāo)準(zhǔn)化是機(jī)器學(xué)習(xí)任務(wù)中的一項(xiàng)基本任務(wù),它是數(shù)據(jù)預(yù)處理必不可少的一步。數(shù)據(jù)預(yù)處理是從數(shù)據(jù)中檢測(cè)、糾正或者刪除不適用于模型的記錄的過(guò)程。由于各種不同類型的測(cè)井?dāng)?shù)據(jù)量綱不同,數(shù)值間差異較大,因此需要對(duì)原始測(cè)井?dāng)?shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,從而消除測(cè)井?dāng)?shù)據(jù)間的差異性,便于模型更好地學(xué)習(xí)特征。處理后的數(shù)據(jù)會(huì)服從均值為0,方差為1的正態(tài)分布。該文采用的數(shù)據(jù)標(biāo)準(zhǔn)化公式如下:
(11)
其中,μ為數(shù)據(jù)的均值,σ為標(biāo)準(zhǔn)差,當(dāng)數(shù)據(jù)x按均值(μ)中心化后,再按標(biāo)準(zhǔn)差(σ)縮放,數(shù)據(jù)就會(huì)服從均值為0,方差為1的正態(tài)分布。標(biāo)準(zhǔn)化后的變量值圍繞0上下波動(dòng),大于0說(shuō)明高于平均水平,小于0說(shuō)明低于平均水平。
3.1.2 相關(guān)性分析
相關(guān)性分析是指對(duì)多個(gè)變量進(jìn)行相關(guān)密切程度的衡量,并不是所有的特征都可以進(jìn)行相關(guān)性分析,需要特征之間存在一定的聯(lián)系或者概率才可以進(jìn)行分析,在測(cè)井曲線數(shù)據(jù)中,不同的測(cè)井曲線數(shù)據(jù)之間存在一定的相關(guān)性,它們同時(shí)反映了一個(gè)區(qū)域之間地層特征,因此可以進(jìn)行相關(guān)性分析。
在訓(xùn)練過(guò)程中,并不是特征參數(shù)越多,模型的識(shí)別效果就越好,相反,如果特征參數(shù)過(guò)多,特征與特征之間就會(huì)產(chǎn)生冗余現(xiàn)象,反而不利于提高模型的識(shí)別效果。相關(guān)性分析指的是對(duì)多個(gè)具備相關(guān)性的變量元素進(jìn)行分析,得到這些變量因素的相關(guān)程度,一組數(shù)據(jù)特征之間相關(guān)性低,則說(shuō)明特征之間依存關(guān)系弱,適合用來(lái)進(jìn)行分析。通過(guò)對(duì)測(cè)井曲線進(jìn)行Pearson相關(guān)性分析,可得各個(gè)測(cè)井曲線特征它們之間的Pearson相關(guān)系數(shù),選擇相關(guān)性較弱的特征數(shù)據(jù)作為訓(xùn)練特征。
3.1.3 不均衡樣本處理
如圖2所示,不同類別的數(shù)據(jù)分布嚴(yán)重不均衡,如果某個(gè)類別數(shù)量特別少,模型對(duì)其學(xué)習(xí)效果不佳,則會(huì)造成模型對(duì)其識(shí)別準(zhǔn)確率低,影響最終識(shí)別效果[15]。針對(duì)數(shù)據(jù)不均衡問(wèn)題,該文采用了SMOTE算法對(duì)數(shù)據(jù)進(jìn)行補(bǔ)齊,使得各個(gè)樣本的數(shù)據(jù)量相等。
SMOTE算法是基于隨機(jī)過(guò)采樣算法的一種改進(jìn)算法,它可以有效地防止隨機(jī)過(guò)采樣算法采取簡(jiǎn)單復(fù)制樣本的策略來(lái)增加少數(shù)類樣本產(chǎn)生的模型過(guò)擬合問(wèn)題,它的基本思想是對(duì)少數(shù)類樣本進(jìn)行分析,根據(jù)少數(shù)類樣本人工合成新樣本添加到數(shù)據(jù)集中。算法流程如下:
(1)計(jì)算少數(shù)類中每一個(gè)樣本到少數(shù)類全部樣本集中所有樣本的歐氏距離。
(2)根據(jù)樣本不平衡比例,設(shè)置一個(gè)采樣比例,以確定采樣倍率N,對(duì)于每一個(gè)少數(shù)類樣本a,從其k近鄰中隨機(jī)選擇若干個(gè)樣本,假設(shè)選擇的近鄰為b。
(3)對(duì)于每一個(gè)隨機(jī)選出的近鄰b,分別與原樣本a構(gòu)建新的樣本c。
算法使用前后的效果如圖2、圖3所示。從圖2和圖3中可以明顯看出,使用SMOTE算法后各個(gè)數(shù)據(jù)類別數(shù)量得到了補(bǔ)齊,為模型訓(xùn)練提供了良好的數(shù)據(jù)支持。
圖2 原始數(shù)據(jù)分布
圖3 數(shù)據(jù)補(bǔ)齊后的分布
通過(guò)以上步驟對(duì)測(cè)井曲線數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,然后將上述處理完的數(shù)據(jù)輸入到模型中進(jìn)行訓(xùn)練與測(cè)試,檢驗(yàn)Stacking集成模型的可靠性。為了提高基模型的差異性和防止過(guò)擬合現(xiàn)象,該模型的訓(xùn)練采用K折交叉驗(yàn)證的思想,對(duì)模型進(jìn)行訓(xùn)練,來(lái)保證訓(xùn)練模型的準(zhǔn)確率和泛化性。
具體的訓(xùn)練步驟如下:
(1)將訓(xùn)練數(shù)據(jù)進(jìn)行K折劃分,分成數(shù)量相同的K組數(shù)據(jù)。
(2)用選取的多個(gè)基模型進(jìn)行K次訓(xùn)練,訓(xùn)練樣本為K-1份,剩下的一份作為訓(xùn)練后的數(shù)據(jù)。
(3)將預(yù)測(cè)的K份數(shù)據(jù)組成新的訓(xùn)練樣本,通過(guò)PCA算法計(jì)算基模型所占權(quán)重,將權(quán)重融入到預(yù)測(cè)的數(shù)據(jù)中,組成元模型的訓(xùn)練數(shù)據(jù)。
(4)將第三步的數(shù)據(jù)輸入到第二層的元模型中進(jìn)行預(yù)測(cè),得到最終的預(yù)測(cè)結(jié)果。
對(duì)Stacking集成模型進(jìn)行測(cè)試,如果該模型在驗(yàn)證集上識(shí)別效果較好,則可以將模型用于訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練。否則,需要對(duì)集成模型進(jìn)行優(yōu)化調(diào)整,重新測(cè)試。
本次實(shí)驗(yàn)的數(shù)據(jù)來(lái)自于中國(guó)延安氣田的某井區(qū)數(shù)據(jù)。訓(xùn)練數(shù)據(jù)集包括31口生產(chǎn)井的3 345條測(cè)井?dāng)?shù)據(jù),其中主要的巖性分類為:粗砂巖、中砂巖、細(xì)砂巖、粉砂巖、白云巖、灰?guī)r和泥巖,總共七種巖性。其中,粗砂巖樣本194條,中砂巖樣本710條,細(xì)砂巖樣本751條,白云巖樣本166條,石灰?guī)r樣本482條,泥巖樣本114條,粉砂巖樣本928條。測(cè)井曲線包括聲波測(cè)井(AC)、井徑測(cè)井(CAL)、伽馬射線測(cè)井(GR)、鉀測(cè)井(K)、深探雙側(cè)向電阻率測(cè)井(RD)和自然電位測(cè)井(SP)6條測(cè)井曲線。巖性復(fù)雜,并且?guī)r性識(shí)別較為困難。
測(cè)試數(shù)據(jù)集來(lái)自3口生產(chǎn)井的366條測(cè)井?dāng)?shù)據(jù)。在測(cè)試集合中,巖性數(shù)據(jù)包括:粗砂巖樣本20條,中砂巖樣本80條,細(xì)砂巖樣本80條,白云巖樣本53條,石灰?guī)r樣本13條,泥巖樣本100條,粉砂巖樣本20條。本次實(shí)驗(yàn)的所有巖性分類模型使用Python的scikit-learn框架進(jìn)行編寫,它是Python的一個(gè)模塊,提供了廣泛的機(jī)器學(xué)習(xí)算法,包括監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)。
在模型評(píng)價(jià)方面,本次實(shí)驗(yàn)采用準(zhǔn)確率和F1-Score對(duì)各個(gè)模型的表現(xiàn)進(jìn)行評(píng)判。其中準(zhǔn)確率表示預(yù)測(cè)結(jié)果和真實(shí)結(jié)果的差異,它的計(jì)算方式主要是分類正確的樣本個(gè)數(shù)和總樣本個(gè)數(shù)的比值。F1-Score兼顧了分類模型中的準(zhǔn)確率和召回率,是對(duì)模型準(zhǔn)確率和召回率的加權(quán)平均,它更能全面地評(píng)價(jià)模型的優(yōu)劣。各個(gè)基模型的參數(shù)設(shè)置以及準(zhǔn)確率和F1-Score如表1、表2所示。
表1 基模型參數(shù)設(shè)置
表2 各個(gè)模型的準(zhǔn)確率和F1-Score %
各個(gè)模型在不同巖性種類上的準(zhǔn)確率如表3所示。通過(guò)對(duì)比各個(gè)模型在測(cè)試集上的指標(biāo),可以得出如下結(jié)論:在模型準(zhǔn)確率方面,所有基模型中支持向量機(jī)的準(zhǔn)確率最高,達(dá)到了88.79%,K近鄰算法準(zhǔn)確率最低,達(dá)到了84.42%。改進(jìn)后的集成模型準(zhǔn)確率達(dá)到了92.01%,相比較于CART決策樹(shù),準(zhǔn)確率提高了9.5個(gè)百分點(diǎn),相比較于KNN算法,準(zhǔn)確率提高了7.59個(gè)百分點(diǎn),相比較于MLP,準(zhǔn)確率提高了5.95個(gè)百分點(diǎn),相比較于SVM,準(zhǔn)確率提高了3.22個(gè)百分點(diǎn)。相比較于傳統(tǒng)Stacking模型,準(zhǔn)確率提高了1.85個(gè)百分點(diǎn)。
表3 各個(gè)模型在不同巖性類別上的準(zhǔn)確率 %
對(duì)于各個(gè)巖性類別分類準(zhǔn)確度,集成模型也有一定的提升。其中,在識(shí)別效果最差的粉砂巖上,集成模型也得到了較好的識(shí)別效果。在F1-Score方面,所有的基模型中,支持向量機(jī)的F1-Score最高,達(dá)到了88.79%,CART決策樹(shù)的F1-Score最低,達(dá)到了82.06%。改進(jìn)后的集成模型F1-Score達(dá)到了91.75%,相比較于CART決策樹(shù),F(xiàn)1-Score提高了9.69個(gè)百分點(diǎn),相比較于KNN算法,F(xiàn)1-Score提高了3.85個(gè)百分點(diǎn),相比較于MLP,F(xiàn)1-Score提高了4.79個(gè)百分點(diǎn),相比較于SVM,F(xiàn)1-Score提高了2.96個(gè)百分點(diǎn)。相比較于傳統(tǒng)Stacking模型,F(xiàn)1-Score提高了2個(gè)百分點(diǎn)。
綜上分析,改進(jìn)后的集成學(xué)習(xí)模型從準(zhǔn)確率和F1-Score方面得到了較大的提高,從實(shí)驗(yàn)數(shù)據(jù)來(lái)看,改進(jìn)后的Stacking集成模型整體效果最好,從而證明了該改進(jìn)方法的有效性。
Stacking集成模型相較于單一的機(jī)器學(xué)習(xí)模型效果較好。因?yàn)樗闪怂姆N基模型,融合了它們各自的優(yōu)點(diǎn),即CART決策樹(shù)容易考慮到每個(gè)測(cè)井曲線特征,KNN適用于非線性分類,MLP易于學(xué)到高階特征,SVM在高階特征上有良好的分類效果。而從2.1節(jié)中可以得出,每個(gè)基模型自身都存在一定的局限性,導(dǎo)致其效果不理想。因此,該文的Stacking集成學(xué)習(xí)準(zhǔn)確率普遍高于單一的機(jī)器學(xué)習(xí)模型。并且,改進(jìn)的Stacking集成學(xué)習(xí)模型相較于傳統(tǒng)的Stacking集成學(xué)習(xí)模型,效果也得到了提升,因?yàn)槠涓幼⒅鼗P椭g的差異性。在各個(gè)基模型中,正確的預(yù)測(cè)能夠幫助元分類器進(jìn)行決策,錯(cuò)誤的預(yù)測(cè)結(jié)果會(huì)降低元分類器的分類性能。因此,提出的模型為各個(gè)基模型分配權(quán)重,考慮了每個(gè)基模型的真實(shí)預(yù)測(cè)信息,有效地提高了分類準(zhǔn)確率和F1-Score。
但是,從實(shí)驗(yàn)數(shù)據(jù)中也可以發(fā)現(xiàn),改進(jìn)的集成學(xué)習(xí)模型在部分巖性上的識(shí)別準(zhǔn)確率沒(méi)有得到很大的提升,例如粉砂巖,它的識(shí)別準(zhǔn)確率只是達(dá)到了基模型識(shí)別準(zhǔn)確率的最高值。而且,部分巖性的識(shí)別準(zhǔn)確率不但沒(méi)有得到提升,反而有所下降,例如中砂巖和泥巖,這是由于集成策略仍然存在一定的缺陷,導(dǎo)致最終的集成模型沒(méi)有學(xué)習(xí)到相關(guān)類別的特征信息,因此,該模型仍然有待進(jìn)一步提高。
通過(guò)分析測(cè)井曲線數(shù)據(jù),有助于識(shí)別不同的巖性,該文通過(guò)對(duì)CART決策樹(shù)、KNN、MLP和SVM四種模型進(jìn)行分析,結(jié)合了它們各自的優(yōu)點(diǎn),通過(guò)PCA算法為其分配權(quán)重,將其結(jié)果輸入到元模型中進(jìn)行訓(xùn)練。通過(guò)此方法,極大地融合了每個(gè)模型的優(yōu)點(diǎn),完善了每個(gè)模型的不足,最終建立了一個(gè)穩(wěn)定高效的用于巖性識(shí)別的集成學(xué)習(xí)模型。經(jīng)過(guò)多次對(duì)比實(shí)驗(yàn),發(fā)現(xiàn)該模型相較于傳統(tǒng)的巖性識(shí)別模型,具有較好的穩(wěn)定性和準(zhǔn)確性,為廣大學(xué)者利用集成學(xué)習(xí)技術(shù)進(jìn)行巖性識(shí)別分析提供了新的方法和思路。從實(shí)驗(yàn)數(shù)據(jù)中可以得到,針對(duì)分類效果較差的巖性類別,該集成模型提升效果不顯著,并且部分類別的準(zhǔn)確率有所下降,因此,如何選取更巧妙的集成策略,提高各個(gè)分類類別的準(zhǔn)確率,最終提高模型的整體表現(xiàn),還需要進(jìn)一步地探索和研究。