張向君,張 曄
(1.大慶鉆探工程公司物探研究院,黑龍江大慶163357;2.東北石油大學(xué),黑龍江大慶163318)
支持向量機(jī)(SVM)是一種基于統(tǒng)計學(xué)習(xí)理論的學(xué)習(xí)方法[1],在理論研究和實際應(yīng)用兩個方面均已成為人工智能和機(jī)器學(xué)習(xí)領(lǐng)域的熱點(diǎn)[2]。支持向量機(jī)方法最早是針對模式識別問題提出來的,隨著VAPNIK等對ε不敏感損失函數(shù)的引入[3],支持向量機(jī)應(yīng)用由模式識別領(lǐng)域推廣到回歸估計領(lǐng)域,并展現(xiàn)出很好的學(xué)習(xí)性能,在建模、預(yù)測等方面取得了很好的效果[4-7]。支持向量機(jī)方法在理論上能夠保證找到的極值解就是全局最優(yōu)解而非局部最小值,因此對未知樣本有較好的泛化能力[8]。
在地震儲層預(yù)測中,常用的儲層參數(shù)預(yù)測方法大多建立在線性模型基礎(chǔ)上,是對實際模型一定程度上的近似,而一些非線性方法則存在許多影響預(yù)測效果的問題[9]。支持向量機(jī)方法采用了與傳統(tǒng)方法完全不同的思路,在井資料比較少的情況下也能夠描述儲層物性和地震數(shù)據(jù)之間的非線性關(guān)系,使得建立的預(yù)測模型具有較高的擬合精度[9-10]。充分發(fā)揮SVM的優(yōu)良性能,提高儲層預(yù)測精度,關(guān)鍵在于兩個方面:一是樣本的優(yōu)選,樣本優(yōu)選的目的在于選出對儲層敏感、彼此相關(guān)性不強(qiáng)的樣本,舍棄那些對噪聲敏感的樣本[11-16];二是支持向量機(jī)的懲罰因子及核函數(shù)參數(shù)設(shè)置,這兩個參數(shù)影響著支持向量機(jī)的泛化能力和儲層預(yù)測精度。本文通過交互檢驗方法優(yōu)選支持向量機(jī)的懲罰因子及核函數(shù)參數(shù),提高支持向量機(jī)儲層預(yù)測精度。
給定樣本集{(xi,yi),i=1,2,…,m},其中xi∈RN是輸入值,yi∈R是對應(yīng)的目標(biāo)值,m是樣本數(shù),N是樣本集的維數(shù)。定義ε不敏感損失函數(shù)為:
(1)
其中f(x)是通過對給定樣本集的學(xué)習(xí)而獲得的回歸估計函數(shù),y是x所對應(yīng)的目標(biāo)值,ε>0是與函數(shù)估計精度相關(guān)的參數(shù)。學(xué)習(xí)的目的是使構(gòu)造的回歸估計函數(shù)f(x)與目標(biāo)值y的距離小于ε。
在樣本集是非線性的情況下,可以通過非線性函數(shù)φ(x)將樣本集數(shù)據(jù)x映射到一個高維的線性空間,在高維線性空間中完成回歸函數(shù)的構(gòu)建,即:
(2)
式中:ω是權(quán)值向量,b是偏置參數(shù)。
基于統(tǒng)計學(xué)習(xí)理論的結(jié)構(gòu)風(fēng)險最小化思想,支持向量機(jī)可以采用極小化優(yōu)化模型來構(gòu)建回歸函數(shù)[2,17],即
(3)
(4)
(5)
其中,
(6)
式中:NNSV為標(biāo)準(zhǔn)支持向量數(shù)量。由(5)式和(6)式知,非線性函數(shù)可以將樣本數(shù)據(jù)從低維空間映射到高維空間,但在計算回歸估計函數(shù)時只需計算核函數(shù),并不需要顯式計算該非線性函數(shù),因此不會造成高維特征空間的維數(shù)災(zāi)難問題。選擇核函數(shù)需滿足Merce條件,本文選擇徑向基函數(shù):
(7)
可見,在支持向量機(jī)計算過程中涉及到兩個主要參數(shù),即懲罰因子C和核函數(shù)參數(shù)g。
懲罰因子C用于控制目標(biāo)函數(shù)中兩項之間的權(quán)重,C取得過小或過大,都會使估計函數(shù)的泛化能力變差。若核函數(shù)參數(shù)g選得很小,則高次特征衰減得很快,實際上降低了空間維數(shù);若g選得過大,則會出現(xiàn)過擬合現(xiàn)象。在實際應(yīng)用中,對同一區(qū)塊不同層位進(jìn)行儲層預(yù)測時,C和g的取值是完全不同的,即使是對同一層位進(jìn)行儲層預(yù)測,在不同區(qū)塊C和g的取值也是不同的,而且沒有規(guī)律可循。
本文通過交互檢驗選取參數(shù)C和g,優(yōu)選步驟如下:
1) 初始化參數(shù)Cstart,Cend,ΔC,gstart,gend,Δg。其中,Cstart和Cend是參數(shù)C的優(yōu)選范圍,ΔC是參數(shù)C的優(yōu)選步長,gstart和gend是參數(shù)g的優(yōu)選范圍,Δg是參數(shù)g的優(yōu)選步長。
2) 將樣本{(xi,yi),i=1,2,…,m}隨機(jī)劃分為均等的n組,令C=Cstart,g=gstart,k=1。
3) 令j=1。
4) 選取第j組作為檢驗樣本,余下的n-1組作為訓(xùn)練樣本。
5) 用(1)~(7)式計算損失函數(shù)|y-f(x)|的均方誤差ej。
6) 令j=j+1,若j≤n,則轉(zhuǎn)向步驟4),否則轉(zhuǎn)向步驟7)。
8) 令C=C+ΔC,k=k+1,若C≤Cend,則轉(zhuǎn)向步驟3),否則轉(zhuǎn)向步驟9)。
9) 選擇最小誤差minEk所對應(yīng)的C和g為最優(yōu)參數(shù)值。
某油田開發(fā)區(qū)塊P油層砂巖具有較好的物性,砂巖分布及砂巖厚度預(yù)測是該區(qū)塊開發(fā)的關(guān)鍵。區(qū)塊內(nèi)有25口井,在P油層處的砂巖厚度均小于13m,將各井在P油層處的砂巖厚度及地震屬性作為樣本,用本文方法進(jìn)行砂巖厚度預(yù)測。利用該區(qū)塊三維地震資料提取了振幅、頻率、相位等20種地震屬性,采用基于核相似性度量的特征選擇方法[11],優(yōu)選出平均絕對振幅、功率譜總能量、功率譜峰值頻率、瞬時相位等4種地震屬性。為了驗證儲層預(yù)測效果,選用Well-sh401井、Well-sh29井、Well-sh60井作為后驗井,將其余22口井及優(yōu)選出的平均絕對振幅、功率譜總能量、功率譜峰值頻率、瞬時相位等4種地震屬性作為樣本,用于砂巖厚度預(yù)測。參數(shù)C和g的選取采用交互檢驗的方法進(jìn)行,取n=4,依照前述參數(shù)優(yōu)選流程,計算得到最優(yōu)C,g的值為:C=92,g=49。
圖1是選用C=92,g=49時預(yù)測的砂巖厚度圖。表1給出了后驗井砂巖的實測值和圖1的預(yù)測值,相對誤差都在11.59%以下。若使用非優(yōu)選出的參數(shù)C和g,砂巖厚度的預(yù)測精度就會受到影響。
表1 圖1砂巖厚度統(tǒng)計表
圖2是非優(yōu)選參數(shù)C=92,g=33預(yù)測的砂巖厚度圖,預(yù)測精度有所降低。表2給出了后驗井砂巖的實測值和圖2的預(yù)測值,相對誤差都大于13.64%??梢?通過交互檢驗優(yōu)選參數(shù)C和g,可以提高儲層砂巖厚度的預(yù)測精度。
圖1 砂巖厚度預(yù)測結(jié)果(C=92,g=49)
圖2 砂巖厚度預(yù)測結(jié)果(C=92,g=33)
井名實測值/m預(yù)測值/m相對誤差,%Well-sh4014.43.813.64Well-sh294.45.115.91Well-sh606.25.216.13
支持向量機(jī)是有限樣本情況下的機(jī)器學(xué)習(xí)方法,具有較好的學(xué)習(xí)、預(yù)測性能。支持向量機(jī)應(yīng)用于儲層預(yù)測時,懲罰因子及核函數(shù)參數(shù)的設(shè)置非常關(guān)鍵,設(shè)置過大或過小都會降低儲層預(yù)測的精度。通過交互檢驗優(yōu)選支持向量機(jī)的懲罰因子及核函數(shù)參數(shù)的方法在地震儲層預(yù)測中具有較好的實用性,能夠提高儲層預(yù)測精度。