999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于粒子群算法的BP神經網絡優化技術

2015-12-23 00:59:14張德慧張德育劉清云呂艷輝
計算機工程與設計 2015年5期

張德慧,張德育,劉清云,呂艷輝

(沈陽理工大學 信息科學與工程學院,遼寧 沈陽110159)

0 引 言

BP神經網絡在預測領域的研究越來越廣泛、越來越深入,并且取得了較好的應用效果[1]。例如:文獻 [2]采用BP神經網絡對臨界熱熔進行預測,構建了新型的神經網絡模型,具有很快的收斂速度并且解決了非線性問題;文獻[3]提出了一種IVL-BP神經網絡方法來預測短期供給貸款的風險;文獻 [4]采用人工神經網絡模型預測麻醉患者所用的藥物總量,準確率在95%以上,預測效果非常好。

BP神經網絡存在易受初始權值、學習速率、動量因子等參數影響,而通過高強度的訓練方式會產生 “過擬合”現象,影響網絡的泛化能力的問題,因此多次訓練的結果相差很大,有時甚至不會收斂。此外,收斂速度緩慢和易陷入局部極小值也是BP 神經網絡的常見缺陷,針對這一點,研究者們給出了不同的改進方法。如文獻 [5]采用改進的BP神經網絡對銀行資金的早期風險給予警告,其改進方法包括利用olmogorov定理和試湊法來確定隱含層的節點數;在原Sigmoid函數基礎上加入常數項來構造轉移函數;增加動量項,動量因子定義在0與1 之間;根據權值調節情況來改變學習速率等。上述改進方法使訓練速度和預測精度都有所提高,但仍避免不了易陷入局部極小值的問題。文獻 [6]提出了一種基于蟻群優化算法來優化BP神經網絡的方法,并用于預測煤炭的融化溫度,蟻群算法是一種優化算法,當訓練曲面出現多峰狀態時,蟻群算法通過信息素的調整,使BP神經網絡跳出局部最優解,但是該方法的訓練速度并沒有得到明顯提高。文獻 [7]采用遺傳算法來優化BP神經網絡,并用于預測工廠電流功率。遺傳算法是一種具有全局優化能力的群組優化算法,能夠提高預測精度,但不能兼顧到局部極小的問題。文獻 [8]提出了利用粒子群算法 (particle swarm optimization,PSO)來優化BP神經網絡的方法,并用于巖石的識別,該方法避免了局部極小值的缺陷,但訓練速度仍有待提高。

基于目前研究現狀,本文提出一種利用改進的PSO 來優化BP神經網絡的方法。對PSO 進行改進,提高它的收斂速度;用改進的PSO 得到的最優權值訓練BP神經網絡;將此BP神經網絡模型用于預測遺傳高血壓的患病年齡。通過實驗仿真,將改進的BP神經網絡用于預測遺傳高血壓的年齡,對訓練數據進行約簡和歸一化,提高BP神經網絡的訓練速度,仿真結果表明訓練效果理想。

1 PSO 算法及改進

PSO 算法的基本思想是通過追隨當前搜索到的最優值尋找全局最優,即從隨機解出發,通過迭代尋找最優解,通過適應度來評價解的品質。PSO 算法沒有過多參數需要調整,具有易實現、精度高、收斂快等優點,在解決實際問題中展示了其優越性,如函數優化、神經網絡訓練、模糊系統控制等。

1.1 基本PSO 算法

PSO 算法定義及算法描述請參見文獻 [9]。

假設在一個D 維的目標搜索空間中,有m 個粒子組成一個群體,其中第i 個粒子的位置向量記為Xi=(Xi1,Xi2,......XiD),i=1,2,…,m,速度向量記為Vi= (Vi1,Vi2,......ViD),該粒子迄今為止搜索到的最優位置記為Pi= (Pi1,Pi2,......PiD),整個粒子群 搜索到的最優位置記為Pg= (Pg1,Pg2,......PgD),則粒子更新公式如下所示

當Vid>Vmax時,取Vid=Vmax,當Vid<-Vmax時,取Vid=-Vmax。

其中,i=1,2,…,m,d=1,2,…,D,加速常數c1和c2為非負數,r1和r2服從 [0,1]上的均勻分布隨機數;Xid(t)是第i個粒子的當前位置,Pid是第i個粒子迄今為止搜索到的最優位置,Pgd是整個粒子群搜索到的最優位置,Vid是第i 個粒子的當前速度,Vid∈[-Vmax,Vmax],Vmax為最大限制速度,是非負數[10]。PSO 算法中粒子的迭代位置變化如圖1所示。

1.2 PSO 算法的改進

通常,PSO 算法中所有粒子都是由全局最好位置指導并在整個種群中搜索,然而實驗表明種群的中間粒子往往比全局最好位置更容易得到全局最優位置[11]。為此本文在PSO 算法中引入慣性因子σ,保證粒子下一刻速度是在前一刻速度基礎上迭代的,這樣就能使速度的變化連續,更準確的追蹤種群中的最優粒子位置。下面定義粒子速度更新公式如下所示

圖1 粒子位置更新

式中:加速因子c1和c2代表了粒子向個體極值和全局極值推進的隨機加速權值。慣性因子的引入使PSO 算法的性能得到很大提高,成功解決了很多實際問題,這里將加入慣性因子的PSO 算法稱為帶慣性項的粒子群算法。

探測是指粒子在新方向上進行探索的程度,開發是指粒子繼續原先軌跡進行搜索的程度,控制算法的探測和開發的各自比例,可使其達到更好的優化效果。因此本文在帶慣性項的粒子群算法基礎上,引入隨機變化的加速常數,動態改變探測和開發的比例,使其盡快找到全局最優位置。現定義加速常數c1和c2為式 (4)、式 (5)所示

式中:random (a)和random (b)都是系統隨即生成的隨機數,t、Tmax分別是當前進化代數和最大進化代數。最后的改進算法稱為引入慣性項和隨機加速常數的粒子群算法。

1.3 改進PSO 算法流程

引入慣性項和隨機加速常數的粒子群算法流程如圖2所示。

(1)初始化,設定Tmax,在空間Rn中隨機產生兩個隨機數a和b,用來改變加速常數;同時隨機生成m 個粒子x1,x2,…,xm,組成初始種群X(t),粒子初始位移v1,v2,…,vs,組成位移矩陣V(t)。

(2)計算每個粒子的適應值,評價種群X(t)。

(3)比較粒子的適應值和自身最優值pBest。如果粒子的當前值比pBest 小,則將當前值賦給pBest,并設pBest位置為n維空間中當前位置。

(4)比較粒子適應值與種群最優值,如果當前值比gBest更小,則將當前值賦給gBest。

(5)按上面粒子更新式 (2)~式 (5)更新粒子的速度和位置方向,產生新種群。

圖2 改進PSO 算法流程

(6)判斷是否滿足迭代次數或評價值是否達到給定精度,若滿足條件,則結束尋優,否則繼續迭代。

2 BP神經網絡

本文擬采用引入動量項的BP神經網絡,它能夠較好解決訓練過程振蕩、收斂速度緩慢等問題。在簡要介紹傳統BP神經網絡的基礎上,介紹引入動量項的BP神經網絡。

傳統BP神經網絡拓撲結構包括輸入層、隱含層和輸出層3部分[12],隱含層可以是一層或多層,各層的神經元數可以不同,相鄰層節點間通過權值連接。圖3為含單隱含層的BP神經網絡結構,輸入向量、隱含層輸出向量、輸出層輸出向量、期望輸出向量、輸入層到隱含層之間的權值矩陣及隱含層到輸出層之間的權值矩陣的定義見文獻 [13]。

當網絡輸出與期望輸出不相等時,存在輸出誤差,而通過調節權值可以使輸出誤差盡可能小,因此,在訓練時,輸出誤差越小,網絡預測就越準確。

與傳統BP神經網絡相比,引入動量項的BP神經網絡僅在權值調整部分有所區別。引入動量項的網絡在調整權值過程中,不僅要考慮誤差的作用,還要考慮誤差曲面的變化趨勢,當誤差曲面出現驟然起伏時,應減少震蕩趨勢,以提高訓練速度。

圖3 三層BP神經網絡結構

若X 表示某層輸入向量,W 表示某層權矩陣,則含有動量項的權值調節公式為

式中:η——學習速率,δ——誤差信號,α ∈(0,1)為動量系數,由該公式可知,學習速率越大,權值的動態改變就越大。在實際應用中,合適的學習速率不但可以提高誤差精度而且可以減少網絡振蕩[14]。帶動量項的BP 神經網絡流程如圖4所示。

(1)參數初始化。對權值矩陣W 、V 隨機賦值,樣本計數器p、訓練次數計數器q為1,輸出誤差E 為0,學習速率η為0到1之間的數,誤差精度Emin為正的小數。

(2)輸入訓練樣本對,計算各層輸出。

(3)計算網絡輸出誤差,設有P 對訓練樣本,網絡對不同的樣本有不同的誤差,其計算公式為

(5)調整各層權值,權值調整引入動量項αΔW(t-1)。

(6)檢查是否完成一次訓練,若p<P,計數器p和q分別加1后,繼續訓練,否則檢查網絡輸出誤差是否達到要求或是否達到設定的迭代次數,即若滿足Ep<Emin,結束訓練,否則返回繼續訓練。

3 PSO 優化BP神經網絡及其應用

3.1 PSO 優化BP神經網絡

BP神經網絡常用的學習方法是梯度下降法,該方法的缺點是易陷入局部極值點,這是由于在整個學習過程中,沒有引入任何額外參數,只是根據訓練樣本對初始權值和閾值進行調整,因此權值的好壞直接影響到整個算法的性能。鑒于此,本文把改進的PSO 應用于BP 神經網絡的訓練中,通過優化神經網絡的連接權值,來解決BP神經網絡學習穩定性差、可靠性低與易陷入局部極小的問題,同時能夠提高BP神經網絡的泛化能力。

圖4 帶動量項的BP神經網絡流程

用改進的PSO 算法訓練BP 神經網絡時,粒子群位置向量元素是BP神經網絡的全部連接權值。對位置向量進行初始化,利用改進的PSO 算法尋優,以均方誤差最小作為尋優目標,將得到的全局最優位置作為BP 神經網絡的權值。

利用式 (7)計算每個粒子的適應值J

式中:yk——BP 神經網絡的實際輸出,tk ——目標輸出,m——輸出神經元個數,n——訓練樣本的數目。下面給出利用改進的PSO 算法來優化BP神經網絡的步驟:

(1)定BP神經網絡的結構,如a-b-c。

(2)種群參數初值:種群數目N ;速度向量維數D =a×b+b×c;最大迭代代數為Tmax,慣性權重W ,最大速度Vmax,加速常數c1和c2等,同時隨機確定粒子的初始位置矢量和速度矢量。這樣,每個粒子有一個初始位置,所有粒子中最好的位置為個體極值。

(3)設置加速因子c1和c2。為達到粒子在整個搜索空間移動和提高最優解收斂速率的目的,引入隨機變化的加速常數c1 和c2,使之隨進化代數線性改變,即按式 (4)和式 (5)計算c1和c2。

(4)確定適應度函數。按式 (7)計算每個粒子的適應度函數值Ji,并對個體進行評價。評價分兩個步驟:①把最小的適應度函數值確定為粒子的個體極值,②把個體極值最小的粒子確定為全局極值。因此,算法迭代停止時適應度最小的粒子對應的位置,即為問題所求的最優解。

(5)速度與位置初始化。隨機生成m 個個體,每個個體包括兩部分,一部分是粒子的速度矩陣,另一部分是粒子的位置矩陣。將粒子群中每個粒子位置參數設為 [-1,1]間的隨機數。

(6)以粒子的當前最佳位置作為迭代點,進行迭代。(7)根據式 (2)~式 (5)更新粒子的速度和位置方向,產生新的粒子群。

(8)排除速度和位置越界的粒子,并進行速度和位置的更新。即:

若Vid>Vmax,則Vid=Vmax;若Vid<-Vmax,則Vid=Vmax;

若Xid>Xmax,則Xid=Xmax;若Xid<Xmin,則Xid=Xmin。

其中,Vmax、Xmax、Xmin分別是用戶自定義的最大速度、最大位置和最小位置,均為常數。

(9)具備下列條件之一停止迭代:迭代次數達到最大的預設值;誤差精度滿足設定值。否則跳轉到步驟 (7)。

(10)生成最優解。迭代停止后,pgd 的值即為全局最優解,即BP神經網絡的權值與閾值,可將上述最優解代入BP神經網絡模型中進行訓練學習。

在基于改進的PSO 來優化BP 神經網絡的算法中,是將BP神經網絡的權值作為粒子群向量的各元素值。計算粒子的適應度時,采用的是BP算法的前向傳播來計算。粒子的適應度函數的定義,也是根據BP 算法的均方誤差得來的。粒子群優化算法避免了梯度下降法中要求函數可微、對函數求導的過程。具體流程如圖5所示。

3.2 遺傳高血壓預測

下面將優化的BP神經網絡用于遺傳高血壓的預測中。本文選用河北省湯陰縣醫療管理系統中的健康體檢信息,利用SQL 語言對存儲在Oracle 10g 中的信息進行篩選處理,統計到該地區患有遺傳高血壓的人數為1162人,通過對遺傳高血壓的訓練樣本進行訓練,利用BP神經網絡來預測帶有遺傳高血壓因子的兒童多少歲會患此病。

3.2.1 數據約簡

在實際工程應用中,都不同程度地涉及到不確定性因素和不完備信息的處理,如果將這些數據全部作為樣本輸入神經網絡,必將影響程序的訓練結果,為解決這一問題,首先要進行數據約簡。

本文采用Rosetta軟件作為數據約簡工具,處理的數據為遺傳高血壓的訓練樣本,其中輸入數據的相關屬性包括:性別BRD004、文化程度BRD007、體重TJ010、飲食TJ023、吸煙TJ025、飲酒TJ028、低壓值TJ007和高壓值TJ008,輸出數據為患高血壓年齡。

圖5 改進的PSO 優化BP神經網絡的流程

首先將數據導入Rosetta,其次進行數據補齊,然后進行數據離散化,最后進行數據約簡。數據約簡主要有兩種方法,即遺傳算法和Johnson算法,本文采用是第二種方法。其約簡結果如圖6 所示。經數據約簡去掉兩個屬性,最終屬性為性別、文化程度、體重、飲食、飲酒和低壓值。

圖6 數據約簡結果

3.2.2 數據歸一化

在進行神經網絡預測之前,要對原始樣本數據進行歸一化、尺度變換處理,通過消除奇異數據,歸納同一樣本數據統計分布特性,來加快網絡學習和計算的收斂速度。此外,對于預測值,由于其變化幅度較大,不宜直接作為神經網絡的輸出,需要進行反歸一化處理。

本文使用式 (8)對輸入輸出數據進行歸一化處理,這種數據預處理方式適合BP神經網絡

式中:x——沒有歸一化的數據,x′——數據歸一化后的結果,xmin——輸入數據中最小的數,xmax——輸入數據中最大的數。

3.2.3 BP網絡結構設計

輸入層和輸出層節點數與訓練樣本息息相關,這主要依賴于所應用的領域。由數據預處理部分可知,數據約簡后剩下性別、文化程度、體重、飲食、飲酒和低壓值這6個屬性,由此可知,輸入層節點的個數為6,而輸出數據為患高血壓的年齡,所以輸出層的神經元個數是1。由于本文采用的是單隱含層的BP網絡,需要確定隱含層節點的個數。

目前,對于確定最佳的隱節點數還沒有一個標準公式可以計算,可以采用試湊法確定隱節點數的大致范圍[15],然后通過反復訓練逐步確定。本文根據試湊法得到隱節點數的范圍是 (3.6,12.64),在此基礎上,隱節點數從3開始進行嘗試,依次向上加1,直到訓練到20,得到最優的隱節點數是15,故網絡結構為6-15-1。

3.2.4 高血壓預測

神經網絡的結構確定為6-15-1,隱含層和輸出層的轉移函數均采用Sigmoid 函數。其中,最大訓練次數為10000,目標誤差為0.005,初始學習速率為0.15,動量因子為0.90,以上各參數均由程序反復實驗而獲得最優值。鑒于文章篇幅有限,本文只列出一部分數據,訓練數據見表1,此數據為歸一化之前的數據,歸一化和反歸一化由程序編寫,不需人工處理。

表1 部分訓練數據

初始化粒子數N=30,函數維數D=121,最大迭代次數為1500,最大速度為3,慣性權重為0.729,適應度函數如式 (7)所示。執行改過的PSO 算法得到最優的權值返回給BP神經網絡作為BP的初始權值。

將全部訓練數據帶入神經網絡進行訓練,隨著訓練次數的增加,訓練誤差會逐漸減小,當小到文中規定的訓練精度時訓練結束,訓練結束后就可以進行預測,得到的預測數據見表2。

本文中采用的預測方法是在BP神經網絡結構不變的情況下,輸入預測數據,預測出其相應的發病年齡,與每次進行預測都存在一個誤差,可形成誤差曲線,預測誤差曲線如圖7所示,其中黑線代表網絡實際輸出,灰線代表預測輸出。本文分別使用傳統的BP神經網絡和改進的BP神經網絡進行預測,它們的預測值在表3中給出,改進后的BP神經網絡明顯比傳統BP神經網絡預測精度高,誤差控制在1%以內,而傳統BP的誤差在5%以內。由此可以推斷,可以此來預測未發病的人群,進行進一步推廣。

表2 預測數據

圖7 預測誤差曲線

表3 傳統與改進BP神經網絡預測值

4 結束語

本文針對傳統BP神經網絡存在學習效率低、收斂速度慢和容易陷入局部極小值的問題,在傳統BP算法中引入改進的PSO 算法,有效地避免了陷入局部極值問題;在此基礎上,利用改進的PSO 算法得到的最優權值訓練BP 神經網絡,同時采用Rosetta軟件進行數據約簡,進行網絡結構優化,提高了訓練速度和預測精度。并將此方法應用到遺傳高血壓的患病年齡預測系統中。

由預測遺傳高血壓年齡的仿真實驗結果可知,利用改進的PSO 來優化BP 神經網絡,其預測結果迭代次數少、預測時間短、預測精度高,因此將優化的BP神經網絡用于遺傳高血壓的預測是切實可行的。

[1]Zhang Minli,Qiao Shanshan.Research on the application of artificial neural networks intender offer for construction projects[J].Physics Procedia,2012,24:1781-1788.

[2]Wei Huiming,Su GH,Qiu SZ,et al.Applications of genetic neural network for prediction of critical heat flux [J].International Journal of Thermal Sciences,2010,49 (1):143-152.

[3]Wang Yongli,Niu Dongxiao,Ji Li.Short-term power load forecasting based on IVL-BP neural network technology [J].Systems Engineering Procedia,2012,11 (4):168-174.

[5]Tuo Zhong,Wang liyuan.Improved BP neural network’s application in the bank early warning [J].Procedia Engineering,2011,11 (1):216-221.

[6]Liu YP,Wu MG,Qian JX.Predicting coal ash fusion temperature based on its chemical composition using ACO-BP neural network [J].Thermochimica Acta,2007,454 (1):64-68.

[7]Liu Ke,Guo Wenyan,Shen Xiaoliu.Research on the forecast model of electricity power industry loan based on GA-BP neural network [J].Energy Procedia,2012,14:1918-1924.

[8]Zhan Yunjun,Wu Yanyan.Recognition of altered rock based on improved particle swarm neural network [G].LNCS 5551:Advances in Neural Networks-ISNN,2009:149-155.

[9]Lei Wen.The evaluation of BP-ISP strategy alignment degree with PSO-based ANN [G].LNCS 4493:Advances in Neural Networks-ISNN,2007:284-291.

[10]Zhao Chenglin,Sun Xuebin,Sun Songlin,et al.Fault diagnosis of sensor by chaos particle swarm optimization algorithm and support vector machine[J].Expert Systems with Applications,2011,38 (8):9908-9912.

[11]Hu Baokun,LiuYusheng,Gao Shuming,et al.Parallel relevance feedback for 3D model retrieval based on fast weightedcenter particle swarm optimization [J].Pattern Recognition,2010,43 (8):2950-2961.

[12]Eric Wong W,Yu Qi.BP neural network-based effective fault localization [J].Internatio-nal Journal of Software Engineering and Knowledge Engineering,2009,19 (4):573-597.

[13]Wu Shunxiang,Luo Delin,Zhou Zhiwen.A kind of BP neural network algorithm based on grey interval[J].International Journal of Systems Science,2011,42 (3):389-396.

[14]Li Mingshun,Chen Wencui.Application of BP neural network algorithm in sustainable development of highway construction projects[J].Physics Procedia,2012,25:1212-1217.

[15]Jiang Lihong,Wang Aiguo,Tian Naiyuan et al.BP neural network of continuous casting technological parameters and secondary dendrite arm spacing of spring steel[J].Journal of Iron and Steel Research,2011,18 (8):25-29.

主站蜘蛛池模板: 欧美精品不卡| 国产福利微拍精品一区二区| 香蕉eeww99国产在线观看| www中文字幕在线观看| 91免费国产高清观看| 日韩在线2020专区| 日本在线视频免费| 狠狠干欧美| 日韩精品毛片| 午夜综合网| 奇米精品一区二区三区在线观看| 国产亚洲精品无码专| 亚洲美女一区| a毛片免费观看| 亚洲日韩图片专区第1页| 欧美成人综合在线| 亚洲一区二区在线无码| 91啦中文字幕| 日本欧美视频在线观看| 免费中文字幕一级毛片| 黄色三级网站免费| 欧美国产日本高清不卡| 欧美在线精品怡红院| 久久特级毛片| 国产精品99一区不卡| 亚洲一级毛片免费观看| 欧美日韩国产在线播放| 97成人在线观看| 91精品专区国产盗摄| 国产成人综合日韩精品无码首页 | 狠狠亚洲婷婷综合色香| 日韩在线第三页| 不卡视频国产| 久久香蕉国产线看观看亚洲片| 波多野结衣视频一区二区| 91精品视频网站| 激情午夜婷婷| 波多野结衣一区二区三区四区| 精品国产亚洲人成在线| 国产毛片不卡| a天堂视频| 人人艹人人爽| 国产一线在线| 免费高清a毛片| a亚洲天堂| 久久毛片基地| 精品自窥自偷在线看| 亚洲aⅴ天堂| 色天天综合久久久久综合片| 亚洲精选无码久久久| 沈阳少妇高潮在线| 久久综合激情网| 99色亚洲国产精品11p| 呦系列视频一区二区三区| 一本色道久久88| 伊人婷婷色香五月综合缴缴情| 秋霞午夜国产精品成人片| 5555国产在线观看| 欧美成人精品高清在线下载| 亚洲日韩高清无码| 欧美精品v| 亚洲日韩第九十九页| 一本久道热中字伊人| 亚洲av色吊丝无码| 四虎国产永久在线观看| 天天综合网色中文字幕| 99国产精品国产| 香蕉视频在线观看www| 黄色片中文字幕| 19国产精品麻豆免费观看| 素人激情视频福利| 久久婷婷国产综合尤物精品| 欧美天天干| 欧美午夜久久| 精品人妻一区无码视频| 欧美日韩高清在线| 欧美 亚洲 日韩 国产| 国产小视频a在线观看| 99中文字幕亚洲一区二区| 国产aⅴ无码专区亚洲av综合网| 欧美激情视频二区| 在线免费不卡视频|