![人工智能化-BP神經(jīng)網(wǎng)絡(luò)算法的簡(jiǎn)單實(shí)現(xiàn)_第1頁](http://file4.renrendoc.com/view/257165af48d889d33b8278f4a57794f6/257165af48d889d33b8278f4a57794f61.gif)
![人工智能化-BP神經(jīng)網(wǎng)絡(luò)算法的簡(jiǎn)單實(shí)現(xiàn)_第2頁](http://file4.renrendoc.com/view/257165af48d889d33b8278f4a57794f6/257165af48d889d33b8278f4a57794f62.gif)
![人工智能化-BP神經(jīng)網(wǎng)絡(luò)算法的簡(jiǎn)單實(shí)現(xiàn)_第3頁](http://file4.renrendoc.com/view/257165af48d889d33b8278f4a57794f6/257165af48d889d33b8278f4a57794f63.gif)
![人工智能化-BP神經(jīng)網(wǎng)絡(luò)算法的簡(jiǎn)單實(shí)現(xiàn)_第4頁](http://file4.renrendoc.com/view/257165af48d889d33b8278f4a57794f6/257165af48d889d33b8278f4a57794f64.gif)
![人工智能化-BP神經(jīng)網(wǎng)絡(luò)算法的簡(jiǎn)單實(shí)現(xiàn)_第5頁](http://file4.renrendoc.com/view/257165af48d889d33b8278f4a57794f6/257165af48d889d33b8278f4a57794f65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./人工神經(jīng)網(wǎng)絡(luò)是一種模仿人腦結(jié)構(gòu)及其功能的信息處理系統(tǒng),能提高人們對(duì)信息處理的智能化水平。它是一門新興的邊緣和交叉學(xué)科,它在理論、模型、算法等方面比起以前有了較大的發(fā)展,但至今無根本性的突破,還有很多空白點(diǎn)需要努力探索和研究。1人工神經(jīng)網(wǎng)絡(luò)研究背景神經(jīng)網(wǎng)絡(luò)的研究包括神經(jīng)網(wǎng)絡(luò)基本理論、網(wǎng)絡(luò)學(xué)習(xí)算法、網(wǎng)絡(luò)模型以及網(wǎng)絡(luò)應(yīng)用等方面。其中比較熱門的一個(gè)課題就是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的研究。近年來己研究出許多與神經(jīng)網(wǎng)絡(luò)模型相對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,這些算法大致可以分為三類:有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和增強(qiáng)學(xué)習(xí)。在理論上和實(shí)際應(yīng)用中都比較成熟的算法有以下三種:<1>誤差反向傳播算法<BackPropagation,簡(jiǎn)稱BP算法>;<2>模擬退火算法;<3>競(jìng)爭(zhēng)學(xué)習(xí)算法。目前為止,在訓(xùn)練多層前向神經(jīng)網(wǎng)絡(luò)的算法中,BP算法是最有影響的算法之一。但這種算法存在不少缺點(diǎn),諸如收斂速度比較慢,或者只求得了局部極小點(diǎn)等等。因此,近年來,國(guó)外許多專家對(duì)網(wǎng)絡(luò)算法進(jìn)行深入研究,提出了許多改進(jìn)的方法。主要有:<1>增加動(dòng)量法:在網(wǎng)絡(luò)權(quán)值的調(diào)整公式中增加一動(dòng)量項(xiàng),該動(dòng)量項(xiàng)對(duì)某一時(shí)刻的調(diào)整起阻尼作用。它可以在誤差曲面出現(xiàn)驟然起伏時(shí),減小振蕩的趨勢(shì),提高網(wǎng)絡(luò)訓(xùn)練速度;<2>自適應(yīng)調(diào)節(jié)學(xué)習(xí)率:在訓(xùn)練中自適應(yīng)地改變學(xué)習(xí)率,使其該大時(shí)增大,該小時(shí)減小。使用動(dòng)態(tài)學(xué)習(xí)率,從而加快算法的收斂速度;<3>引入陡度因子:為了提高BP算法的收斂速度,在權(quán)值調(diào)整進(jìn)入誤差曲面的平坦區(qū)時(shí),引入陡度因子,設(shè)法壓縮神經(jīng)元的凈輸入,使權(quán)值調(diào)整脫離平坦區(qū)。此外,很多國(guó)內(nèi)的學(xué)者也做了不少有關(guān)網(wǎng)絡(luò)算法改進(jìn)方面的研究,并把改進(jìn)的算法運(yùn)用到實(shí)際中,取得了一定的成果:<1>王曉敏等提出了一種基于改進(jìn)的差分進(jìn)化算法,利用差分進(jìn)化算法的全局尋優(yōu)能力,能夠快速地得到BP神經(jīng)網(wǎng)絡(luò)的權(quán)值,提高算法的速度;<2>董國(guó)君等提出了一種基于隨機(jī)退火機(jī)制的競(jìng)爭(zhēng)層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,該算法將競(jìng)爭(zhēng)層神經(jīng)網(wǎng)絡(luò)的串行迭代模式改為隨機(jī)優(yōu)化模式,通過采用退火技術(shù)避免網(wǎng)絡(luò)收斂到能量函數(shù)的局部極小點(diǎn),從而得到全局最優(yōu)值;<3>趙青提出一種分層遺傳算法與BP算法相結(jié)合的前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。將分層遺傳算法引入到前饋神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的早期訓(xùn)練中,再用BP算法對(duì)前期訓(xùn)練所得性能較優(yōu)的網(wǎng)絡(luò)權(quán)值、閾值進(jìn)行二次訓(xùn)練得到最終結(jié)果,該混合學(xué)習(xí)算法能夠較快地收斂到全局最優(yōu)解;<4>胡潔等提出一種快速且全局收斂的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,并且對(duì)該優(yōu)化算法的全局收斂性進(jìn)行分析和詳細(xì)證明,說明提出的算法比標(biāo)準(zhǔn)的算法效率更高且更精確。盡管國(guó)內(nèi)外的很多學(xué)者對(duì)BP算法進(jìn)行了改進(jìn),但這些算法只有在某些特定要求下才有效,并且對(duì)網(wǎng)絡(luò)訓(xùn)練時(shí)要加強(qiáng)對(duì)網(wǎng)絡(luò)的監(jiān)控,網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)是要通過多次的試驗(yàn)才能確定,這些都導(dǎo)致了網(wǎng)絡(luò)訓(xùn)練時(shí)間的增加,降低了網(wǎng)絡(luò)收斂速度。因此,還需要進(jìn)一步研究神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,提高網(wǎng)絡(luò)收斂速度,使網(wǎng)絡(luò)能夠更好地應(yīng)用于實(shí)際。2神經(jīng)網(wǎng)絡(luò)基礎(chǔ)2.1人工神經(jīng)網(wǎng)絡(luò)概念生物神經(jīng)元模型生物神經(jīng)系統(tǒng)是一個(gè)有高度組織和相互作用的數(shù)量巨大的細(xì)胞組織群體。人類大腦的神經(jīng)細(xì)胞大約有1010一10,‘個(gè)。神經(jīng)細(xì)胞也稱神經(jīng)元,是神經(jīng)系統(tǒng)的基本單元,它們按不同的結(jié)合方式構(gòu)成了復(fù)雜的神經(jīng)網(wǎng)絡(luò)。通過神經(jīng)元及其連接的可塑性,使得大腦具有學(xué)習(xí)、記憶和認(rèn)知等各種智能。人工神經(jīng)網(wǎng)絡(luò)的研究出發(fā)點(diǎn)是以生物神經(jīng)元學(xué)說為基礎(chǔ)的。生物神經(jīng)元學(xué)說認(rèn)為,神經(jīng)細(xì)胞即神經(jīng)元是神經(jīng)系統(tǒng)中獨(dú)立的營(yíng)養(yǎng)和功能單元。其獨(dú)立性是指每一個(gè)神經(jīng)元均有自己的核和自己的分界線或原生質(zhì)膜。生物神經(jīng)系統(tǒng)包括中樞神經(jīng)系統(tǒng)和大腦,均是由各類神經(jīng)元組成。生物神經(jīng)元之間的相互連接讓信息傳遞的部位稱為突觸<SynaPse>。突觸按其傳遞信息的不同機(jī)制,可分為化學(xué)突觸和電突觸,其中化學(xué)突觸占大多數(shù),其神經(jīng)沖動(dòng)傳遞借助于化學(xué)遞質(zhì)的作用。神經(jīng)元是基本的信息處理單元。它主要由樹突、軸突和突觸組成。其結(jié)構(gòu)大致描述如圖1所示。圖1生物神經(jīng)元結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)模型目前人們提出的神經(jīng)元模型己有很多,其中提出最早且影響最大的是1943年心理學(xué)家McCulloch和科學(xué)家W.PittS在分析總結(jié)神經(jīng)元基本特性的基礎(chǔ)上首先提出的M一P模型,如圖2所示,它是大多數(shù)神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)。圖2模型Wji—代表神經(jīng)元i與神經(jīng)元j之間的連接強(qiáng)度<模擬生物神經(jīng)元之間突觸連接強(qiáng)度>,稱之為連接權(quán);Ui—代表神經(jīng)元i的活躍值,即神經(jīng)元狀態(tài);Vi—代表神經(jīng)元j的輸出,即是神經(jīng)元i的一個(gè)輸入;θj—代表神經(jīng)元的閥值。函數(shù)f表達(dá)了神經(jīng)元的輸入輸出特性。在M-P模型中,f定義為階跳函數(shù):v神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)可以歸為以下幾類:l>前饋式網(wǎng)絡(luò):該網(wǎng)絡(luò)結(jié)構(gòu)是分層排列的,每一層的神經(jīng)元輸出只與下一層神經(jīng)元連接。2>輸出反饋的前饋式網(wǎng)絡(luò):該網(wǎng)絡(luò)結(jié)構(gòu)與前饋式網(wǎng)絡(luò)的不同之處在于這種網(wǎng)絡(luò)存在著一個(gè)從輸出層到輸入層的反饋回路。3>前饋式內(nèi)層互連網(wǎng)絡(luò):該網(wǎng)絡(luò)結(jié)構(gòu)中,同一層之間存在著相互關(guān)聯(lián),神經(jīng)元之間有相互的制約關(guān)系,但從層與層之間的關(guān)系來看仍然是前饋式的網(wǎng)絡(luò)結(jié)構(gòu),許多自組織神經(jīng)網(wǎng)絡(luò)大多具有這種結(jié)構(gòu)。4>反饋型全互連網(wǎng)絡(luò):在該網(wǎng)絡(luò)中,每個(gè)神經(jīng)元的輸出都和其他神經(jīng)元相連,從而形成了動(dòng)態(tài)的反饋關(guān)系,該網(wǎng)絡(luò)結(jié)構(gòu)具有關(guān)于能量函數(shù)的自尋優(yōu)能力。5>反饋型局部互連網(wǎng)絡(luò):該網(wǎng)絡(luò)中,每個(gè)神經(jīng)元只和其周圍若干層的神經(jīng)元發(fā)生互連關(guān)系,形成局部反饋,從整體上看是一種網(wǎng)狀結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)也稱為訓(xùn)練,指的是通過神經(jīng)網(wǎng)絡(luò)所在環(huán)境的刺激作用調(diào)整神經(jīng)網(wǎng)絡(luò)的自由參數(shù),使神經(jīng)網(wǎng)絡(luò)以一種新的方式對(duì)外部環(huán)境做出反應(yīng)的一個(gè)過程。能夠從環(huán)境中學(xué)習(xí)和在學(xué)習(xí)中提高自身性能是神經(jīng)網(wǎng)絡(luò)的最有意義的性質(zhì)。神經(jīng)網(wǎng)絡(luò)經(jīng)過反復(fù)學(xué)習(xí)對(duì)其環(huán)境更為了解。學(xué)習(xí)算法是指針對(duì)學(xué)習(xí)問題的明確規(guī)則集合。學(xué)習(xí)類型是由參數(shù)變化發(fā)生的形式?jīng)Q定的,不同的學(xué)習(xí)算法對(duì)神經(jīng)元的突觸權(quán)值調(diào)整的表達(dá)式有所不同。2.2BP神經(jīng)網(wǎng)絡(luò)Bp神經(jīng)網(wǎng)絡(luò)的定義、特點(diǎn)及應(yīng)用采用誤差反向傳播算法<Bp:ErrorBack一propagationAlgorithm>的多層前饋人工神經(jīng)網(wǎng)絡(luò)<或稱多層感知器,MLP:Multiuyerperceptron>稱為Bp神經(jīng)網(wǎng)絡(luò)或BP神經(jīng)網(wǎng)絡(luò)模型。BP神經(jīng)網(wǎng)絡(luò)具有明顯的特點(diǎn):l>分布式的信息存儲(chǔ)方式神經(jīng)網(wǎng)絡(luò)是以各個(gè)處理器本身的狀態(tài)和它們之間的連接形式存儲(chǔ)信息的,一個(gè)信息不是存儲(chǔ)在一個(gè)地方,而是按內(nèi)容分布在整個(gè)網(wǎng)絡(luò)上。網(wǎng)絡(luò)上某一處不是只存儲(chǔ)一個(gè)外部信息,而是存儲(chǔ)了多個(gè)信息的部分內(nèi)容。整個(gè)網(wǎng)絡(luò)對(duì)多個(gè)信息加工后才存儲(chǔ)到網(wǎng)絡(luò)各處,因此,它是一種分布式存儲(chǔ)方式。2>大規(guī)模并行處理BP神經(jīng)網(wǎng)絡(luò)信息的存儲(chǔ)與處理<計(jì)算>是合二為一的,即信息的存儲(chǔ)體現(xiàn)在神經(jīng)元互連的分布上,并以大規(guī)模并行分布方式處理為主,比串行離散符號(hào)處理的現(xiàn)代數(shù)字計(jì)算機(jī)優(yōu)越。3>自學(xué)習(xí)和自適應(yīng)性BP神經(jīng)網(wǎng)絡(luò)各層直接的連接權(quán)值具有一定的可調(diào)性,網(wǎng)絡(luò)可以通過訓(xùn)練和學(xué)習(xí)來確定網(wǎng)絡(luò)的權(quán)值,呈現(xiàn)出很強(qiáng)的對(duì)環(huán)境的自適應(yīng)和對(duì)外界事物的自學(xué)習(xí)能力。4>較強(qiáng)的魯棒性和容錯(cuò)性BP神經(jīng)網(wǎng)絡(luò)分布式的信息存儲(chǔ)方式,使其具有較強(qiáng)的容錯(cuò)性和聯(lián)想記憶功能,這樣如果某一部分的信息丟失或損壞,網(wǎng)絡(luò)仍能恢復(fù)出原來完整的信息,系統(tǒng)仍能運(yùn)行。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)BP神經(jīng)網(wǎng)絡(luò)通常由輸入層、隱含層和輸出層組成,層與層之間全互連,每層節(jié)點(diǎn)之間不相連。它的輸入層節(jié)點(diǎn)的個(gè)數(shù)通常取輸入向量的維數(shù),輸出層節(jié)點(diǎn)的個(gè)數(shù)通常取輸出向量的維數(shù),隱層節(jié)點(diǎn)個(gè)數(shù)目前尚無確定的標(biāo)準(zhǔn),需通過反復(fù)試湊的方法,然后得到最終結(jié)果。根據(jù)Kolmogor。、定瑾,具有一個(gè)隱層<隱層節(jié)點(diǎn)足夠多>的三層BP神經(jīng)網(wǎng)絡(luò)能在閉集上以任意精度逼近任意非線性連續(xù)函數(shù)。BP網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱層和輸出層組成。層與層之間采用全互連方式,同一層之間不存在相互連接,隱層可以有一個(gè)或多個(gè)。構(gòu)造一個(gè)BP網(wǎng)絡(luò)需要確定其處理單元————神經(jīng)元的特性和網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。神經(jīng)元是神經(jīng)網(wǎng)絡(luò)最基本的處理單元,隱層中的神經(jīng)元采用S型變換函數(shù),輸出層的神經(jīng)元可采用S型或線性型變換函數(shù)。圖1為一個(gè)典型的三層BP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)采用改進(jìn)BP算法,學(xué)習(xí)過程由前向計(jì)算過程和誤差反向傳播過程組成。在前向計(jì)算過程中,輸入信息從輸入層經(jīng)隱層逐層計(jì)算,并傳向輸出層,每層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如輸出層不能得到期望的輸出,則轉(zhuǎn)入誤差反向傳播過程,誤差信號(hào)沿原來的連接通路返回,通過修改各層的神經(jīng)元的權(quán)值,使得網(wǎng)絡(luò)系統(tǒng)誤差最小。最終網(wǎng)絡(luò)的實(shí)際輸出與各自所對(duì)應(yīng)的期望輸出逼近。3MATLAB6.1神經(jīng)網(wǎng)絡(luò)工具箱及其相關(guān)函數(shù)簡(jiǎn)介BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)時(shí),需要確定網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)<隱層的層數(shù)及各層的神經(jīng)元的數(shù)目>及其神經(jīng)元的變換函數(shù),網(wǎng)絡(luò)的初始化,誤差計(jì)算,學(xué)習(xí)規(guī)則及網(wǎng)絡(luò)訓(xùn)練,訓(xùn)練參數(shù)及訓(xùn)練樣本的歸一化處理等方面的工作,在MATLAB6.1神經(jīng)網(wǎng)絡(luò)工具箱中,有對(duì)應(yīng)的函數(shù)完成所涉及到的全部計(jì)算任務(wù)。3.1設(shè)計(jì)BP網(wǎng)絡(luò)的相關(guān)函數(shù)1>神經(jīng)元變換函數(shù):線性變換函數(shù)purelin、對(duì)數(shù)S型變換函數(shù)logsin、雙曲線正切S型變換函數(shù)tansig。2>BP網(wǎng)絡(luò)生成函數(shù)newff:它是用來生成BP神經(jīng)網(wǎng)絡(luò)并進(jìn)行初始化,可以確定網(wǎng)絡(luò)層數(shù)、每層中的神經(jīng)元數(shù)和變換函數(shù)。這個(gè)函數(shù)有六個(gè)輸入?yún)?shù),分別是:輸入向量的范圍、網(wǎng)絡(luò)結(jié)構(gòu)、各層變換函數(shù)、訓(xùn)練算法函數(shù)、學(xué)習(xí)函數(shù)和性能函數(shù)。輸出參數(shù)為所生成的BP神經(jīng)網(wǎng)絡(luò)名net。其語法為:net=newff<PR,[S1,S2…,SN1],[TF1,TF2,…TFN1],BTF,BLF,PF>其中:PR是一個(gè)由每個(gè)輸入向量的最大最小值構(gòu)成的Rx2矩陣,R為輸入神經(jīng)元數(shù)目。Si是第i層網(wǎng)絡(luò)的神經(jīng)元個(gè)數(shù),網(wǎng)絡(luò)共有N1層。TFi是第i層網(wǎng)絡(luò)神經(jīng)元的變換函數(shù),缺省為tansig.BTF是BP訓(xùn)練算法函數(shù),缺省為trainlm.BLF是學(xué)習(xí)函數(shù),缺省為learngdm.PF是性能函數(shù),缺省為mse.newff在確定網(wǎng)絡(luò)結(jié)構(gòu)后會(huì)自動(dòng)調(diào)用初始化函數(shù)init,用缺省參數(shù)來初始化網(wǎng)絡(luò)中各個(gè)權(quán)值和閾值,產(chǎn)生一個(gè)可訓(xùn)練的前饋網(wǎng)絡(luò),即該函數(shù)的返回值net。在MATLAB中,神經(jīng)網(wǎng)絡(luò)net當(dāng)做對(duì)象<object>處理,其屬性用結(jié)構(gòu)來定義。3>初始化函數(shù)init:它是對(duì)網(wǎng)絡(luò)的連接權(quán)值和閾值進(jìn)行初始化。newff在創(chuàng)建網(wǎng)絡(luò)對(duì)象的同時(shí),自動(dòng)調(diào)動(dòng)初始化函數(shù),根據(jù)缺省的參數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行連接權(quán)值和閾值初始化。4>學(xué)習(xí)函數(shù):提供多種學(xué)習(xí)函數(shù),用來修正權(quán)值和閾值?;镜膶W(xué)習(xí)函數(shù)有:learngd、learngdm。5>性能函數(shù):它是用來計(jì)算網(wǎng)絡(luò)的輸出誤差。為訓(xùn)練提供判據(jù),包括:函數(shù)mae,計(jì)算網(wǎng)絡(luò)的平均絕對(duì)誤差;函數(shù)mse,計(jì)算網(wǎng)絡(luò)的均方誤差;函數(shù)msereg,計(jì)算均方誤差和權(quán)/閾值的加權(quán);函數(shù)sse,計(jì)算網(wǎng)絡(luò)的均方誤差和。6>訓(xùn)練函數(shù)train:BP網(wǎng)絡(luò)的訓(xùn)練初始化后,可對(duì)它進(jìn)行訓(xùn)練。在MATLAB中訓(xùn)練網(wǎng)絡(luò)有兩類模式:逐變模式和批處理模式。在逐變模式中,每輸入一個(gè)學(xué)習(xí)樣本就根據(jù)網(wǎng)絡(luò)性能指標(biāo)函數(shù)對(duì)連接權(quán)值和閾值更新一次。在批處理模式中,所有的學(xué)習(xí)樣本都學(xué)習(xí)完成后,連接權(quán)值和閾值才被更新一次。使用批處理模式不需要為每一層的連接權(quán)值和閾值設(shè)定訓(xùn)練函數(shù),而只需為整個(gè)網(wǎng)絡(luò)指定一個(gè)訓(xùn)練函數(shù),使用起來相對(duì)方便,而且許多改進(jìn)的快速訓(xùn)練算法只能采用批處理模式。訓(xùn)練網(wǎng)絡(luò)的函數(shù)是train按設(shè)置的net.trainFcn和net.trainParam參數(shù)來訓(xùn)練網(wǎng)絡(luò),采用批處理方式進(jìn)行網(wǎng)絡(luò)的權(quán)值和閾值修正,最終達(dá)到設(shè)定的網(wǎng)絡(luò)性能指標(biāo)的要求。7>BP訓(xùn)練算法函數(shù):它是根據(jù)網(wǎng)絡(luò)的輸入、目標(biāo)期望輸出,對(duì)由函數(shù)newff生成的BP網(wǎng)絡(luò)進(jìn)行計(jì)算,修正其權(quán)值和閾值,最終達(dá)到設(shè)定的網(wǎng)絡(luò)性能指標(biāo)的要求。不同的訓(xùn)練算法函數(shù)對(duì)應(yīng)不同的訓(xùn)練算法,如traingd對(duì)應(yīng)最基本梯度下降法;traingdm帶有動(dòng)量項(xiàng)的梯度下降法;traingdx帶有采用動(dòng)量項(xiàng)的自適應(yīng)算法;用共軛梯度法進(jìn)行訓(xùn)練的函數(shù)有:traincgf<采用Fletcher-Reeves搜索技術(shù)>、traincgp<采用Polak-Ribiers搜索技術(shù)>、traincgb<采用Powell-Beale搜索技術(shù)>;trainbfg是基于擬牛頓法的訓(xùn)練函數(shù);trainlm是用Levenberg-Marquardt數(shù)值優(yōu)化法來實(shí)現(xiàn)誤差反傳算法的。各算法的快慢及內(nèi)存要求依問題的復(fù)雜程度、訓(xùn)練集大小、網(wǎng)絡(luò)的大小及誤差要求的不同而有所不同。一般來講,對(duì)于含有幾百個(gè)權(quán)重的網(wǎng)絡(luò),Levenberg-Marquardt算法有最快的收斂速度。該算法需要大的內(nèi)存,可通過增大參數(shù)mem-reduc的值來減少內(nèi)存的使用量。需要注意的是:減少內(nèi)存使用量實(shí)際是通過將雅可比矩陣分解為一個(gè)個(gè)小的亞矩陣來實(shí)現(xiàn)的,每次只計(jì)算其中一個(gè)亞矩陣,這勢(shì)必增加計(jì)算時(shí)間,所以,如果有足夠的內(nèi)存,應(yīng)該將mem-reduc參數(shù)設(shè)為1,即每次都計(jì)算整個(gè)雅可比矩陣。擬牛頓算法的速度僅次于Levenberg-Marquardt算法而比共軛梯度法的速度快,內(nèi)存的需要量也介于這二者之間。在共軛梯度法中,traincgb需要的內(nèi)存數(shù)量最多,但通常也能最快收斂??偟貋碇v,基于共軛梯度法、擬牛頓算法和Levenberg-Marquardt法等數(shù)值優(yōu)化算法的訓(xùn)練函數(shù)的效率比基于啟發(fā)式算法的traingd、traingdm、traingdx的效率高。以上的訓(xùn)練算法函數(shù)均在網(wǎng)絡(luò)生成函數(shù)newff中預(yù)先設(shè)置。8>仿真函數(shù)sim:可以用來計(jì)算網(wǎng)絡(luò)在給定輸入下的輸出。9>繪圖函數(shù)poltperf:可以用來計(jì)算網(wǎng)絡(luò)性能曲線。3.2數(shù)據(jù)預(yù)處理如果對(duì)神經(jīng)網(wǎng)絡(luò)的輸入和輸出數(shù)據(jù)進(jìn)行一定的預(yù)處理,可以加快網(wǎng)絡(luò)的訓(xùn)練速度。MATLAB提供的預(yù)處理方法有:歸一化處理<將每組數(shù)據(jù)都變?yōu)?1至1之間數(shù),所涉及的函數(shù)有premnmx、postmnmx、tramnmx>、標(biāo)準(zhǔn)化處理<將每組數(shù)據(jù)都為均值為0,方差為1的一組數(shù)據(jù),所涉及的函數(shù)有prestd、poststd、trastd>和主成分分析<進(jìn)行正交處理,減少輸入數(shù)據(jù)的維數(shù),所涉及的函數(shù)有prepca、trapca>。下面以歸一化處理為例說明其用法,對(duì)于輸入矩陣p和輸出矩陣t進(jìn)行歸一化處理的語句為:[pn,minp,maxp,tn,mint,maxt]=premnmx<p,t>;訓(xùn)練時(shí)應(yīng)該用歸一化之后的數(shù)據(jù),即:net=train<net,pn,tn>;訓(xùn)練結(jié)束后還應(yīng)對(duì)網(wǎng)絡(luò)的輸出an=sim<net,pn>作如下處理:a=postmnmx<an,mint,maxt>;當(dāng)用訓(xùn)練好的網(wǎng)絡(luò)對(duì)新數(shù)據(jù)pnew進(jìn)行預(yù)測(cè)時(shí),也應(yīng)作相應(yīng)的處理:pnewn=tramnmx<pnew,minp,maxp>;anewn=sim<net,pnewn>;anew=postmnmx<anew,mint,maxt>。3.3訓(xùn)練數(shù)據(jù)的導(dǎo)入方法要對(duì)BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,必須準(zhǔn)備訓(xùn)練樣本。對(duì)樣本數(shù)據(jù)的獲取,有以下幾種方法供選擇,具體采用那種方法,取決于數(shù)據(jù)的多少,數(shù)據(jù)文件的格式等。用元素列表方式直接輸入數(shù)據(jù)。創(chuàng)建數(shù)據(jù)文件,通過MATLAB提供的裝載數(shù)據(jù)函數(shù),從數(shù)據(jù)文件中讀取。函數(shù)load適合從MAT文件、ASCII文件中讀取數(shù)據(jù);MATLABI/O函數(shù)適合從其它應(yīng)用中的數(shù)據(jù)文件中讀取數(shù)據(jù);還可以通過數(shù)據(jù)輸入向?qū)?lt;ImportWizard>從文件或剪貼板中讀取數(shù)據(jù),單擊File菜單下的"ImportData..."將出現(xiàn)"ImportWizard"窗口,通過該窗口進(jìn)行設(shè)置,該方法不適合從M文件中讀取數(shù)據(jù)。4BP神經(jīng)網(wǎng)絡(luò)的MATLAB實(shí)現(xiàn)4.1網(wǎng)絡(luò)設(shè)計(jì)步驟在進(jìn)行BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)時(shí),需要考慮以下問題:網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)<隱層的層數(shù)及各層的神經(jīng)元的數(shù)目>;神經(jīng)元的變換函數(shù)選取;網(wǎng)絡(luò)的初始化<連接權(quán)值和閾值的初始化>;訓(xùn)練參數(shù)設(shè)置;訓(xùn)練樣本的歸一化處理;樣本數(shù)據(jù)導(dǎo)入方式等。根據(jù)以上分析可知,對(duì)于網(wǎng)絡(luò)的實(shí)現(xiàn)有四個(gè)基本的步驟:eq\o\ac<○,1>網(wǎng)絡(luò)建立:通過函數(shù)newff實(shí)現(xiàn),它根據(jù)樣本數(shù)據(jù)自動(dòng)確定輸入層、輸出層的神經(jīng)元數(shù)目;隱層神經(jīng)元數(shù)目以及隱層的層數(shù)、隱層和輸出層的變換函數(shù)、訓(xùn)練算法函數(shù)需由用戶確定。eq\o\ac<○,2>初始化;通過函數(shù)init實(shí)現(xiàn),當(dāng)newff在創(chuàng)建網(wǎng)絡(luò)對(duì)象的同時(shí),自動(dòng)調(diào)動(dòng)初始化函數(shù)init,根據(jù)缺省的參數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行連接權(quán)值和閾值初始化。eq\o\ac<○,3>網(wǎng)絡(luò)訓(xùn)練:通過函數(shù)train實(shí)現(xiàn),它根據(jù)樣本的輸入矢量P、目標(biāo)矢量T;和預(yù)先已設(shè)置好的訓(xùn)練函數(shù)的參數(shù);對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。eq\o\ac<○,4>網(wǎng)絡(luò)仿真:通過函數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版美甲店網(wǎng)絡(luò)平臺(tái)運(yùn)營(yíng)合同4篇
- 二零二五版智能小區(qū)門衛(wèi)人員職責(zé)明確聘用合同3篇
- 二零二五版幼兒園家長(zhǎng)工作坊合作合同4篇
- DB65T 8022-2024 嚴(yán)寒和寒冷地區(qū)居住建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)
- 二零二五版門窗行業(yè)環(huán)保材料研發(fā)與應(yīng)用合同4篇
- 二零二五版農(nóng)用車產(chǎn)業(yè)投資基金投資合同4篇
- 二零二五年度城市地下停車場(chǎng)建設(shè)承包合同樣本4篇
- 2025年度農(nóng)業(yè)廢棄物資源化利用農(nóng)資合同4篇
- 二零二五年度南匯工商行政管理志編纂與咨詢服務(wù)合同4篇
- 二零二五版智能交通設(shè)施內(nèi)部工程承包合同3篇
- 電工基礎(chǔ)知識(shí)培訓(xùn)課程
- 住宅樓安全性檢測(cè)鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期期末考試數(shù)學(xué)試題
- 市政道路及設(shè)施零星養(yǎng)護(hù)服務(wù)技術(shù)方案(技術(shù)標(biāo))
- 藝術(shù)培訓(xùn)校長(zhǎng)述職報(bào)告
- 選擇性必修一 期末綜合測(cè)試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 《論語》學(xué)而篇-第一課件
- 《寫美食有方法》課件
- 學(xué)校制度改進(jìn)
- 各行業(yè)智能客服占比分析報(bào)告
- 年產(chǎn)30萬噸高鈦渣生產(chǎn)線技改擴(kuò)建項(xiàng)目環(huán)評(píng)報(bào)告公示
評(píng)論
0/150
提交評(píng)論