宋秋強(qiáng) 黃若坤 楊超超 王英偉
摘 要:Matlab軟件平臺(tái)為用戶提供了強(qiáng)大的科學(xué)計(jì)算與可視化功能,具有簡(jiǎn)單、易用的用戶環(huán)境,尤其適合矩陣數(shù)據(jù)的計(jì)算處理。根據(jù)Matlab的特點(diǎn),將其與模式識(shí)別原理結(jié)合起來(lái),以油水層識(shí)別為例,求解基于多元正態(tài)概率模型下的最小錯(cuò)誤率貝葉斯判別函數(shù)和決策面方程。
關(guān)鍵詞:Matlab 模式識(shí)別 貝葉斯判別 油水層識(shí)別
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2013)02(c)-00-01
模式識(shí)別的分類問(wèn)題是根據(jù)識(shí)別對(duì)象特征的觀察值將其分到某個(gè)類別中去。貝葉斯(Bayes)判別法是模式識(shí)別方法中的一個(gè)基本方法。該方法通過(guò)對(duì)類別已知樣本的學(xué)習(xí),提取樣本特征并建立判別函數(shù)方程,從而來(lái)實(shí)現(xiàn)對(duì)新樣本的預(yù)測(cè)。根據(jù)決策規(guī)則的不同,貝葉斯判別法又包含最小錯(cuò)誤率貝葉斯判別、最小風(fēng)險(xiǎn)貝葉斯判別等。最小錯(cuò)誤率的貝葉斯判別就是利用概率論中的貝葉斯公式,得出使錯(cuò)誤率最小的分類規(guī)則。
Matlab集數(shù)字分析、矩陣運(yùn)算、信號(hào)處理和圖象處理、顯示于一體,構(gòu)成了一個(gè)方便靈活的、界面友好的用戶環(huán)境[1]。同時(shí)Matlab提供了大量的功能函數(shù),這些函數(shù)的靈活運(yùn)用會(huì)使研究人員避免大量重復(fù)性的勞動(dòng)。對(duì)于測(cè)井方法研究和數(shù)據(jù)處理來(lái)說(shuō),由于獲得的信息都是數(shù)字化的,所以應(yīng)用Matlab可以很方便地解決與測(cè)井相關(guān)的問(wèn)題。Matlab的出現(xiàn)使得測(cè)井工作者能夠把更多的精力集中到專業(yè)的方法研究中。該文通過(guò)對(duì)貝葉斯判別法的原理進(jìn)行剖析,提出通過(guò)Matlab軟件來(lái)實(shí)現(xiàn)該算法,程序編制過(guò)程簡(jiǎn)單且方法運(yùn)用靈活。
1 方法原理及應(yīng)用
根據(jù)貝葉斯判別的基本理論,在多元正態(tài)概率分布中,基于最小錯(cuò)誤率的貝葉斯判別函數(shù)和決策面方程由如下式子給出[2]:
判別函數(shù):
gix=-12x-μiTi-1x-μi-d2ln2π-12lnΣi+lnPωi ①
決策面方程:
gix=gj(x) ②
其中x=x1,x2,……,xdT是d 維列向量。
μ=μ1,μ2,……,μdT是d維均值向量。
Σ是d×d維協(xié)方差矩陣,Σ-1是Σ的逆矩陣,Σ是Σ的行列式。
在測(cè)井方面,可以利用該公式來(lái)判別巖性、劃分油水層等。以油水層識(shí)別為例,通過(guò)試油資料,我們可以獲得一些已知的油水層訓(xùn)練樣本,如
油層:X1=[GR1,SP1,……,RT1]T,X2=GR2,SP2,……,RT2T,X3=[GR3,SP3,……,RT3]T,X4=GR4, SP4,……,RT4T;
水層:X5=GR5,SP5,……,RT5T,X6=GR6,SP6,……,RT6T,X7=[GR7,SP7,……,RT7]T,X8=GR8, SP8,……,RT8T;
其中GR(自然伽馬測(cè)井曲線),SP(自然電位測(cè)井曲線),……,RT(深電阻率測(cè)井曲線)等為影響油水層劃分的d維關(guān)鍵因素,可根據(jù)油田實(shí)際狀況確定;Xi(i=1,2,……,8)為已知的訓(xùn)練樣本,本例中含有8個(gè)樣本,樣本分為2類。
我們首先通過(guò)樣本值求得,
油層均值向量μ1=[μGR,μSP,……,μRT]T
水層均值向量μ2=[μGR',μSP',……,μRT']T
以及它們各自的協(xié)方差矩陣Σ1,Σ2及其逆矩陣、行列式值。
然后,將以上求得的這些參數(shù)代入①式中,就能求得油水層的判別函數(shù)g1x、g2x。假如現(xiàn)在我們要判別一個(gè)樣本X9=[GR9,SP9,……,RT9]T的類別,我們只需將X9的值代入g1x和g2x。如果g1x>g2x,則X9應(yīng)劃分為油層,反之則為水層。
例子中,只采了8個(gè)樣本值。即便如此,要想通過(guò)手工運(yùn)算去求解油水層的均值向量和協(xié)方差矩陣也相當(dāng)困難的。在實(shí)際運(yùn)用中,判別的類別數(shù)和樣本數(shù)量都要更多一些,如何去求解樣本均值、協(xié)方差等參數(shù)成為了一個(gè)難題。Matlab提供了解決問(wèn)題的辦法,因?yàn)榍蠼膺@樣一些參數(shù)在Matlab中很容易,可以直接調(diào)用它的庫(kù)函數(shù)。
最小錯(cuò)誤率的貝葉斯判別中還存在先驗(yàn)概率如何確定的問(wèn)題。在井眼、地層環(huán)境和測(cè)量完全相同的情況下,測(cè)量結(jié)果具有隨機(jī)性且劃分為油層和水層的概率是相等的。在實(shí)際運(yùn)用中,測(cè)井值才是影響判別結(jié)果的決定性因素,因此將先驗(yàn)概率值取相等即可。
通過(guò)以上方法和原理,在Matlab中編寫(xiě)了相應(yīng)的貝葉斯判別程序,實(shí)現(xiàn)了對(duì)M油田的X1井油水層的判別處理,并與實(shí)際試油資料井進(jìn)行了比對(duì),符合率為86%,滿足了實(shí)際生產(chǎn)的需要,可以運(yùn)用推廣。
2 結(jié)語(yǔ)
(1)Matlab具有強(qiáng)大的矩陣計(jì)算能力,適合運(yùn)用于計(jì)算量較大的科學(xué)分析計(jì)算。
(2)可以將Matlab與模式識(shí)別原理相結(jié)合,方便高效地利用貝葉斯判別對(duì)測(cè)井?dāng)?shù)據(jù)進(jìn)行判別分析,實(shí)現(xiàn)對(duì)油水層的預(yù)測(cè)。
參考文獻(xiàn)
[1] 朱廣峰.精通Matlab 7[M].北京:清華大學(xué)出版社,2006.
[2] 邊肇祺,張學(xué)工.模式識(shí)別[M].2版.北京:清華大學(xué)出版社,2000.