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