胡勝利錢 旭鐘 峰
(1.中國礦業(yè)大學(xué) (北京)機(jī)電與信息工程學(xué)院,北京市海淀區(qū),100083; 2.安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽省淮南市,232001)
★煤炭科技·機(jī)電與信息化 ★
基于遺傳算法和人工神經(jīng)網(wǎng)絡(luò)的煤層厚度預(yù)測*
胡勝利1,2錢 旭1鐘 峰1
(1.中國礦業(yè)大學(xué) (北京)機(jī)電與信息工程學(xué)院,北京市海淀區(qū),100083; 2.安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽省淮南市,232001)
將具有高度非線性識別能力的人工神經(jīng)網(wǎng)絡(luò)與遺傳算法相結(jié)合,探討了應(yīng)用于煤層厚度預(yù)測的方法,提出了先用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò),再進(jìn)行結(jié)果預(yù)測。實(shí)踐表明,該方法有效提高了精度,對煤層厚度預(yù)測提供了一個(gè)重要模型。
神經(jīng)網(wǎng)絡(luò) 遺傳算法 煤層厚度 預(yù)測
AbstractOn the basis of combining the genetic algorithm and artificial neural network with highly non-linear recognition capability,the authors discuss methods to forecast coal seam thickness.In this paper,new neural network optimized by genetic algorithm is presented,then coal seam thickness is predicated.According to this paper, the method has been proved of improved accuracy and regarded an important model to forecast coal seam thickness.
Key wordsneural network,genetic algorithm,coal seam thickness,prediction
在我國的某些煤田中,由于煤層沉積和受河道沖刷的影響,會導(dǎo)致煤層結(jié)構(gòu)發(fā)生變化,如煤層的分叉、合并和缺失等現(xiàn)象,這給煤層厚度的診斷帶來了困難,同時(shí)影響到礦井的采掘工作。比如實(shí)際煤厚比設(shè)計(jì)煤厚變薄10%~20%,煤炭產(chǎn)量可下降35%~40%。因此煤層厚度的預(yù)測對煤礦設(shè)計(jì)和生產(chǎn)具有重要意義。
傳統(tǒng)煤層的厚度勘探方法是根據(jù)鉆孔資料的對比、內(nèi)插獲得的。但由于鉆孔數(shù)目有限,孔間距在百米以上,預(yù)測的結(jié)果可信度很低。后來人們根據(jù)煤層反射波的特性,對反射波在40 m左右并且在地質(zhì)勘探中厚度小于1/4波長的地層做了大量研究工作,提出了許多解決辦法,如直接反演法、統(tǒng)計(jì)分析法等。但這些方法均要求煤層不能太厚或太薄,原因是煤層反射波動(dòng)力學(xué)參數(shù)在該范圍內(nèi)與煤層厚度呈非線性關(guān)系,因此需要對這些非線性關(guān)系進(jìn)行映射。
目前在模式識別、趨勢預(yù)測等領(lǐng)域廣泛使用的BP網(wǎng)絡(luò)具有很強(qiáng)的非線性識別能力,但BP算法計(jì)算結(jié)果容易陷入局部最小值而得不到全局最優(yōu)解,而且隱含層中的神經(jīng)元數(shù)目很難確定。遺傳算法 (GA)的出現(xiàn),使得網(wǎng)絡(luò)的訓(xùn)練有了新的有效方法。遺傳算法的搜索不但是并行的,而且能夠遍及全局,加快了網(wǎng)絡(luò)的訓(xùn)練,容易得到全局最優(yōu)解,可以改善網(wǎng)絡(luò)的性能。
因此,本文將遺傳算法結(jié)合到BP神經(jīng)網(wǎng)絡(luò)中,主要思想是先利用遺傳算法對BP網(wǎng)絡(luò)初始權(quán)值進(jìn)行優(yōu)化,等達(dá)到一定要求后,再利用BP算法進(jìn)行運(yùn)算,直到滿足精度要求為止。這樣可以避免BP網(wǎng)絡(luò)容易陷入局部最優(yōu)的問題,達(dá)到了優(yōu)化網(wǎng)絡(luò)的目的。
2.1 BP算法設(shè)計(jì)
BP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示,算法步驟如下:
(1)建立BP網(wǎng)絡(luò)結(jié)構(gòu)和輸入樣本網(wǎng)絡(luò)結(jié)構(gòu),包括節(jié)點(diǎn)層數(shù),各層節(jié)點(diǎn)數(shù)。其中,在 [-1,1]區(qū)間內(nèi)對權(quán)值與閾值進(jìn)行初始化;在 [0,1]區(qū)間內(nèi)給定網(wǎng)絡(luò)學(xué)習(xí)效率。
(2)由輸入層向輸出層前向計(jì)算網(wǎng)絡(luò)的輸出。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
隱含層第j個(gè)結(jié)點(diǎn)的輸入為:
式中:oi——輸入層i節(jié)點(diǎn)的輸入;
Wji——隱含層節(jié)點(diǎn)j與輸入層節(jié)點(diǎn)i的連接權(quán)值,即隱含層節(jié)點(diǎn)j的輸入等于輸入層各節(jié)點(diǎn)的輸入乘以輸入層各節(jié)點(diǎn)與隱含層節(jié)點(diǎn)j之間的連接權(quán)值,然后求和。
隱含層節(jié)點(diǎn)j的輸出
輸出層結(jié)點(diǎn)k的輸入為
Vkj——輸出層節(jié)點(diǎn)k與隱含層節(jié)點(diǎn)j的連接權(quán)值,即隱含層節(jié)點(diǎn)k的輸入等于隱含層各節(jié)點(diǎn)的輸出乘以隱含層各節(jié)點(diǎn)與輸出層節(jié)點(diǎn)k之間的連接權(quán)值,然后求和。
(3)誤差計(jì)算,定義網(wǎng)絡(luò)誤差函數(shù)為:
式中:tk——理想輸出;
yk——真實(shí)輸出;
k——輸出層節(jié)點(diǎn)數(shù)。
(4)權(quán)值的修正。標(biāo)準(zhǔn)BP算法實(shí)質(zhì)上是一種梯度下降尋優(yōu)法,從而常常使學(xué)習(xí)過程發(fā)生振蕩,收斂緩慢。另外,學(xué)習(xí)因子的選擇也非常重要,過大或過小都會對收斂速度產(chǎn)生影響,因此,這里采用常用的動(dòng)量法和學(xué)習(xí)因子自適應(yīng)調(diào)整法來修正權(quán)值,提高學(xué)習(xí)速度。
(5)輸入樣本,重復(fù)以上步驟,直至達(dá)到精度要求。
2.2 遺傳算法的設(shè)計(jì)
遺傳算法是一種自然選擇、競爭和群體遺傳機(jī)理的全局優(yōu)化方法。把求解問題的自變量看作基因,進(jìn)行編碼構(gòu)成染色體 (個(gè)體),在個(gè)體的集合 (群體)內(nèi)根據(jù)個(gè)體適應(yīng)度的大小進(jìn)行最優(yōu)評價(jià)。在搜索過程中不斷通過選擇、交叉、變異3個(gè)遺傳算子進(jìn)行新個(gè)體的產(chǎn)生與繁殖,最后得出最優(yōu)個(gè)體。
(1)染色體編碼。通常,遺傳算法基因編碼都是采用二進(jìn)制位串編碼形式,而網(wǎng)絡(luò)結(jié)點(diǎn)中的權(quán)值均為實(shí)數(shù)。因此,在算法中編碼采用實(shí)數(shù)編碼,減少字符串的長度,以此來提高網(wǎng)絡(luò)求解速度。
(2)種群的初始化。初始群體的隨機(jī)產(chǎn)生常常導(dǎo)致在解空間中不能均勻分散,因此可先將優(yōu)化問題的初始解轉(zhuǎn)化為個(gè)體,然后在問題的解空間中利用人工方法產(chǎn)生初始種群的其他個(gè)體,使初始群體的個(gè)體模式階次較高,同時(shí)模式數(shù)目較大并具有多樣性。這樣通過適當(dāng)選擇字符串長度和群體規(guī)模,即可在開始的幾代內(nèi)找到各極值點(diǎn)所在的區(qū)域,加快搜索速度。
(3)適應(yīng)度函數(shù)的選擇。遺傳算法以適應(yīng)度函數(shù)作為進(jìn)化目標(biāo),且只能朝著適應(yīng)度函數(shù)值增大的方向進(jìn)化,所以,適應(yīng)度函數(shù)與目標(biāo)函數(shù)之間要進(jìn)行適當(dāng)?shù)霓D(zhuǎn)換。由于進(jìn)化中的網(wǎng)絡(luò)誤差是非零的正數(shù),可以將目標(biāo)函數(shù)的倒數(shù)作為適應(yīng)度函數(shù)。
(4)選擇算子的設(shè)計(jì)。選擇算子采用一般的輪盤賭方式,設(shè)種群規(guī)模為N,種群中的個(gè)體為fi(i=1,…,N),F(fi)為個(gè)體適應(yīng)度值,則個(gè)體fi選擇概率Pi為:
具體過程如下:
②從區(qū)間 (0,1)產(chǎn)生一個(gè)隨機(jī)數(shù)θ;
③若θ∈(PI,PI-1),則fi進(jìn)入下代種群;
④重復(fù) (2)、(3)步驟N次,得到子代種群所需的N個(gè)染色體。
在這種選擇策略下,具有較大適應(yīng)值的個(gè)體被選中的概率大,同時(shí)具有較小適應(yīng)值的個(gè)體也存在被選中的可能。因此,在選擇的同時(shí)加入最佳選擇策略,把每個(gè)世代的最佳個(gè)體直接保留到子代。
(5)交換概率和變異概率。交叉和變異算子中有兩個(gè)重要的參數(shù):交換概率Pc和變異概率Pm。它們的選取對算法的性能有重要影響,為了避免早熟收斂,這里采用了自適應(yīng)Pc和Pm的方法,其中Pc和Pm根據(jù)解的自適應(yīng)度函數(shù)而變化。計(jì)算表達(dá)式如下:
式中:k1、k2、k3、k4——常數(shù);
fmax——最大適應(yīng)度;
favg——平均適應(yīng)度;
f’——交叉?zhèn)€體中適應(yīng)度函數(shù)較大個(gè)體的適應(yīng)度;
f——突變個(gè)體的適應(yīng)度。
(6)交叉算子。交叉運(yùn)算是最重要的遺傳操作,根據(jù)交叉概率Pc來選擇父代染色體通過交叉產(chǎn)生新的染色體,從而不斷擴(kuò)展搜索空間,最終達(dá)到全局。這里采用算術(shù)交叉,這樣可以保證產(chǎn)生的后代在兩個(gè)父代染色體之間。算術(shù)交叉的依據(jù)是凸搜索空間的一個(gè)重要性質(zhì):對于解空間中的任何2個(gè)點(diǎn)x1和x2,若采用如下線性組合:
則結(jié)果同樣是解空間中的一個(gè)解。
根據(jù)此性質(zhì),設(shè)x1和x2為交叉運(yùn)算的父染色體,則產(chǎn)生的后代為:
其中,α為隨機(jī)數(shù),范圍在 [0,1]之間。
(7)變異算子。由于染色體為實(shí)數(shù)編碼,變異運(yùn)算采用如下方法。
染色體X的基因位xi的變異為:在區(qū)間[ x1,x2]隨機(jī)地取一個(gè)數(shù)x1來代替xi,區(qū)間[x1, x2]由下式確定;
式中:xmax,xmin——xi的取值上限和下限;
pm——變異概率;
f——突變個(gè)體的適應(yīng)度;
fmax——最大適應(yīng)度。
因此,適應(yīng)度大的個(gè)體變異區(qū)間較小,適應(yīng)度小的個(gè)體的變異區(qū)間較大。這樣既能減少變異操作對好的個(gè)體的破壞,又能夠保證遺傳算法的搜索能力。
(8)算法流程圖?;?GA和BP神經(jīng)網(wǎng)絡(luò)算法流程圖如圖2所示:
圖2 GA和BP遺傳神經(jīng)網(wǎng)絡(luò)算法流程圖
為了驗(yàn)證遺傳算法對BP算法的優(yōu)化作用,在MATALAB7.0中利用神經(jīng)網(wǎng)絡(luò)工具和遺傳算法工具對模型進(jìn)行了仿真,仿真對象是煤層厚度的預(yù)測。選取了5個(gè)最能反映煤層厚度變化的地震特征參數(shù),即波峰波谷振幅A1、平均頻率Fa、主頻帶能量Qfl、低頻帶寬能量Qf和峰值頻率Fmain。
遺傳算法初始種群為50,進(jìn)化代數(shù)為100,初始權(quán)值范圍在 [-5,5]之間。BP網(wǎng)絡(luò)兩個(gè)隱含層神經(jīng)元分別為3個(gè)和8個(gè),傳遞函數(shù)為pureline和 logsig。輸出層神經(jīng)元為 1個(gè),傳遞函數(shù)為pureline。算法學(xué)習(xí)率為0.9,動(dòng)態(tài)因子為0.7,最大誤差為0.001,訓(xùn)練步長為2000,樣本數(shù)據(jù)采用了文獻(xiàn) [3]中的數(shù)據(jù)。經(jīng)過訓(xùn)練,BP算法經(jīng)過121步達(dá)到穩(wěn)定,GA+BP算法卻只需要82步。測試數(shù)據(jù)和仿真結(jié)果如表1所示。
由表1可以看出,經(jīng)過 GA優(yōu)化的BP算法和單一的BP算法相比,網(wǎng)絡(luò)達(dá)到穩(wěn)定所需的步數(shù)明顯減少,預(yù)測結(jié)果的精度也得到了提高。
表1 仿真結(jié)果
通過以上分析,GA可以對BP網(wǎng)絡(luò)的權(quán)值進(jìn)行有效優(yōu)化,解決了網(wǎng)絡(luò)速度收斂慢的缺點(diǎn)。該方法在仿真過程中,隨著訓(xùn)練樣本的增加,預(yù)測的結(jié)果會隨著提高,表明了較強(qiáng)的網(wǎng)絡(luò)學(xué)習(xí)能力。結(jié)果證明,此模型對于利用地震波來預(yù)測煤層厚度提高了預(yù)測的準(zhǔn)確性和效率,提供了一種新的方法。
[1]崔若飛.地震資料礦井構(gòu)造解釋方法及應(yīng)用 [M].北京:煤炭科學(xué)出版社,1997
[2]張志文,梁欠峰,王增瑩.遺傳算法優(yōu)化BP網(wǎng)絡(luò)及其在灰渣粘度預(yù)測中的應(yīng)用 [J].計(jì)算機(jī)與應(yīng)用化學(xué), 2007(5)
[3]蔣云霞,蔡嗣經(jīng).神經(jīng)網(wǎng)絡(luò)與遺傳算法結(jié)合在礦業(yè)評價(jià)中的應(yīng)用 [J].遼寧工程技術(shù)大學(xué)學(xué)報(bào),2006,25(5)
[4]尚俊松,毛定祥.改進(jìn)BP神經(jīng)網(wǎng)絡(luò)在股市預(yù)測中的應(yīng)用 [J].價(jià)值工程,2004(7)
[5]李建珍.基于遺傳算法的人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].西北師范大學(xué)學(xué)報(bào) (自然科學(xué)版),2002(2)
[6]雷英杰,張善文等.Matalab遺傳算法工具箱及應(yīng)用[M]西安:西安電子科技大學(xué)出版社,2004
Genetic algorithm and artificial neural network based coal seam thickness forecasting
Hu Shengli1,2,Qian Xu1,Zhong Feng1
(1.School of Mechanical Electronic&Information Engineer,China University of Mining&Technology,Beijing 100083,China; 2.School of Computer Science And Engineering,Anhui University of Science and Technology,Huainan,Anhui province 232001,China)
P618
A
胡勝利 (1978-),男,回族,安徽淮南人,中國礦業(yè)大學(xué) (北京)博士研究生,安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院講師,主要研究方向?yàn)?信息融合、計(jì)算機(jī)支持的協(xié)同工作。
(責(zé)任編輯 張毅玲)
教育部 2007年科技研究重點(diǎn)項(xiàng)目(107021)