(整理)利用matlab仿真的BP-ANN分類器設(shè)計(jì)_第1頁
(整理)利用matlab仿真的BP-ANN分類器設(shè)計(jì)_第2頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、BP-ANN分類器設(shè)計(jì)1. 引言從深層意義上看,模式識別和人工智能本質(zhì)都是在解決如何讓用機(jī)器模擬人腦認(rèn)知的過程。一方面,從需要實(shí)現(xiàn)的功能出發(fā),我們可以將目標(biāo)分解為子功能,采用自定而下的的分解法實(shí)現(xiàn)我們需要的擬合算法。而另一方面,無論人腦多么復(fù)雜,人類的認(rèn)知過程都可以認(rèn)為若干個神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò)在一定機(jī)制下經(jīng)由復(fù)雜映射產(chǎn)生的結(jié)果。從神經(jīng)元的基本功能出發(fā),采用自下而上的設(shè)計(jì)方法,從簡單到復(fù)雜,也是實(shí)現(xiàn)擬合算法的一條高效途徑。1.1什么是人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)是一種應(yīng)用類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進(jìn)行信息處理的數(shù)學(xué)模型。在工程與學(xué)術(shù)界也常

2、直接簡稱為神經(jīng)網(wǎng)絡(luò)或類神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是一種運(yùn)算模型,由大量的節(jié)點(diǎn)(或稱神經(jīng)元)之間相互聯(lián)接構(gòu)成。每個節(jié)點(diǎn)代表一種特定的輸出函數(shù),稱為激勵函數(shù)(activationfunction)。每兩個節(jié)點(diǎn)間的連接都代表一個對于通過該連接信號的加權(quán)值,稱之為權(quán)重,這相當(dāng)于人工神經(jīng)網(wǎng)絡(luò)的記憶。網(wǎng)絡(luò)的輸出則依網(wǎng)絡(luò)的連接方式,權(quán)重值和激勵函數(shù)的不同而不同。而網(wǎng)絡(luò)自身通常都是對自然界某種算法或者函數(shù)的逼近,也可能是對一種邏輯策略的表達(dá)。人工神經(jīng)網(wǎng)絡(luò)是由大量處理單元互聯(lián)組成的非線性、自適應(yīng)信息處理系統(tǒng)。它是在現(xiàn)代神經(jīng)科學(xué)研究成果的基礎(chǔ)上提出的,試圖通過模擬大腦神經(jīng)網(wǎng)絡(luò)處理、記憶信息的方式進(jìn)行信息處理。人工神經(jīng)網(wǎng)絡(luò)

3、具有四個基本特征:(1)非線性非線性關(guān)系是自然界的普遍特性。大腦的智慧就是一種非線性現(xiàn)象。人工神經(jīng)元處于激活或抑制二種不同的狀態(tài),這種行為在數(shù)學(xué)上表現(xiàn)為一種非線性關(guān)系。具有閾值的神經(jīng)元構(gòu)成的網(wǎng)絡(luò)具有更好的性能,可以提高容錯性和存儲容量。(2)非局限性一個神經(jīng)網(wǎng)絡(luò)通常由多個神經(jīng)元廣泛連接而成。一個系統(tǒng)的整體行為不僅取決于單個神經(jīng)元的特征,而且可能主要由單元之間的相互作用、相互連接所決定。通過單元之間的大量連接模擬大腦的非局限性。聯(lián)想記憶是非局限性的典型例子。(3)非常定性人工神經(jīng)網(wǎng)絡(luò)具有自適應(yīng)、自組織、自學(xué)習(xí)能力。神經(jīng)網(wǎng)絡(luò)不但處理的信息可以有各種變化,而且在處理信息的同時,非線性動力系統(tǒng)本身也在

4、不斷變化。經(jīng)常采用迭代過程描寫動力系統(tǒng)的演化過程。(4)非凸性一個系統(tǒng)的演化方向,在一定條件下將取決于某個特定的狀態(tài)函數(shù)。例如能量函數(shù),它的極值相應(yīng)于系統(tǒng)比較穩(wěn)定的狀態(tài)。非凸性是指這種函數(shù)有多個極值,故系統(tǒng)具有多個較穩(wěn)定的平衡態(tài),這將導(dǎo)致系統(tǒng)演化的多樣性。1.2 BP-ANN的優(yōu)缺點(diǎn)BP-ANN的優(yōu)點(diǎn),主要表現(xiàn)在三個方面:第一,具有自學(xué)習(xí)功能。網(wǎng)絡(luò)能通過學(xué)習(xí)帶正確答案的實(shí)例集自動提取“合理的”求解規(guī)則,即具有自學(xué)習(xí)能力。自學(xué)習(xí)功能對于預(yù)測有特別重要的意義。預(yù)期未來的人工神經(jīng)網(wǎng)絡(luò)計(jì)算機(jī)將為人類提供經(jīng)濟(jì)預(yù)測、市場預(yù)測、效益預(yù)測,其應(yīng)用前途是很遠(yuǎn)大的。例如實(shí)現(xiàn)圖像識別時,只在先把許多不同的圖像樣板和

5、對應(yīng)的應(yīng)識別的結(jié)果輸入人工神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)就會通過自學(xué)習(xí)功能,慢慢學(xué)會識別類似的圖像。第二,具有聯(lián)想存儲功能。用人工神經(jīng)網(wǎng)絡(luò)的反饋網(wǎng)絡(luò)就可以實(shí)現(xiàn)這種聯(lián)想。第三,具有擬合任何網(wǎng)絡(luò)的的能力。網(wǎng)絡(luò)實(shí)質(zhì)上實(shí)現(xiàn)了一個從輸入到輸出的映射功能,而數(shù)學(xué)理論已證明它具有實(shí)現(xiàn)任何復(fù)雜非線性映射的功能。這使得它特別適合于求解內(nèi)部機(jī)制復(fù)雜的問題。BP-ANN的缺點(diǎn),主要表現(xiàn)在以下幾個方面:第一,BP-ANN算法的學(xué)習(xí)速度很慢。由于BP-ANN算法本質(zhì)上為梯度下降法,而它所要優(yōu)化的目標(biāo)函數(shù)又非常復(fù)雜,因此,必然會出現(xiàn)“鋸齒形現(xiàn)象”這使得BP-ANN算法低效;其次由于存在麻痹現(xiàn)象,由于優(yōu)化的目標(biāo)函數(shù)很復(fù)雜,它必然會在神經(jīng)元

6、輸出接近)或1的情況下,出現(xiàn)一些平坦區(qū),在這些區(qū)域內(nèi),權(quán)值誤差改變很小,使訓(xùn)練過程幾乎停頓;另外,為了使網(wǎng)絡(luò)執(zhí)行BP-ANN算法,不能用傳統(tǒng)的一維搜索法求每次迭代的步長,而必須把步長的更新規(guī)則預(yù)先賦予網(wǎng)絡(luò),這種方法將引起算法低效。第二,網(wǎng)絡(luò)訓(xùn)練失敗的可能性較大。從數(shù)學(xué)角度看,BP-ANN算法為一種局部搜索的優(yōu)化方法,但它要解決的問題為求解復(fù)雜非線性函數(shù)的全局極值,因此,算法很有可能陷入局部極值,使訓(xùn)練失敗;網(wǎng)絡(luò)的逼近、推廣能力同學(xué)習(xí)樣本的典型性密切相關(guān),而從問題中選取典型樣本實(shí)例組成訓(xùn)練集是一個很困難的問題。第三,難以解決應(yīng)用問題的實(shí)例規(guī)模和網(wǎng)絡(luò)規(guī)模間的矛盾。這涉及到網(wǎng)絡(luò)容量的可能性與可行性的

7、關(guān)系問題,即學(xué)習(xí)復(fù)雜性問題;第四,網(wǎng)絡(luò)結(jié)構(gòu)的選擇尚無一種統(tǒng)一而完整的理論指導(dǎo),一般只能由經(jīng)驗(yàn)選定。為此,有人稱神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)選擇為一種藝術(shù)。而網(wǎng)絡(luò)的結(jié)構(gòu)直接影響網(wǎng)絡(luò)的逼近能力及推廣性質(zhì)。因此,應(yīng)用中如何選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)是一個重要的問題;第五,新加入的樣本要影響已學(xué)習(xí)成功的網(wǎng)絡(luò),而且刻畫每個輸入樣本的特征的數(shù)目也必須相同。第六,BP-ANN網(wǎng)絡(luò)的預(yù)測能力(泛化能力)與訓(xùn)練能力(逼近能力、學(xué)習(xí)能力)的矛盾。一般情況下,訓(xùn)練能力差時,預(yù)測能力也差,并且一定程度上,隨訓(xùn)練能力地提高,預(yù)測能力也提高。但這種趨勢有一個極限,當(dāng)達(dá)到此極限時,隨訓(xùn)練能力的提高,預(yù)測能力反而下降,即出現(xiàn)所謂“過擬合”現(xiàn)象。此

8、時,網(wǎng)絡(luò)學(xué)習(xí)了過多的樣本細(xì)節(jié),而不能反映樣本內(nèi)含的規(guī)律。13人工神經(jīng)網(wǎng)絡(luò)當(dāng)前的研究熱點(diǎn)1.神經(jīng)網(wǎng)絡(luò)與遺傳算法的結(jié)合這主要體現(xiàn)在以下幾個方面:網(wǎng)絡(luò)連接權(quán)重的進(jìn)化訓(xùn)練;網(wǎng)絡(luò)結(jié)構(gòu)的進(jìn)化計(jì)算;網(wǎng)絡(luò)結(jié)構(gòu)和連接權(quán)重的同時進(jìn)化;訓(xùn)練算法的進(jìn)化設(shè)計(jì)?;谶M(jìn)化計(jì)算的神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)和實(shí)現(xiàn)已在眾多領(lǐng)域得到應(yīng)用,如模式識別、機(jī)器人控制、財(cái)政等,并取得了較傳統(tǒng)神經(jīng)網(wǎng)絡(luò)更好的性能和結(jié)果。但從總體上看,這方面研究還處于初期階段,理論方法有待于完善規(guī)范,應(yīng)用研究有待于加強(qiáng)提高。神經(jīng)網(wǎng)絡(luò)與進(jìn)化算法相結(jié)合的其他方式也有待于進(jìn)一步研究和挖掘。2神經(jīng)網(wǎng)絡(luò)與灰色系統(tǒng)的結(jié)合灰色系統(tǒng)理論是一門極有生命力的系統(tǒng)科學(xué)理論。自1982年華中理工大

9、學(xué)的鄧聚龍教授提出灰色系統(tǒng)后迅速發(fā)展,以初步形成以灰色關(guān)聯(lián)空間為基礎(chǔ)的分析體系,以灰色模型為主體的模型體系,以灰色過程及其生存空間為基礎(chǔ)與內(nèi)的方法體系,以系統(tǒng)分析、建模、預(yù)測、決策、控制、評估為綱的技術(shù)體系。目前,國內(nèi)外對灰色系統(tǒng)的理論和應(yīng)用研究已經(jīng)廣泛開展,受到學(xué)者的普遍關(guān)注。灰色系統(tǒng)理論在在處理不確定性問題上有其獨(dú)到之處,并能以系統(tǒng)的離散時序建立連續(xù)的時間模型,適合于解決無法用傳統(tǒng)數(shù)字精確描述的復(fù)雜系統(tǒng)問題。神經(jīng)網(wǎng)絡(luò)與灰色系統(tǒng)的結(jié)合方式有:神經(jīng)網(wǎng)絡(luò)與灰色系統(tǒng)簡單結(jié)合;串聯(lián)型結(jié)合;用神經(jīng)網(wǎng)絡(luò)增強(qiáng)灰色系統(tǒng);用灰色網(wǎng)絡(luò)輔助構(gòu)造神經(jīng)網(wǎng)絡(luò);神經(jīng)網(wǎng)絡(luò)與灰色系統(tǒng)的完全融合。3神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)的結(jié)合基于

10、神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)的混合系統(tǒng)的基本出發(fā)點(diǎn)立足于將復(fù)雜系統(tǒng)分解成各種功能子系統(tǒng)模塊,各功能子系統(tǒng)模塊分別由神經(jīng)網(wǎng)絡(luò)或?qū)<蚁到y(tǒng)實(shí)現(xiàn)。其研究的主要問題包括:混合專家系統(tǒng)的結(jié)構(gòu)框架和選擇實(shí)現(xiàn)功能子系統(tǒng)方式的準(zhǔn)則兩方面。由于該混合系統(tǒng)從根本上拋開了神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)的技術(shù)限制,是當(dāng)前研究的熱點(diǎn)。把粗集神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)用于醫(yī)學(xué)診斷,表明其相對于傳統(tǒng)方法的優(yōu)越性。4神經(jīng)網(wǎng)絡(luò)與模糊邏輯的結(jié)合模糊邏輯是一種處理不確定性、非線性問題的有力工具。它比較適合于表達(dá)那些模糊或定性的知識,其推理方式比較類似于人的思維方式,這都是模糊邏輯的優(yōu)點(diǎn)。但它缺乏有效的自學(xué)習(xí)和自適應(yīng)能力。而將模糊邏輯與神經(jīng)網(wǎng)絡(luò)結(jié)合,則網(wǎng)絡(luò)中的各個結(jié)

11、點(diǎn)及所有參數(shù)均有明顯的物理意義,因此這些參數(shù)的初值可以根據(jù)系統(tǒng)的模糊或定性的知識來加以確定,然后利用學(xué)習(xí)算法可以很快收斂到要求的輸入輸出關(guān)系,這是模糊神經(jīng)網(wǎng)絡(luò)比單純的神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)所在。同時,由于它具有神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),因而參數(shù)的學(xué)習(xí)和調(diào)整比較容易,這是它比單純的模糊邏輯系統(tǒng)的優(yōu)點(diǎn)所在。模糊神經(jīng)網(wǎng)絡(luò)控制已成為一種趨勢,它能夠提供更加有效的智能行為、學(xué)習(xí)能力、自適應(yīng)特點(diǎn)、并行機(jī)制和高度靈活性,使其能夠更成功地處理各種不確定的、復(fù)雜的、不精確的和近似的控制問題。5神經(jīng)網(wǎng)絡(luò)與小波分析的結(jié)合小波變換是對Fourier分析方法的突破。它不但在時域和頻域同時具有良好的局部化性質(zhì),而且對低頻信號在頻域和對高頻

12、信號在時域里都有很好的分辨率,從而可以聚集到對象的任意細(xì)節(jié)。利用小波變換的思想初始化小波網(wǎng)絡(luò),并對學(xué)習(xí)參數(shù)加以有效約束,采用通常的隨機(jī)梯度法分別對一維分段函數(shù)、二維分段函數(shù)和實(shí)際系統(tǒng)中汽輪機(jī)壓縮機(jī)的數(shù)據(jù)做了仿真試驗(yàn),并與神經(jīng)網(wǎng)絡(luò)、小波分解的建模做了比較,說明了小波網(wǎng)絡(luò)在非線性系統(tǒng)黑箱建模中的優(yōu)越性。小波神經(jīng)網(wǎng)絡(luò)用于機(jī)器人的控制,表明其具有更快的收斂速度和更好的非線性逼近能力。1.4本文解決的問題本文主要完成以下事情:1對給定的樣本集進(jìn)行預(yù)處理并將其隨機(jī)分類為訓(xùn)練集和測試集;2使用訓(xùn)練集分別訓(xùn)練三層和四層BP-ANN神經(jīng)網(wǎng)絡(luò);3使用測試集對已經(jīng)獲得的三層和四層神經(jīng)網(wǎng)絡(luò)的性能分別測試;4比較和分析

13、兩類神經(jīng)網(wǎng)絡(luò)的性能并得出結(jié)論。2. BP人工神經(jīng)網(wǎng)絡(luò)算法2.1BP-人工神經(jīng)網(wǎng)絡(luò)算法BP算法包括兩個方面:信號的前向傳播和誤差的反向傳播。即計(jì)算實(shí)際輸出時按從輸入到輸出的方向進(jìn)行,而權(quán)值和閾值的修正從輸出到輸入的方向進(jìn)行。1輸出量Lk變圖2-1BP網(wǎng)絡(luò)結(jié)構(gòu)圖中:Xj表示輸入層第j個節(jié)點(diǎn)的輸入,j=l,.,M;Wj表示隱含層第i個節(jié)點(diǎn)到輸入層第j個節(jié)點(diǎn)之間的權(quán)值;9表示隱含層第i個節(jié)點(diǎn)的閾值;(x)表示隱含層的激勵函數(shù);Wki表示輸出層第k個節(jié)點(diǎn)到隱含層第i個節(jié)點(diǎn)之間的權(quán)值,i=1,.,q;ak表示輸出層第k個節(jié)點(diǎn)的閾值,k=l,.,L;屮(“)表示輸出層的激勵函數(shù);ok表示輸出層第k個節(jié)點(diǎn)的輸

14、出。(1)信號的前向傳播過程隱含層第i個節(jié)點(diǎn)的輸入net.:i(2-1)(2-2)net-Xwx+0iijjij=1隱含層第i個節(jié)點(diǎn)的輸出y.:=(net)=(瓦wx+0)iijjij=1輸出層第k個節(jié)點(diǎn)的輸入net,:knetk工wy+akiiki=1=Xw(Xkii=1wx+0)+aijjikj=1(2-2)輸出層第k個節(jié)點(diǎn)的輸出ok:ko=屮(net)=V(工)=Vkkkiiki=1wx+0)+aki(/jiki=1j=1丿(2-4)(2)誤差的反向傳播過程誤差的反向傳播,即首先由輸出層開始逐層計(jì)算各層神經(jīng)元的輸出誤差,然后根據(jù)誤差梯度下降法來調(diào)節(jié)各層的權(quán)值和閾值,使修改后的網(wǎng)絡(luò)的最終輸

15、出能接近期望值。對于每一個樣本p的二次型誤差準(zhǔn)則函數(shù)為Ep:E二1才(To)2P2kkk=1(2-5)系統(tǒng)對P個訓(xùn)練樣本的總誤差準(zhǔn)則函數(shù)為:E=2為另(Tkpo)2p=1k=1(2-6)根據(jù)誤差梯度下降法依次修正輸出層權(quán)值的修正量Awk.,輸出層閾值的修正ki隱含層閾值的修正量A0i。量阿,隱含層權(quán)值的修正量叫dEAw=nAa=kidwkki;dE-n人dEAw=nijdwij;dEA6=nid0i(2-7)輸出層權(quán)值調(diào)整公式:AdEAw=nkidwkidnetdEnkdnetdwkkidodEndodnetkkdnetkdwki(2-8)輸出層閾值調(diào)整公式:.dEdEdnetAa=n=nkd

16、adnetdakkk-kdEdo耳dodnetkk-kdnetkdak(2-9)隱含層權(quán)值調(diào)整公式:人dEAw=nijdwijdEdnetnidnetdwijdEdydnetdydnetdwiij(2-10)隱含層閾值調(diào)整公式:dEA6=nid0idEdnetn-=dnetd0iidEdydnet-nird6iiidydnetii(2-11)(Tpop)kkp=1k=1(2-12)dnetkdw=yikidnetk=1卜=Xdadwjk,jdnetdnet.i=1d0i(2-12)又因?yàn)?竺一為另dokdEp=-乙乙(Tp-op)屮(net)wdykkkkiip=1k=1dyi=Q(net)d

17、netiido、/、k=屮(net)dnetkk所以最后得到以下公式:Aw=耳為另(Tp-op)屮(net)ykikkkip=1k=1Aa=耳昱另(Tp-op)屮(net)kkkkp=1k=1Aw=耳為另(Tp-op)屮(net)w(net)xjkkkkiijp=1k=1A0=耳昱另(Tp-op)屮(net)w(net)ip=1k=1kki(2-14)(2-15)(2-16)(2-17)(2-18)(2-19)(2-20)2.2 BP算法的改進(jìn)2.2.1附加動量法附加動量法使網(wǎng)絡(luò)在修正其權(quán)值時,不僅考慮誤差在梯度上的作用,而且考慮在誤差曲面上變化趨勢的影響。在沒有附加動量的作用下,網(wǎng)絡(luò)可能陷入

18、淺的局部極小值,利用附加動量的作用有可能滑過這些極小值。該方法是在反向傳播法的基礎(chǔ)上在每一個權(quán)值(或閾值)的變化上加上一項(xiàng)正比于前次權(quán)值(或閾值)變化量的值,并根據(jù)反向傳播法來產(chǎn)生新的權(quán)值(或閾值)變化。帶有附加動量因子的權(quán)值和閾值調(diào)節(jié)公式為:Aw(k+1)=(1一mc)np+mcAw(k)jijjAb(k+1)=(1-mc)8+mcAb(k)iii其中k為訓(xùn)練次數(shù),mc為動量因子,一般取0.95左右。附加動量法的實(shí)質(zhì)是將最后一次權(quán)值(或閾值)變化的影響,通過一個動量因子來傳遞。當(dāng)動量因子取值為零時,權(quán)值(或閾值)的變化僅是根據(jù)梯度下降法產(chǎn)生;當(dāng)動量因子取值為1時,新的權(quán)值(或閾值)變化則是設(shè)

19、置為最后一次權(quán)值(或閾值)的變化,而依梯度法產(chǎn)生的變化部分則被忽略掉了。以此方式,當(dāng)增加了動量項(xiàng)后,促使權(quán)值的調(diào)節(jié)向著誤差曲面底部的平均方向變化,當(dāng)網(wǎng)絡(luò)權(quán)值進(jìn)入誤差曲面底部的平坦區(qū)時,8i1將變得很小,于是Aw(k+1)=Aw(k),從而防止了Aw=0的出現(xiàn),有助于使網(wǎng)絡(luò)從誤差曲面的局部極小值中跳出。根據(jù)附加動量法的設(shè)計(jì)原則,當(dāng)修正的權(quán)值在誤差中導(dǎo)致太大的增長結(jié)果時,新的權(quán)值應(yīng)被取消而不被采用,并使動量作用停止下來,以使網(wǎng)絡(luò)不進(jìn)入較大誤差曲面;當(dāng)新的誤差變化率對其舊值超過一個事先設(shè)定的最大誤差變化率時,也得取消所計(jì)算的權(quán)值變化。其最大誤差變化率可以是任何大于或等于1的值。典型的取值取1.04。

20、所以,在進(jìn)行附加動量法的訓(xùn)練程序設(shè)計(jì)時,必須加進(jìn)條件判斷以正確使用其權(quán)值修正公式。訓(xùn)練程序設(shè)計(jì)中采用動量法的判斷條件為:0E(k)E(k-1)*1.04me斗0.95E(k)E(k-1),E(k)為第k步誤差平方和。me其它2.2.2自適應(yīng)學(xué)習(xí)速率對于一個特定的問題,要選擇適當(dāng)?shù)膶W(xué)習(xí)速率不是一件容易的事情。通常是憑經(jīng)驗(yàn)或?qū)嶒?yàn)獲取,但即使這樣,對訓(xùn)練開始初期功效較好的學(xué)習(xí)速率,不見得對后來的訓(xùn)練合適。為了解決這個問題,人們自然想到在訓(xùn)練過程中,自動調(diào)節(jié)學(xué)習(xí)速率。通常調(diào)節(jié)學(xué)習(xí)速率的準(zhǔn)則是:檢查權(quán)值是否真正降低了誤差函數(shù),如果確實(shí)如此,則說明所選學(xué)習(xí)速率小了,可以適當(dāng)增加一個量;若不是這樣,而產(chǎn)生了

21、過調(diào),那幺就應(yīng)該減少學(xué)習(xí)速率的值。下式給出了一個自適應(yīng)學(xué)習(xí)速率的調(diào)整公式:1.05耳(k)E(k+1)E(k)n(k+1)=1.04E(k),E(k)為第k步誤差平方和。n(k)其它初始學(xué)習(xí)速率n(o)的選取范圍可以有很大的隨意性。2.2.3動量-自適應(yīng)學(xué)習(xí)速率調(diào)整算法當(dāng)采用前述的動量法時,BP算法可以找到全局最優(yōu)解,而當(dāng)采用自適應(yīng)學(xué)習(xí)速率時,BP算法可以縮短訓(xùn)練時間,采用這兩種方法也可以用來訓(xùn)練神經(jīng)網(wǎng)絡(luò),該方法稱為動量-自適應(yīng)學(xué)習(xí)速率調(diào)整算法。3.實(shí)驗(yàn)流程樣本數(shù)據(jù)讀入隨機(jī)生成訓(xùn)練集參考集并歸一化隨機(jī)生成權(quán)值初值計(jì)算權(quán)值修正量并試探修正系數(shù)隨機(jī)生成權(quán)值初值計(jì)算權(quán)值修正量并試探NA三是否滿足代價

22、減少修正權(quán)值是否滿足代價減少修正權(quán)值四層IBP-ANN1叮是否滿足收斂停:止判定條件一:嚏否滿足收斂停、止判定條件/結(jié)果分析得出結(jié)論圖3-1BP-ANN實(shí)驗(yàn)流程圖其中。輸出層定義表示樣本1,0表示樣本2。每一層的連接權(quán)均為系統(tǒng)隨機(jī)生成。在每一次迭代中,對所有樣本計(jì)算權(quán)值修正量求和,“try”修正量的修正系數(shù)step,當(dāng)滿足代價降低時,才利用權(quán)值修正量和權(quán)值修正系數(shù)對連接權(quán)進(jìn)行修正。隱層節(jié)點(diǎn)數(shù)為人工設(shè)定,當(dāng)神經(jīng)網(wǎng)絡(luò)對測試集的測試正確率不再提高時,判定為最優(yōu)測試性能。實(shí)驗(yàn)迭代次數(shù)為500次。訓(xùn)練樣本和測試樣本的維度都是2*105(2類,訓(xùn)練目標(biāo)分別是1和0)。4. 實(shí)驗(yàn)結(jié)果與分析4.1.樣本歸一化

23、和隱層數(shù)對BP-ANN的影響隱層節(jié)點(diǎn)數(shù)2345678910非歸一化樣本0.55240.47620.78100.76190.75240.77140.73330.76190.6952歸一化樣本0.66670.68570.69520.65710.63810.63810.65710.63810.6571表4-1三層BPANN網(wǎng)絡(luò)對歸一化或非歸一化樣本的分辨正確率隨隱層節(jié)點(diǎn)數(shù)的變化隱層節(jié)點(diǎn)數(shù)2345678910非歸一化樣本0.75240.73330.47620.72380.72380.79050.73330.75240.7905歸一化樣本0.52380.68570.98100.98100.98100.9

24、8100.96190.98100.9619表4-2第一隱層節(jié)點(diǎn)數(shù)為6,四層BPANN網(wǎng)絡(luò)對歸一化或非歸一化樣本的分辨正確率隨第二隱層節(jié)點(diǎn)數(shù)的變化由表4-1,可以得出兩個個結(jié)論:其一,歸一化的樣本隨隱層節(jié)點(diǎn)數(shù)的波動不大,說明樣本歸一化能提高BP-ANN網(wǎng)絡(luò)性能的穩(wěn)定性,并且在節(jié)點(diǎn)數(shù)較小時就能達(dá)到較好的性能。其二,在節(jié)點(diǎn)數(shù)相同時,未經(jīng)處理的樣本數(shù)據(jù)訓(xùn)練產(chǎn)生的BP-ANN分類性能可能更好,因此對于具體的樣本數(shù)據(jù)應(yīng)該具體分析。由表4-2。我們可以清楚的看出,歸一化樣本訓(xùn)練的BP-ANN對測試樣本的分辨成功率明顯提高,平均提高了20%。綜合表4-1和4-2.我們能夠發(fā)現(xiàn)。四層BP-ANN網(wǎng)絡(luò)的綜合性能明

25、顯好于三層的網(wǎng)絡(luò),這也從實(shí)驗(yàn)角度說明多層神經(jīng)網(wǎng)絡(luò)能夠更好的擬合多維非線性映射問題。同時,也應(yīng)該注意到,歸一化的樣本對訓(xùn)練產(chǎn)生的BP-ANN網(wǎng)絡(luò)隨隱層節(jié)點(diǎn)數(shù)和隱層數(shù)均發(fā)生改變,總體來說,歸一化訓(xùn)練樣本在增加三層BP-ANN網(wǎng)絡(luò)穩(wěn)定性的同時降低了分辨能力,但對四層BP-ANN的各方面均產(chǎn)生積極影響。4.2.隱層節(jié)點(diǎn)數(shù)對BP-ANN的影響1st2nd234567891020.59050.60950.87620.63810.62860.63810.63810.68570.638130.91430.70480.63810.63810.68570.65710.67620.97140.961940.9524

26、0.68570.72380.91430.69520.68570.98100.97140.981050.97140.88570.71430.98100.65710.96190.98100.94290.981060.52380.68570.98100.98100.98100.98100.96190.98100.961970.98100.69520.68570.97140.97140.98100.98100.98100.819080.97140.98100.98100.78100.98100.98100.97140.96190.981090.52380.69520.97140.72380.98100

27、.97140.98100.97140.9714100.80950.73330.80000.98100.98100.98100.98100.98100.9810表4-34其中行NN表絡(luò)的為辨正確率隨隱層節(jié)點(diǎn)數(shù)表換由表4-3,我們可以得出結(jié)論。合適的隱層節(jié)點(diǎn)數(shù)對于四層BP-ANN神經(jīng)網(wǎng)絡(luò)的性能有著較大的影響,如何在降低計(jì)算代價即減少節(jié)點(diǎn)數(shù)的情況下最大可能的提高網(wǎng)絡(luò)的性能,是一個具體情況具體分析的命題。過多的隱層節(jié)點(diǎn)并不一定能帶來額外性能提高。事實(shí)上,我們可以注意到,當(dāng)?shù)谝坏诙[層節(jié)點(diǎn)數(shù)分別為5、5的時候,BP-ANN對于測試樣本的分類正確率就已經(jīng)達(dá)到了最高98%。當(dāng)然,也不能否定,隱層節(jié)點(diǎn)數(shù)的增加

28、對BP-ANN的穩(wěn)定性有著積極的影響,即當(dāng)有一部分神經(jīng)網(wǎng)絡(luò)錯誤工作時,仍能得到比較滿意的分類性能。4.3 ANN-BP對測試樣本的分辨能力201B141210C4-十f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*yA%獲得數(shù)據(jù)11/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAf*f*f*f*f*f*f*f*f*f*f*f*f

29、*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*yAXl,X2=getdata();m=length(Xl);n=length(X2);11/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAf*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*

30、f*f*f*f*f*f*f*f*f*f*f*f*f*yA%將數(shù)據(jù)的1,2類樣本隨機(jī)分為2組,一組訓(xùn)練一組測試(1/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAf*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*yAx1=zeros(2,m/2);x2=zeros(2,n/2);%存儲訓(xùn)練樣本x3=zeros(2,m/2);x4=z

31、eros(2,n/2);%存儲測試樣本temp1=randperm(m);%隨機(jī)將數(shù)據(jù)分為兩組,一組用于訓(xùn)練一組測試temp2=randperm(n);fori=1:m/2x1(:,i)=X1(:,temp1(i);%訓(xùn)練用x3(:,i)=X1(:,temp1(i+m/2);%測試用endforj=1:n/2x2(:,j)=X2(:,temp2(j);%訓(xùn)練用x4(:,j)=X2(:,temp2(j+n/2);%測試用endy1=ones(1,m/2);y2=zeros(1,n/2);Y=y1y2;%訓(xùn)練目標(biāo),1,0分別表示類1或者類2X=x1,x2;%訓(xùn)練樣本,2*(m/2+n/2)矩陣Xt

32、est=x3,x4;%測試樣本,2*(m/2+n/2)矩陣X=normalization(X);%數(shù)據(jù)歸一化Xtest=normalization(Xtest);(1/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAyA%訓(xùn)練ANN,對測試樣本進(jìn)行測試11/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAf*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f*f

33、*f*f*yAmaxI=500;%最大迭代次數(shù)tolerate=1e-10;%如果相鄰代價的絕對值小于le-10,判定收斂終止%對四層BPANN網(wǎng)絡(luò)隱層數(shù)的影響的記錄fori=2:10forj=2:10HL1=i;HL2=j;output=BPANN3(X,Y,HL1,HL2,maxI,tolerate);%四層網(wǎng)絡(luò)訓(xùn)練函數(shù)%output=BPANN(X,Y,HL1,maxI,tolerate);%三層網(wǎng)絡(luò)訓(xùn)練函數(shù)testresult=BPANN_test(Xtest,Y,output.w1,output.w2,output.wr);%四層網(wǎng)絡(luò)測試函數(shù)%testresult=BPANN_tes

34、t(Xtest,Y,output.w1,output.wr);%三層網(wǎng)絡(luò)測試函數(shù)N=length(Y);correctratio(iT,j-1)=testresult.ratio;%四層BP-ANN在不同隱層節(jié)點(diǎn)數(shù)時的代價記錄%correctratio(6,j-1)=testresult.ratio;%第一隱層節(jié)點(diǎn)為6,四層BP-ANN代價記錄%correctratio(iT)=testresult.ratio;%三層BP-ANN在不同隱層節(jié)點(diǎn)數(shù)時的代價記錄fprintf(sizeoftestingset:t%dn,N);fprintf(Correctlyclassified:t%dn,tes

35、tresult.correct);fprintf(Reconigtionratio:t%2.2f%n,testresult.ratio*100);endend11/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAyA%結(jié)果顯示11/*J*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*(J/yAyAfigure(1)plot(output.cost,r+-)figure(2)plot(Xtest(l,l:55),Xtest(2,l:55),*,Xtest(l,56:1

36、05),Xtest(2,56:105),+);holdon;plot(Xtest(1,testresultwrong),Xtest(2,testresultwrong),ro);xlabel(TheTestResultwithErrorDotsmarkedbyO);附錄2四層BP-ANN訓(xùn)練函數(shù)functionoutput=BPANN3(X,Y,HLl,HL2,maxI,tolerate)%input:%X:attributes.Everycolumnrepresentsasample.%Y:target.shouldbe0or1.length(Y)=size(X,2)isassumed.%H

37、L1,HL2:sizeofhiddenlayer.%maxI:maximumiterates最大迭代次數(shù)%tolerate:convergencetolerate收斂容忍度%output:%output:astructurecontainingallnetworkparameters.%output.w1,第一隱層連接權(quán)%output.w2,第二隱層連接權(quán)%output.wr,輸出層連接權(quán)%output.cost,每次迭代的修正后的連接權(quán)的代價n,N=size(X);ifN=length(Y)error(inconsistentsamplesize);endOL=1;%theresultofo

38、utputlayerwl=rand(n,HLl);%weightforhidden1stlayerw2=randn(HL1,HL2);%weightforhidden2ndlayer,W1(:,i)istheweightvectorforunitiwr=randn(HL2,OL);%weightforoutputlayerfprintf(#n);fprintf(ANNTRAININGSTARTEDn);fprintf(#n);fprintf(Iteratettrainingerrorn);iter=0;C0ST=zeros(maxI-l,l);whileitermaxldelta_wl=zeros(n,HLl);delta_w2=zeros(HLl,HL2);delta_wr=zeros(HL2,OL);fori=1:N%對每個樣本進(jìn)行O1=sig(X(:,i),w1);%outputof1thhiddenlayer02=sig(01,w2);%outputof1thhiddenlayer0R=sig(02,wr);%outputofoutputlayerqr=(0R-Y(:,i).*0R.*(1-0R);%輸出層局部梯度,backproce

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論