艾迪 董海峰
摘 要:為解決傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)中隨機(jī)初始化參數(shù)方法的缺陷,提出一種基于決策樹(shù)信息增益算法的權(quán)值初始化方法。本文介紹了C4.5決策樹(shù)算法和BP神經(jīng)網(wǎng)絡(luò)算法的主要特點(diǎn),以及闡述了如何利用決策樹(shù)算法中信息增益初始化BP神經(jīng)網(wǎng)絡(luò)權(quán)值參數(shù),以避免傳統(tǒng)隨機(jī)初始化方法所造成的缺點(diǎn)。并以油氣層敏感性評(píng)價(jià)的實(shí)例進(jìn)行驗(yàn)證。實(shí)驗(yàn)表明,該初始化方法提高了BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率和準(zhǔn)確度。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡(luò); 決策樹(shù); 信息增益; 權(quán)值初始化
【Abstract】 In order to solve the defects of the traditional random initialization parameter method, a BP neural network weight initialization method based on decision tree information gain algorithm is proposed. This paper introduces the main features of the C4.5 decision tree algorithm and the BP neural network algorithm, and explains how to use the information gain in the decision tree algorithm to initialize the BP neural network weight parameters, which could avoid the large amount of trial and error caused by the traditional random initialization method. It is verified by an example of oil and gas layer sensitivity evaluation. Experiments show that the initialization method improves the learning efficiency and accuracy of BP neural network.
【Key words】 ?BP neural network; decision tree; information gain; weight initialization
0 引 言
BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)中最常用的算法之一,主要通過(guò)誤差反向傳播來(lái)達(dá)到學(xué)習(xí)模式的目的。其具有較高的模式分類能力和多維度映射能力,在模式分類、模式識(shí)別、計(jì)算機(jī)視覺(jué)等領(lǐng)域應(yīng)用較廣。
但在實(shí)際情況中,易收斂到局部極小值與收斂速度慢等缺點(diǎn)使得BP神經(jīng)網(wǎng)絡(luò)往往無(wú)法達(dá)到期望的學(xué)習(xí)效率,而造成這些問(wèn)題的一個(gè)主要原因是權(quán)值參數(shù)不合理的初始化[1]。若神經(jīng)網(wǎng)絡(luò)初始權(quán)值選擇不當(dāng),有可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)初始誤差較大,收斂的方向較差,從而導(dǎo)致上述問(wèn)題的出現(xiàn)。為此眾多科研工作者進(jìn)行了大量研究,關(guān)于BP神經(jīng)網(wǎng)絡(luò)權(quán)值的初始化方法主要有:利用正態(tài)分布函數(shù)生成的隨機(jī)數(shù)的BP神經(jīng)網(wǎng)絡(luò)權(quán)值初始化方法[2]、利用遺傳算法全局搜索最優(yōu)初始權(quán)值的方法[3]、基于粒子群算法等人工智能算法優(yōu)化初始權(quán)值的方法[4]等等。但由于這些初始化方法都在某種程度上具有隨機(jī)性,所以在實(shí)際情況中依然存在一些局限。
本文提出基于C4.5決策樹(shù)算法的BP神經(jīng)網(wǎng)絡(luò)權(quán)值初始化方法。根據(jù)BP神經(jīng)網(wǎng)絡(luò)與決策樹(shù)的分類模式具有等價(jià)性[5],以及決策樹(shù)算法能夠計(jì)算特征的對(duì)于樣本的劃分能力,可以在權(quán)值初始化時(shí)對(duì)劃分能力較大的特征賦予更高的權(quán)值,從而避免初始權(quán)值不當(dāng)造成的初始誤差較大等問(wèn)題。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的隨機(jī)初始化方法相較,該方法有效地減少了初始誤差,提升了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度。
1 C4.5決策樹(shù)算法概述
采用決策樹(shù)算法來(lái)初始化BP神經(jīng)網(wǎng)絡(luò)權(quán)值的方法,主要是利用信息增益能夠描述特征劃分能力的特點(diǎn),從而預(yù)估出各個(gè)神經(jīng)元節(jié)點(diǎn)的權(quán)值大小[6]。且由于ID3決策樹(shù)算法不支持連續(xù)型特征,以及對(duì)多值屬性的偏向等缺陷,所以本文選用C4.5決策樹(shù)算法作為權(quán)值初始化方法。針對(duì)連續(xù)數(shù)據(jù)的樣本集,C4.5決策樹(shù)算法訓(xùn)練步驟具體如下:
Step 1 對(duì)訓(xùn)練數(shù)據(jù)集中的連續(xù)數(shù)據(jù)離散化,缺失值補(bǔ)全。
Step 2 分別按照已處理的數(shù)據(jù)集的各個(gè)特征計(jì)算相應(yīng)的信息增益、信息增益率。
Step 3 按照C4.5決策樹(shù)算法,先找出信息增益高于平均水平的特征,再?gòu)闹羞x擇增益率最高的特征將當(dāng)前數(shù)據(jù)集劃分為不同的子集,建立相應(yīng)的決策樹(shù)。
Step 4 遞歸調(diào)用Step 2、Step 3,直至所有特征都參與決策劃分,并根據(jù)結(jié)果來(lái)建立完整決策樹(shù)。
C4.5決策樹(shù)算法整體流程如圖1所示。
2 BP神經(jīng)網(wǎng)絡(luò)概述
理論上,單隱藏層的BP神經(jīng)網(wǎng)絡(luò)可以逼近任何有理函數(shù),而隨意增加隱藏層的數(shù)目可能導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)更加復(fù)雜,進(jìn)而增加神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間,降低訓(xùn)練效率[7],因此,本文重點(diǎn)討論單層隱藏層BP神經(jīng)網(wǎng)絡(luò)。該神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成,主要學(xué)習(xí)過(guò)程可分為正向傳播和反向傳播兩部分。其中,在正向傳播時(shí),樣本數(shù)據(jù)傳入輸入層,經(jīng)過(guò)正向傳播至隱藏層,以同樣方式再傳播至輸出層,并在輸出端輸出實(shí)際結(jié)果,神經(jīng)網(wǎng)絡(luò)的初始權(quán)值在正向傳播的過(guò)程中不產(chǎn)生變化,若實(shí)際結(jié)果與期望值的誤差沒(méi)有達(dá)到標(biāo)準(zhǔn),則誤差由輸出層開(kāi)始進(jìn)入反向傳播過(guò)程。各層各個(gè)節(jié)點(diǎn)的權(quán)值通過(guò)梯度下降算法進(jìn)行更新,直至將所有節(jié)點(diǎn)的權(quán)值更新完畢,再次進(jìn)行正向傳播。通過(guò)反復(fù)的正向傳播和反向傳播使得各個(gè)節(jié)點(diǎn)的權(quán)值得到不斷的修正,這2個(gè)過(guò)程一直循環(huán)交替進(jìn)行,直到誤差減少至設(shè)定的范圍內(nèi),或者達(dá)到迭代次數(shù)為止。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
4 油氣層敏感性評(píng)價(jià)實(shí)例分析
本文原始數(shù)據(jù)來(lái)源于某油田巖石實(shí)驗(yàn),其中油氣層水敏性主要影響因素為:泥質(zhì)含量、石英含量、蒙脫石含量、伊-蒙含量、膠結(jié)物總量、粒度中值、分選系數(shù)、孔隙度、滲透率、總礦化度[8]。針對(duì)油氣層敏感性中水敏指數(shù)進(jìn)行評(píng)價(jià),部分訓(xùn)練樣本見(jiàn)表1。
對(duì)訓(xùn)練樣本集進(jìn)行數(shù)據(jù)離散化處理,使用隨機(jī)化算法打亂樣本集順序后,選取處理后樣本數(shù)量的75%為訓(xùn)練樣本,剩余25%為測(cè)試樣本。計(jì)算訓(xùn)練樣本中特征的信息增益與信息增益率,構(gòu)建C4.5決策樹(shù)模型。再將訓(xùn)練樣本進(jìn)行數(shù)據(jù)歸一化作為BP神經(jīng)網(wǎng)絡(luò)的輸入層,利用信息增益對(duì)隨機(jī)初始化的權(quán)值進(jìn)行加權(quán)處理,閾值初始化為0。將處理后的權(quán)值導(dǎo)入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,誤差達(dá)到標(biāo)準(zhǔn)后,輸出評(píng)價(jià)模型,使用測(cè)試樣本檢測(cè)評(píng)價(jià)模型的準(zhǔn)確率。采用完全相同的網(wǎng)絡(luò)結(jié)構(gòu)和初始閾值構(gòu)建BP神經(jīng)網(wǎng)絡(luò),使用基于隨機(jī)初始化方法初始化權(quán)值。以相同的數(shù)據(jù)集進(jìn)行迭代訓(xùn)練,并對(duì)比各實(shí)驗(yàn)結(jié)果。平均實(shí)驗(yàn)結(jié)果見(jiàn)表2。
從表2可以看出,基于決策樹(shù)的初始化方法平均初始誤差為2.36,低于隨機(jī)初始化方法的初始誤差;訓(xùn)練完成后,分類精度提升了1.8%,提升幅度不大,同時(shí)訓(xùn)練時(shí)間有略微下降。實(shí)驗(yàn)過(guò)程中,對(duì)基于決策樹(shù)算法的權(quán)值初始化方法與隨機(jī)初始化方法的訓(xùn)練誤差進(jìn)行對(duì)比,對(duì)比繪制結(jié)果如圖5所示。
由圖5的訓(xùn)練誤差曲線可以看出,基于決策樹(shù)算法的權(quán)值初始化方法的初始訓(xùn)練誤差小于傳統(tǒng)隨機(jī)初始化方法,并優(yōu)先到達(dá)誤差最小值。
在此基礎(chǔ)上,研究得出結(jié)論,基于決策樹(shù)算法的BP神經(jīng)網(wǎng)絡(luò)權(quán)值初始化方法優(yōu)于隨機(jī)初始化方法,主要表現(xiàn)在初始誤差相對(duì)較小,模型的分類精度得到提高。同時(shí),研究表明該方法增強(qiáng)了BP神經(jīng)網(wǎng)絡(luò)的收斂能力,提高了學(xué)習(xí)的速度。
5 結(jié)束語(yǔ)
本文提出基于決策樹(shù)算法的BP神經(jīng)網(wǎng)絡(luò)權(quán)值初始化方法,并與傳統(tǒng)隨機(jī)初始化方法在油氣層敏感性評(píng)價(jià)實(shí)驗(yàn)中進(jìn)行了對(duì)比。結(jié)果表明, 以該方法初始化權(quán)值的BP神經(jīng)網(wǎng)絡(luò)初始誤差相對(duì)較小,評(píng)價(jià)準(zhǔn)確率更高,具有一定的實(shí)用性。同時(shí),對(duì)于本文方法的研究?jī)?yōu)越性,則可概述為:
(1)決策樹(shù)算法可以評(píng)估特征的區(qū)分能力,使得初始權(quán)值更為合理。
(2)大概率避開(kāi)了局部極小值點(diǎn)。
參考文獻(xiàn)
[1]劉鯖潔,陳桂明,劉小方,等.BP神經(jīng)網(wǎng)絡(luò)權(quán)重和閾值初始化方法研究[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,35(6):137-141.
[2]范業(yè)仙,葉茂枝.BP神經(jīng)網(wǎng)絡(luò)初始化方法研究[J].韶關(guān)學(xué)院學(xué)報(bào),2013,34(12):18-21.
[3]墨蒙,趙龍章,龔嬡雯,等.基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)研究應(yīng)用[J].現(xiàn)代電子技術(shù),2018,41(9):41-44.
[4]馮非凡,武雪玲,牛瑞卿,等.粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的滑坡敏感性評(píng)價(jià)[J].測(cè)繪科學(xué),2017,42(10):170-175.
[5]李愛(ài)軍,羅四維,劉蘊(yùn)輝,等.基于熵準(zhǔn)則的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)方法(英文)[J].復(fù)旦學(xué)報(bào)(自然科學(xué)版),2004,43(5):721-724,728.
[6]苗煜飛,張霄宏.決策樹(shù)C4.5算法的優(yōu)化與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2015,51(13):255-258,270.
[7]焦斌,葉明星.BP神經(jīng)網(wǎng)絡(luò)隱層單元數(shù)確定方法[J].上海電機(jī)學(xué)院學(xué)報(bào),2013,16(3):113-116,124.
[8]樊世忠,鄂捷年,周大晨,等.鉆井液完井液及保護(hù)油氣層技術(shù)[M].東營(yíng):石油大學(xué)出版社,1996.