《神經網絡與遺傳算法》研究生配套教學課件_第1頁
《神經網絡與遺傳算法》研究生配套教學課件_第2頁
《神經網絡與遺傳算法》研究生配套教學課件_第3頁
《神經網絡與遺傳算法》研究生配套教學課件_第4頁
《神經網絡與遺傳算法》研究生配套教學課件_第5頁
已閱讀5頁,還剩440頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

神經網絡與遺傳算法課程目的和基本要求神經網絡在信號處理、自動控制、模式識別等領域中具有廣泛的應用前景。本課程將學生引入人工神經網絡及其應用的研究領域。介紹人工神經網絡基本概念及其基本網絡模型的結構、特點、典型訓練算法、運行方式、典型問題等。了解人工神經網絡的有關研究思想,從中學習開拓者們的部分問題求解方法。課程目的和基本要求通過實驗進一步體會有關模型的用法和性能,獲取一些初步的設計經驗。查閱適當的參考文獻,將所學的知識與自己未來的研究課題(包括研究生論文階段的研究課題)相結合起來,達到既豐富學習內容,又有一定研究和應用的目的。講授計劃

第一章:神經網絡基礎第二章:前向神經網絡第三章:反饋神經網絡第四章:隨機神經網絡第五章:自組織神經網絡

授課方式講授與課后自學相結合注意聽講和記筆記。自學包括1)看最新文獻(中、英文),形成word文檔;2)課后作業(不定期),形成程序代碼,并寫明如何使用該文件。期末考試:1)考試;2)論文(綜述)。參考書目《人工神經網絡》高等教育出版社1992楊行俊鄭君里《人工神經網絡-第六代計算機的實現》科普出版社1993周繼成《神經網絡系統理論》西安電子科大出版社1992焦李成《神經元網絡控制》機械工業出版社1998王永驥徐建第一章:神經網絡基礎一序言二神經網絡的發展史及研究現狀三神經元數學模型四神經網絡的構成原理五神經網絡的功能及特點第一節

序言

智能控制是控制科學發展的高級階段,是一門新興的交叉學科,具有廣泛的應用領域。按照智能控制創始人K.S.Fu的觀點,智能控制(IC)是自動控制(AC)、人工智能(AI)和運籌學(OR)的交集。20世紀末,研究智能控制的學者把智能控制的內容分為三大分支,即神經網絡、模糊控制和專家系統。隨著對不確定性系統處理的要求,適應于全局尋優的遺傳算法、處理海量數據的粗糙集理論、處理小樣本數據的支持向量機等理論為智能控制的發展增加了新的研究方法。

第一節

序言

以馮·諾依曼型計算機為中心的信息處理技術的高速發展,使得計算機在當今的信息化社會中起著十分重要的作用。但是,當用它來解決某些人工智能問題時卻遇到了很大的困難。大腦是由生物神經元構成的巨型網絡,它在本質上不同于計算機,是一種大規模的并行處理系統,它具有學習、聯想記憶、綜合等能力,并有巧妙的信息處理方法。人工神經網絡(簡稱神經網絡)也是由大量的、功能比較簡單的形式神經元互相連接而構成的復雜網絡系統,用它可以模擬大腦的許多基本功能和簡單的思維方式。

第一節

序言

人工神經網絡(ArtificialNeuralNetworks,簡記作ANN),是對人類大腦系統的一階特性的一種描述。簡單的講,它是一個數學模型,可以用電子線路來實現,也可以用計算機程序來模擬,是人工智能研究的一種方法。神經網絡主要用于非線性系統的辨識建模、非線性過程的預測、神經網絡控制及故障診斷等。第二節

神經網絡的發展史及研究現狀

2.1萌芽期(20世紀40年代)對大腦神經元的研究表明,當其處于興奮狀態時,輸出側的軸突就會發出脈沖信號,每個神經元的樹狀突起與來自其它神經元軸突的互相結合部(此結合部稱為Synapse,即突觸)接收由軸突傳來的信號。如果—神經元所接收到的信號的總和超過了它本身的“閾值”,則該神經元就會處于興奮狀態,并向它后續連接的神經元發出脈沖信號。

1943年,心理學家W.S.McCulloch和W.Pitts根據上述研究發表了他們的神經元模型,通常稱為MP模型。

1949年,D.O.Hebb提出了神經元的學習法則,即Hebb法則。直到現在也是重要的學習法則。第二節

神經網絡的發展史及研究現狀2.2第一次神經網絡研究高潮(1950~1968)

50年代末,F.Rosenblatt基于上述原理提出了一種模式識別機,即感知機(Perceptron)模型。感知機是現代神經計算的出發點。Block于1962年用解析法證明了感知機的學習收斂定理。正是由于這一定理的存在,才使得感知機的理論具有實際的意義,并引發了60年代以感知機為代表的第一次神經網絡研究發展的高潮。

M.Minsky和S.Papert進一步發展了感知機的理論,他們把感知機定義為一種邏輯函數的學習機。

1960年,B.Widraw在稍后于感知機一些時候提出了自適應線性單元Adaline分類學習機。它在結構上與感知機相似,但在學習法則上采用了最小二乘平均誤差法。

第二節

神經網絡的發展史及研究現狀

1961年,E.R.Caianiello提出了能實現記憶和識別的神經網絡模型,它由學習方程式和記憶方程式兩部分組成。人們樂觀地認為幾乎已經找到了智能的關鍵。許多部門都開始大批地投入此項研究,希望盡快占領制高點。

2.3反思期(1969~1982)

1969年,MIT的AI專家M.L.Minsky和S.Papert共同出版《Perceptron》(MITPress,1969年),遺憾地指出單層感知器只能用于線性問題的求解,而對于像XOR(異或)這樣簡單的非線性問題都無法求解。并指出能夠求解非線性問題的網絡,應該是具有隱層的多層神經網絡,而將感知器模型擴展到多層網絡是否有意義,還不能從理論上得到有力的證明。這個悲觀的結論對當時神經網絡的研究是一個沉重的打擊。二十世紀70年代和80年代早期的研究結果,表明了認識規律:認識——實踐——再認識。第二節

神經網絡的發展史及研究現狀第二節

神經網絡的發展史及研究現狀2.4第二次神經網絡研究高潮(1982~1990)

以Rumelhart為首的PDP(ParallelDistributedProcessing)并行分布處理研究集團對聯結機制(connectionist)進行了研究。具有并行分布處理模式的神經網絡又重新受到人們的重視。

1982年,美國物理學家Hopfield對神經網絡的動態特性進行了研究,提出了所謂Hopfield神經網絡模型。

T.J.Sejnowski等人還研究了神經網絡語音信息處理裝置。這些成功的研究對第二次神經網絡研究高潮的形成起了決定性的作用。第二節

神經網絡的發展史及研究現狀Hopfield模型的動作原理是:只要由神經元興奮的算法和神經元之間的結合強度所決定的神經網絡的狀態在適當給定的興奮模式下尚未達到穩定,那么該狀態就會一直變化下去,直到預先定義的一個必定減小的能量函數達到極小值時,狀態才達到穩定而不再變化。

1985年,Hopfield和D.W.Tank用上述模型求解了古典的旅行推銷商問題(TravelingSalesmanProblem),簡稱TSP問題。第二節

神經網絡的發展史及研究現狀

1983年,S.E.Farmann和Hiton提出了波爾茲曼機BM(BoltzmannMachine),該神經網絡模型中使用了概率動作的神經元,把神經元的輸出函數與統計力學中的波爾茲曼分布聯系起來。

1985年,W.O.Hillis發表了稱為聯結機(connection)的超級并行計算機。他把65536個lbit的微處理機排列成起立方體的互連形式,每個微處理機還帶有4kbit的存貯器。誤差反向傳播神經網絡BP(ErrorBackPropagationNeuralNetwork)是1986年由Rumelhart和Hinton提出的,解決了多層前向神經網絡的學習問題。是目前影響最大、應用最廣的一種網絡學習算法。

第二節

神經網絡的發展史及研究現狀2.5

再認識與應用研究期(1991~)1)開發現有模型的應用,并在應用中根據實際運行情況對模型、算法加以改造,以提高網絡的訓練速度和運行的準確度。2)充分發揮兩種技術各自的優勢是一個有效方法。3)希望在理論上尋找新的突破,建立新的專用/通用模型和算法。4)進一步對生物神經系統進行研究,不斷地豐富對人腦的認識。第二節

神經網絡的發展史及研究現狀2.6存在的問題神經網絡識別機的原型是感知機,而BP只是學習方法改進了的感知機,所以把它當作識別機械時,可能存在著中間層神經元的個數會很龐大、學習時間太長、結合系數的范圍太寬等嚴重缺點。當把Hopfield神經網絡模型和波爾茲曼機用作最優解的求解機時,還需要弄清楚該模型對具體的對象是否適用。當把神經網絡用于運動控制裝置時,另一個重要的問題是如何獲得自組織的運動模式。綜上所述,神經網絡的研究雖然時有起伏,出現了研究的高潮與低潮,但總的方向無疑還是正確的。

第二節

神經網絡的發展史及研究現狀2.7研究現狀日本通產省早在1988年也提出了所謂人類尖端科學計劃(HumanFrontierScienceProgram),即所謂的第六代計算機計劃,研制能模擬人類智能行為的計算機系統。第二節

神經網絡的發展史及研究現狀第二節

神經網絡的發展史及研究現狀第二節

神經網絡的發展史及研究現狀

1987年6月21至24日在美國加州圣地亞哥(SanDiego)召開的第一屆神經網絡國際會議;1988年,我國在北京召開了神經網絡的國際研究工作會議,并出版了論文集。關于神經網絡的主要國際性雜志有:(1)NeuralNetworks(國際神經網絡協會會刊)(2)IEEETransactionsonNeuralNetworks(3)IEEETransactionsonParallelDistributedSystem(4)ConnectionsScience(5)Neurocomputing(6)NeuralComputation(7)InternationalJournalofNeuralSystems第三節神經元數學模型(ANN)一神經網絡定義:基于模仿生物大腦的結構或功能構成的信息處理系統或計算機。

80年代美國的H.Nidsen定義:神經網絡是由多個非常簡單的處理單元(神經元)彼此以某種方式相聯接而形成的計算機系統。該系統是靠其狀態對外部輸入信息的動態響應來處理信息的。第三節神經元數學模型(ANN)二生物神經元的結構和動作原理以及功能

1.生物神經元的結構

人腦大約由1012個神經元組成,神經元互相連接成神經網絡。生物神經元是大腦處理信息的基本單元,以細胞體為主體,由許多向周圍延伸的不規則樹枝狀纖維構成的神經細胞,其形狀很像一棵枯樹的枝干。它主要由細胞體、樹突、軸突和突觸(Synapse,又稱神經鍵)組成。細胞體樹突軸突軸突末梢細胞核圖1-1a神經元的解剖圖1-1b神經元的解剖第三節神經元數學模型(ANN)細胞體:細胞體是由很多分子形成的綜合體,內部含有一個細胞核、核糖體、原生質網狀結構等,它是神經元活動的能量供應地,在這里進行新陳代謝等各種生化過程。包括細胞核,細胞膜和細胞質。軸突:細胞體突起的最長的外伸管狀纖維稱為軸突,軸突是把神經元興奮的信息傳出到其它神經元的出口。樹突:細胞體的伸延部分產生的一至多個突起,呈放射狀的分枝稱為樹突,它是細胞體向外伸出的許多較短的樹狀分支,相當于細胞的輸入。樹突具有接受刺激并將沖動傳入細胞體的功能,樹突與其樹突末梢是接受從其它神經元傳入的信息的入口。每個神經元有大約10000個樹突連接。第三節神經元數學模型(ANN)突觸:突觸是神經元的樹突末梢連接另一神經元的突觸后膜(postsynapticmembrane)的部分。它是神經元之間相聯系并進行信息傳送的結構,是神經元之間連接的接口。兩個神經元的細胞質并不直接連通,兩者彼此聯系是通過突觸這種結構接口的。膜電位:神經元細胞膜內外之間存在電位差,稱為膜電位。膜外為正,膜內為負。膜電壓接受神經其它神經元的輸入后,電位上升或下降。當傳入沖動的時空整合結果,使膜電位上升,而且當超過叫做動作電位的閾值時,細胞進入興奮狀態,產生神經沖動,由軸突輸出,這個過程稱為興奮。第三節神經元數學模型(ANN)2突觸傳遞信息動作原理興奮期,大于動作閾值絕對不應期:不響應任何刺激相對不應期:很難響應根據突觸傳遞信息的動作過程可以分為兩種類型:興奮型和抑制型。神經沖動使得細胞膜電壓升高超過動作電壓進入興奮狀態產生神經沖動,若使膜電壓下降,低于閾值細胞膜進入抑制狀態,無神經沖動輸出。t(ms)膜電位(mv)-70-553ms1ms1ms123動作閾值圖1-2生物神經元動作原理第三節神經元數學模型(ANN)

第j路輸入信號,從第j路與第i個神經元的連接權,第i個神經元的閾值,

第i個神經元的輸出。xNwiNx1wi1x2wi2…...直接刺激三神經元的數學模型圖1-3神經元數學模型第三節神經元數學模型(ANN)數學模型MP模型:1943年由美國心理學家Mcloch和數學家Pitts提出的。

其中常用的有閾值型,sgnx為符號函數。式中涉及的符號如1-3圖所示。第三節神經元數學模型(ANN)四人工神經元與生物神經元區別(1)模型傳遞的是模擬信號,生物輸入輸出均為電脈沖(2)沒有考慮其不應期,時滯,疲勞現象。(3)只考慮空間疊加性,沒有考慮時間迭加。第四節神經網絡的構成原理本節主要從構成神經網絡的一些規則和算法來介紹神經網絡的構成原理!包括五個方面:一:傳播規則:用來描述從外部輸入到凈輸入的產生規則。二:激活規則:由本時刻的激活狀態(內部狀態),決定下一時刻激活狀態的規則。三:神經網絡的輸出函數四:神經網絡的連接方式五:神經網絡的學習規則第四節神經網絡的構成原理PDP模型:1986年由Rumelhart提出PDP分布式并行處理神經網絡模型,有8條原則。主要介紹核心的5條。一:傳播規則:用來描述從外部輸入到凈輸入的產生規則。

1線性規則:

2多項式函數:第四節神經網絡的構成原理二:激活規則:由本時刻的激活狀態(內部狀態),決定下一時刻激活狀態的規則。在MP模型中三:神經元的輸出函數(3種類型)

1靜態映射關系模型在MP模型中表示為

第四節神經網絡的構成原理2動態系統模型:差分方程的形式3概率統計模型:如隨機網絡,輸出按Beltzmann分布另外從輸出與輸入靜特性上又分為3類線性函數:第四節神經網絡的構成原理硬限幅函數(閾值函數)階躍函數1(.)符號函數sgn(.)非線性函數:值在兩個有限值之間取值,連續非遞減函數

sigmoid函數雙曲正切函數10.5-11第四節神經網絡的構成原理響應函數的基本作用:1、控制輸入對輸出的激活作用;2、對輸入、輸出進行函數轉換;3、將可能無限域的輸入變換成指定的有限范圍內的輸出。

第四節神經網絡的構成原理四:連接方式(一)前向網絡(前饋網絡)……輸出層輸入節點隱蔽層計算層第四節神經網絡的構成原理(二)反饋網絡,只要存在反饋。單層反饋網絡(Hopfield網絡)(a)。從輸出到輸入有反饋的前向網絡(b)。a)反饋網絡b)輸入到輸出反饋的前向網絡第四節神經網絡的構成原理層內互聯的前向網絡(c)全互聯網絡(d)第四節神經網絡的構成原理五:學習規則人工神經網絡最具有吸引力的特點是它的學習能力,學習方法是人工神經網絡研究中的核心問題。1962年,Rosenblatt給出了人工神經網絡著名的學習定理:人工神經網絡可以學會它可以表達的任何東西。人工神經網絡的表達能力大大地限制了它的學習能力。人工神經網絡的學習過程就是對它的訓練過程。

1.分類:有導師學習、無導師學習有導師學習(SupervisedLearning)與有導師訓練(SupervisedTraining)相對應。輸入向量與其對應的輸出向量構成一個“訓練對”。概念:拿出足夠多的樣本對,就可以得到一組基本不變的連接權,一次學習過程完畢。存儲和運算都是在連接權上,知識存儲在連接權上。第四節神經網絡的構成原理第四節神經網絡的構成原理有導師學習的訓練算法的主要步驟包括:1)

從樣本集合中取一個樣本(Ai,Bi);2)計算出網絡的實際輸出O;3)

求D=Bi-O;4)根據D調整權矩陣W;5)對每個樣本重復上述過程,直到對整個樣本集來說,誤差不超過規定范圍。

誤差神經網絡輸入期望輸出

輸出調整連接權第四節神經網絡的構成原理無導師學習(UnsupervisedLearning)與無導師訓練(UnsupervisedTraining)相對應抽取樣本集合中蘊含的統計特性,并以神經元之間的聯接權的形式存于網絡中。如:Hebb學習規則2算法應具備的條件有一定的準確性:連接權要穩定在唯一的一組解上,按照誤差規則或者按照目標函數極小等原則。第四節神經網絡的構成原理自適應性收斂性以及收斂速度可推性,對目標樣本能完成所要求的任務,對非目標樣本也能完成相應的任務!3兩種學習算法D.O.Hebb在1961年提出的Hebb學習規則,核心為當兩個神經元同時處于激發狀態時被加強,否則被減弱。數學表達式表示,即a>0稱為學習因子,無導師學習第四節神經網絡的構成原理Delta規則(算法,誤差修正算法)對于給定一組訓練樣本期望輸出為d,則:其中誤差:a>0稱為學習因子第五節網絡的功能以及特點一網絡功能分為三類,一一介紹。聯想記憶(AM)從一種事物聯想到與其相關的事物的過程。分為自聯想和異聯想。自聯想(Auto-AM):設有M個樣本矢量(K=1,2…,M),若,要求輸出是,則這種功能就是自聯想。異聯想:(Hetero-AM):有兩組樣本矢量和(K=1,2…,M),且一一對應,當輸入,則輸出,稱此為異聯想。第五節網絡的功能以及特點分類功能:神經網絡可以用來對一組輸入矢量進行分類。優化計算

TSP問題---旅行售貨員問題。怎樣以最優的路徑遍歷每一城市。ADCEB第五節網絡的功能以及特點列舉兩個例題例1:用ANN來實現邏輯與運算(用單個神經元實現,輸出函數為符號函數)設二維輸入:輸出y(x,y都是1或者-1)

111-11-11-1-1-1-1-1+11-1本質:完成一種分類功能第五節網絡的功能以及特點例2:用ANN來實現異或運算(兩個神經元)構造中間變量

1-11-11111-1-1-1-11.50.51-2第五節網絡的功能以及特點二:神經網絡的特點分布式并行處理:每個元都是運算器分布式存儲:信息存儲在連接權上容錯性強自適應和自組織性強魯棒性小結本章節主要介紹了生物神經元的結構,由生物神經元構造了模擬的神經元。從構成神經網絡的一些規則和算法來介紹神經網絡的構成原理。簡單的介紹了網絡的功能以及特點。回顧了神經網絡這門科學的發展歷程。第二章:前饋網絡

本章主要內容一:前向網絡簡介二:具有硬限幅函數的單層網絡的分類功能(感知器)三:具有線性函數的單層網絡的分類功能四:前向多層網絡的分類功能五:BP網絡及BP算法以及BP網絡的應用上一章內容回顧模擬生物神經網絡的ANN的這一數學方法問世以來,人們已慢慢習慣了把這種ANN直接稱為NN。NN在數學、優化與運籌學、計算機科學與智能理論、信號處理、控制科學、機器人、系統科學等領域吸引來了眾多的研究者,呈現勃勃生機。給這些學科中的一些困難問題,帶來了新的分析、求解的新思路和新方法。對控制科學領域,NN在系統辨識、模式識別、智能控制等領域有著廣泛而吸引人的前景。特別在智能控制中,人們對NN的自學習功能尤其感興趣,并且把NN這一重要特點看作是解決控制器適應能力這個難題的關鍵鑰匙之一.上一章內容回顧此外,在控制領域的研究課題中,不確定性系統的控制問題、非線性系統控制問題長期以來都是控制理論研究的中心主題,但是這些問題一直沒有得到有效的解決。利用NN的學習能力,使它在對不確定性系統的控制過程中自動學習系統的特性,從而適應系統變化的環境和內在特性,以達到對系統的最優控制.利用NN的非線性逼近能力,將NN用于非線性系統控制問題中的模型表達、控制器設計、在線控制計算、自適應控制等.顯然,NN對于控制科學領域是一種十分振奮人心的意向和方法。上一章內容回顧NN的基礎在于神經元.神經元是以生物神經系統的神經細胞為基礎的生物模型.在人們對生物神經系統進行研究,以探討AI的機制時,把神經元數學化,從而產生了神經元數學模型.大量的形式相同的神經元連結在—起就組成了NN.雖然,單個神經元的結構和功能都不復雜,但是NN的動態行為則是十分復雜的,是一個高度非線性動力學系統.因此,用NN可以表達實際物理世界的復雜現象.上一章內容回顧NN模型是以神經元的數學模型為基礎來描述的。NN模型由網絡拓撲、節點特點和學習規則來表示.NN對人們的巨大吸引力主要在下列幾點:canbemassivelyparallel并行分布處理MIMD,opticalcomputing,analogsystemsfromalargecollectionofsimpleprocessingelementsemergesinterestingcomplexglobalbehaviorfaulttolerantoktohavefaultyelementsandbadconnectionsisn'tdependentonafixedsetofelementsandconnections上一章內容回顧candocomplextasks能充分逼近復雜的非線性關系.patternrecognition(handwriting,facialexpressions,etc.)forecasting(stockprices,powergriddemand)adaptivecontrol(autonomousvehiclecontrol,robotcontrol)isarobustcomputationcanhandlenoisyandincompletedataduetofine-graineddistributedandcontinuousknowledgerepresentation2.1前向網絡簡介1.前向網絡的結構前向網絡主要分為單層網絡和多層網絡。多層網絡不能隔層傳遞,無反饋。2.輸出函數主要有:硬限幅函數1(.),sgn(.)線性函數非線性函數s(.),th(.)3.前向網絡的功能只能完成聯想和分類。前向網絡的本質由輸入到輸出的靜態映射。4.學習算法:算法,LSM算法,BP算法(誤差反向傳遞算法)

2.2單層網絡分類功能(感知器)本節主要介紹單層網絡的結構調整連接權和閾值的學習規則(算法)單層網絡的訓練和設計單層網絡分類的局限性2.2單層網絡分類功能(感知器)一.感知器是由美國計算機科學家羅森布拉特(F.Roseblatt)于1957年提出的。單層感知器神經元模型圖:圖2.1感知器神經元模型硬限幅函數2.2單層網絡分類功能(感知器)根據網絡結構,可以寫出第i個輸出神經元(i=1,2,…,s)的加權輸入和ni以及其輸出ai為:其中,為閾值,f[]是階躍函數。線性可分概念設有二維輸入矢量,共有兩類,若可以用一條直線將其無誤的分開,稱為線性可分。F.Roseblatt已經證明,如果兩類模式是線性可分的(指存在一個超平面將它們分開),則算法一定收斂。感知器特別適用于簡單的模式分類問題,也可用于基于模式分類的學習控制中。本節中所說的感知器是指單層的感知器。多層網絡因為要用到后面將要介紹的反向傳播法進行權值修正,所以把它們均歸類為反向傳播網絡之中。

2.2單層網絡分類功能(感知器)感知器的最大作用就是可以對輸入的樣本分類,故它可作分類器,如感知器對輸入信號的分類如下:即當感知器的輸出為1時,輸入樣本稱為A類;輸出為0時,輸入樣本稱為B類。2.2單層網絡分類功能(感知器)2.2單層網絡分類功能(感知器)一個簡單的單神經元(感知器)分類的例子。例:二維矢量,兩類如圖:L為分類線:區為區為設一個單神經元硬限幅函數122.2單層網絡分類功能(感知器)二.感知器的學習規則學習規則是用來計算新的權值矩陣W及新的偏差的算法。感知器利用其學習規則來調整網絡的權值,以便使該網絡對輸人矢量的響應達到數值為0或1的目標輸出。輸入矢量P,輸出矢量A,目標矢量為T的感知器網絡,其學習規則為:(誤差學習算法)感知器的學習算法目的在于找尋恰當的權系數w=(w1,w2,…,wn),使系統對一個特定的樣本x=(x1,x2,…,xn)能產生期望值d。當x分類為A類時,期望值d=1;x為B類時,d=-1。為了方便說明感知器學習算法,把閾值并入權系數w中,同時,樣本x也相應增加一個分量xn+1。故令:wn+1=-,xn+1=1

則感知器的輸出可表示為:感知器的學習算法感知器學習算法步驟如下:步1.對權系數w置初值權系數w=(w1,…,wn,wn+1)的各個分量置一個較小的初始隨機值,并記為wl(0),…,wn(0),同時有wn+1(0)=-。wi(t)為t時刻從第i個輸入上的權系數,i=1,2,…,n。wn+1(t)為t時刻時的閾值。步2.輸入一樣本x=(x1,x2,…,xn+1)以及它的期望輸出d期望輸出值d在樣本的類屬不同時取值不同。如果x是A類,則取d=1,如果x是B類,則取-1。期望輸出d也即是教師信號。感知器的學習算法步4.根據實際輸出求誤差ee(t)=d-y(t)

步5.用誤差e去修改權系數wi(t+1)=wi(t)+e(t)xii=1,2,…,n+1

其中稱為權重變化率,0<1。的值不能太大.如果取值太大則wi(t)的穩定性差;的值也不能太小,否則wi(t)的收斂速度太慢。感知器的學習算法步3.計算實際輸出值y當實際輸出和期望值d相同時有:wi(t+1)=wi(t)步6.轉到第2步,一直執行到一切樣本均穩定為止.(算法的收斂性分析見后面的證明)感知器的學習算法從上面分析可知,感知器實質是一個分類器,它的這種分類是和二值邏輯相應的.因此,感知器可以用于實現邏輯函數.下面對感知器實現邏輯函數的情況作一些介紹.例用感知器實現或邏輯函數OR,即x1x2,的真值(真值表如右所示).x1x2x1x2001101010111感知器的學習算法即有

>0,w2,w1,w1+w2以x1x2=1為A類,以x1x2=0為B類,則有方程組令w1=1,w2=1,則有1.取=0.5,則有分類判別曲線x1+x2-0.5=0,分類情況如圖2.2a所示,實現的NN如圖2.2b.感知器的學習算法x1x2圖2.2bOR函數的NN實現o(x1,x2)11-10.5感知器的學習算法類似地,對與邏輯函數AND(真值表如下所示),即x1x2,也可設計如圖所示的分類面(分類函數)x1x2X1^x2001101010001感知器的學習算法x1x2圖2.3bAND函數的NN實現o(x1,x2)11-11.5感知器的學習算法但對異或邏輯函數XOR(真值表如下所示),則不可能利用單層感知器設計的線性分類面(線性分類函數),如下圖所示。x1x2x1x2001101010110?感知器的學習算法對此,只能設計多層感知器,如下圖所示的XOR函數的2層設計。x1x211-11.5x1x211-10.5圖2.4bXOR函數的2層NN實現o(x1,x2)1-1-10感知器的學習算法而其函數空間的分類面如下圖所示。感知器學習算法的收斂性定理:如果樣本輸入函數是線性可分的,那么感知器學習算法經過有限次迭代后,可收斂到正確的權值或權向量。可證:在訓練樣本Xk,k=1,2,…,N是線性可分時,采用上式的學習方法,在有限次迭代后,必能得到正確解。2.2單層網絡分類功能(感知器)為證明此定理,不失一般性,先對該分類問題做一些假設:

A1:

輸入樣本Xk,k=1,2,…,N全部歸一化,即

||Xk||=1;A2:

對最優權向量W*,有||W*||=1.A3:

如果樣本可分,那么任意給定的一個輸入樣本

Xk

,要么屬于某一區域F+,要么不屬于這一區域,記為F-,F+和F-構成了整個線性可分的樣本空間。在這里僅討論Xk∈F+的情況。2.2單層網絡分類功能(感知器)證明:因為N個樣本線性可分,所以存在單位權向量W*和一個較小的正數d>0,使得W*TXk≥d對所有的樣本輸入Xk都成立,任意權值向量W和最優權值向量W*之間的余弦角cosα為

由學習律可得W(k+1)=W(k)+μX(k),μ是學習系數。

上式左乘W*可得W*WT(k+1)=W*[WT(k)+μXT(k)]≥W*WT(k)+μd從k=0迭代,可得W*WT(k)≥W*WT(0)+kμd

2.2單層網絡分類功能(感知器)選擇W(0)∈Xk

,滿足W*Xk

>0,此時有W*WT(k)≥kμd 在W(k)未達到W*時,W(k)XT(k)<0,所以

迭代可得:

所以,

由于余弦值S(k)≤1,當W(k)=W*時,S(k)=1,于是我們求解得到這說明在μ和d選定后,可以在有限的次數k達到最優加權W*。2.2單層網絡分類功能(感知器)三.感知器網絡的設計設輸入矢量連接權2.2單層網絡分類功能(感知器)感知器設計訓練的步驟可總結如下:1)對于所要解決的問題,確定輸入矢量P,目標矢量T,并由此確定各矢量的維數以及確定網絡結構大小的神經元數目;2)參數初始化:

a)賦給權矢量w在(-l,1)的隨機非零初始值;

b)給出最大訓練循環次數max_epoch;3)網絡表達式:根據輸入矢量P以及最新權矢量W,計算網絡輸出矢量A;4)檢查:檢查輸出矢量A與目標矢量T是否相同,如果是,或已達最大循環次數,訓練結束,否則轉入5);5)學習:根據感知器的學習規則調整權矢量,并返回3)。四.硬限幅函數單神經元(感知器)分類特性:1)由于激活函數為閾值函數,輸出矢量只能取0,1,說明僅可以解決簡單的分類問題,對于線性不可分或重疊時無法分類;但多層感知器網絡卻具有復雜的非線性分類能力,是一類非常有效的分類器。2.2單層網絡分類功能(感知器)2)輸入矢量線性可分時,學習在有限次數內收斂;3)輸入矢量的奇異性導致較慢的收斂。比如當輸入/輸出矢量分別為:

P=[-0.5–0.5+0.3–0.1–80-0.5+0.5–0.5+1.0100];T=[11001];時,必然導致訓練的困難;4)異或問題不可解。(matlab演示線性不可分例demop6.m)5)感知器網絡在NN的研究中有著重要意義和地位,其學習算法的自組織、自適應思想,是NN學習算法的基礎。2.2單層網絡分類功能(感知器)2.3具有線性函數的單層網絡的分類功能它與感知器的主要不同之處在于其神經元的激活函數是線性函數,這允許輸出可以是任意值,而不僅僅只是像感知器中那樣只能取0或1。它采用的是W—H學習法則,也稱最小均方差(LMS)規則對權值進行訓練自適應線性元件的主要用途是線性逼近一個函數式而進行模式聯想。2.3.1線性神經元模型和結構一.線性神經元模型和結構圖2.5自適應線性神經網絡的結構

單神經元多個神經元2.3.2LMS(梯度下降)學習規則二.采用線性函數分類任務的目標:所有可能的輸入矢量與輸出矢量的誤差平方的統計量最小。線性函數單神經元的分類任務中采用LMS算法調節連接權。LMS的算法如下:2.3.2LMS(梯度下降)學習規則LMS梯度下降算法訓練方法:逐個處理、成批處理。采用成批處理的方法:設誤差E采用下式表示:其中yi=f[wxi]是對應第i個樣本xi的NN實時輸出;oi是對應第i個樣本xi的期望輸出.對W求偏導,有令則有可寫為其中所以2.3.2LMS(梯度下降)學習規則要使誤差E最小,可先求取E的梯度:考慮到yi=f(ui)=f[wi.xi],因此,有2.3.2LMS(梯度下降)學習規則最后有按負梯度方向修改權系數w的修改規則:即其中是權重變化率,一般取0~1之間的小數.若BP網絡的神經元的非線性激發函數f(u)=1/[1+e-u],則有2.3.2LMS(梯度下降)學習規則因此,學習算法則為若BP網絡的神經元的線性激發函數f(u)=ku,則有f’(u)=k因此,學習算法則為2.3.2LMS(梯度下降)學習規則梯度法比原來感知器的學習算法進了一大步,其關鍵在于:神經元的激發函數采用連續的可導函數,而不是階躍函數;權系數的修改采用誤差的梯度去控制,而不是采用誤差去控制。故而有更好的動態特能,即加強了收斂進程。2.3.2LMS(梯度下降)學習規則2.3.3矩陣求逆法線性神經元權值的另外一種基本解法就是矩陣求逆法。存在出兩個問題:1:要進行大量的統計計算R,P2:求逆的工作量大1)由于該網絡采用線性作用函數,可以處理連續輸入模式。網絡可用于模式聯想和函數的線性逼近,線性系統的建模和濾波等;2)線性神經網絡只能反映輸入和輸出樣本矢量間的線性映射關系,和感知器神經網絡一樣,它也只能解決線性可分的問題;3)線性神經網絡的訓練和性能要受到學習速率參數和影響,過大的學習速率可能會導致網絡性能發散。2.3.4線性神經網絡的局限性2.4前向多層網絡的分類功能一.采用硬限幅函數的前向二層網絡凸集合:任選兩點,其連線上的所有點都在集合內稱為凸集合。可分凸集合:若m個凸集合且互不相交則為可分凸集合。分類功能:命題:前向二層網絡(硬限幅)可以準確無誤的完成任何可分凸集合的分類。分析:

一個硬限幅函數的單神經元決定了一條分割線,對于三角形的區域用三個神經元。2.4前向多層網絡的分類功能二.采用硬限幅函數的前向三層網絡分類功能可以準確無誤的完成對任何非交集合的分類分析:對可分的非凸集合如何分類。缺點:交集合的情況無法分類;沒有找到有效的學習方法。2.4前向多層網絡的分類功能三.采用線性函數的多層網絡分類功能缺點:不能解決復雜的分類任務,分類能力很差,但是有有效的學習算法(LMS算法)下一節主要內容前饋神經網絡中的BP網絡與BP算法第二章:前饋網絡

2.5BP網絡及BP算法感知器網絡和線性激活函數,都存在一定缺點。單層感知器:硬限幅函數為作用函數,只能解決簡單的分類問題。硬限幅函數的不可微分特性,使其擴展到多層感知器時帶來權值修正的困難。線性函數網絡采用線性作用函數,處理復雜非線性問題的能力相對較弱。采用線性作用函數的多層網絡等效為一個單層線性網絡,因此,簡單地從結構上擴展Adaline并不能加強它處理非線性問題的能力。2.5BP網絡及BP算法結合二者的長處。將感知器網絡結構擴展到多層,其作用函數采用一種可微分的非線性函數,這就形成了功能比較強大的多層前向網絡。由于多層前向網絡的權值調整是采用反向傳播學習算法(BackPropagation),通常人們將其稱為BP網絡。反向傳播算法也稱BP算法由于這種算法在本質上是一種NN學習的數學模型,所以,有時也稱為BP模型。BP算法是為了解決多層前向NN的權系數優化而提出來的,所以,BP算法也通常暗示著NN的拓撲結構是一種無反饋的多層前向網絡。故而,有時也稱無反饋多層前向網絡為BP模型。2.5BP網絡及BP算法BP網絡是將LMS(梯度下降算法)學習規則一般化,對非線性、可微分的函數進行權值訓練的多層網絡。BP網絡是一種多層前向反饋神經網絡,其神經元的變換函數是S型函數或其他處處可導的函數。由于激活函數必須是處處可微的,所以它就不能采用二值型的閾值函數{0,1}或符號函數{-1,1},BP網絡經常使用的是S型的對數或正切激活函數和線性函數(一般在輸出時使用,是滿足網絡的輸出不受限制)。2.5BP網絡及BP算法感知器學習算法是一種單層網絡的學習算法.不能用于多層NN的學習.1986年,Rumelhart提出了BP算法.由于適用于多層網絡的學習,因此是目前應用最廣泛的NN學習算法之一,在學習系統、擬合和逼近、自動控制中應用較廣.2.5BP網絡及BP算法Hornik等人證明了:僅有一個非線性隱層的前饋網絡就能以任意精度逼近任意復雜度的函數.下面,將深入討論反向傳播學習的BP算法,主要內容有:BP算法的原理BP算法的數學表達BP算法的執行步驟2.5BP網絡及BP算法2.5.1BP算法的原理1.

BP算法的原理BP算法是用于前饋多層網絡的學習算法,前饋多層網絡的結構一般如圖2.6所示.它含有輸入層、輸出層以及處于輸入輸出層間的中間層.中間層有單層或多層,由于它們和外界沒有直接的聯系,故也稱為隱層.在隱層中的神經元也稱隱單元.隱層雖然和外界不連接,但是它們的狀態影響輸入輸出之間的關系.這也是說,改變隱層的權系數,可以改變整個多層NN的性能.2.5.1BP算法的原理圖2.6

網絡學習結構2.5.1BP算法的原理設有一個m層的NN,并在輸入層加有樣本x;設第k層的i神經元的輸入總和表示為uik,輸出為xik;從第k-1層的第j個神經元到第k層的第i個神經元的權系數為wijk-1各個神經元的激發函數為f(),則各個變量的關系可用下面有關數學式表示:其中nk-1為第k-1隱單元層的神經元個數.2.5.1BP算法的原理BP算法分二步進行,即NN輸出計算的正向傳播和NN學習過程的反向傳播.這兩個過程的工作簡述如下.A.正向傳播輸入的樣本從輸入層經過隱單元一層一層進行處理,則傳向輸出層,即在所給定的輸入樣本下,計算NN的輸出.在逐層處理的過程中,每一層神經元的狀態只對下一層神經元的狀態產生影響.在輸出層把現行輸出和期望輸出進行比較,如果現行輸出不等于期望輸出,則進入反向傳播過程.2.5.1BP算法的原理B.反向傳播把誤差信號按原來正向傳播的路徑反向傳回到每個神經元,并對每個隱層的各神經元的權系數進行修改,以使誤差信號趨向最小.2.5.2BP算法的數學表達1.BP算法的數學表達BP算法實質是求取誤差函數的最小值問題,它采用非線性規劃中的最速下降法,按誤差函數的負梯度方向修改權系數.為了說明BP算法,首先定義誤差函數e.取期望輸出和實際輸出之差的平方和為誤差函數,則有:其中oi是輸出單元的期望值,它在這里用作教師信號;xim是NN的單變量實際輸出(第m層NN為輸出層).2.5.2BP算法的數學表達由于BP算法按誤差函數e的負梯度方向修改權系數,故權系數的修改量為顯然,根據BP算法原則,求最關鍵.下面討論求,有2.5.2BP算法的數學表達其中xjm-1(i)和u1m(i)為在第i組輸入樣本下xjm-1和u1m的計算值,d1m(i)=(xim-oi)f’(u1m(i))在這里引入d1m(i),為了學習公式表達簡潔。若k=m-1,即所討論的為輸出層與倒數第二層間的權重,則由上式,有若k=m-2,有2.5.2BP算法的數學表達其中2.5.2BP算法的數學表達其中這里引入drm(i)的意義如前。類似上述推導過程,有如下計算式2.5.2BP算法的數學表達因此,權系數的修正公式為其中s是指權系數的修正迭代次數,是權重變化率,它視情況不同而取值不同,一般取0~1之間的小數.BP算法解釋:隱含層誤差dm-1可以認為是由輸出層誤差dm加權組合形成的。

2.5.2BP算法的數學表達從上述過程可知:正向計算過程.多層網絡的訓練方法是把一個樣本加到輸入層,并根據向前傳播的規則不斷一層一層向輸出層傳遞,最終在輸出層可以得到輸出xim.反向學習過程.把xim和期望輸出oi進行比較,如果兩者不等,則產生誤差信號e,接著則按權系數的修正公式反向傳播修改權系數.上面公式中,求取本層dik時,要用到高一層的dik+1.可見,誤差函數的求取是從輸出層開始,到輸入層的反向傳播過程.在這個過程中不斷進行遞歸求誤差.通過多個樣本的反復訓練,同時向誤差漸漸減小的方向對權系數進行修正,以達最終消除誤差.2.5.2BP算法的數學表達若BP網絡的神經元的非線性激發函數為S函數,由于神經元的輸出:其中neti=x1w1i+x2w2i+…+xnwni輸出函數分析

0.5f′(net)0.25o0

1

1(0,0.5)

net(0,0)o應該將net的值盡量控制在收斂比較快的范圍內可以用其它的函數作為激活函數,只要該函數是處處可導的2.5.2BP算法的數學表達由神經元的激發函數為S函數,則上述權系數的學習公式為2.5.2BP算法的數學表達其中從上面公式也可以知道,如果網絡的層數較多時,所用的計算量就相當可觀,故而收斂速度不快.2.5.3BP算法的執行步驟1.BP算法的執行步驟在BP算法應用于前饋多層網絡時,采用S激發函數時,可用下列步驟對網絡的權系數進行遞歸求取,其中k=m-1,…,2,1;j=1,2,…,nk+1;i=1,2,…,nk.類似于前面的討論,對神經元xik的閾值ik,可用增加一個狀態恒為1(即=1)的隱神經元及相應的權重的方法來處理.綜合上述BP算法的思想和計算公式,有如下計算步驟.2.5.3BP算法的執行步驟算法的執行的步驟如下:步1.對權系數置初值.對各層的權系數置一個較小的非零隨機數,但其中步2.輸入第i個輸入樣本以及對應期望輸出oi.步3.計算各層的輸出對于第k層第j個神經元的輸出xjk(i),有:2.5.3BP算法的執行步驟步4.求各層的學習誤差djk(i)步5.修正權系數和閾值ik2.5.3BP算法的執行步驟或步6.當求出了各層各個權系數之后,可按給定品質指標判別是否滿足要求.如果滿足要求,則算法結束;如果未滿足要求,則返回步3執行.2.5.3BP算法的執行步驟BP網絡訓練的幾種模式批處理模式(batchmode)訓練過程以所有樣本為一個epoch。訓練時計算出所有樣本的整體誤差后,加權系數才調整。學習模式(patternmode)

訓練過程輸入一個樣本,計算學習誤差,調整加權系數。2.5.3BP算法的執行步驟上述過程是針對同時學習多個樣本的情況,若每次學習時,只學習當前樣本,則BP算法的學習過程步驟為:步1.對權系數置初值.對各層的權系數置一個較小的非零隨機數.步2.輸入第i個輸入樣本以及對應期望輸出o.步3.計算各層的輸出對于第k層第j個神經元的輸出xjk,有:2.5.3BP算法的執行步驟步4.

求各層的學習誤差djk步5.修正權系數和閾值ik2.5.3BP算法的執行步驟或步6.當求出了各層各個權系數之后,可按給定品質指標判別是否滿足要求.如果未滿足要求,則返回步3執行;如果滿足要求,則執行下一步.步7.對下一樣本,返回步2學習新樣本.2.5.3BP算法的執行步驟要求根據上面計算步驟,自行用C語言或Matlab語言編制BP算法的程序!!!2.5.4BP算法的逼近學習算例1.BP算法的逼近學習算例多層感知器及BP模型是具有普適性的通用(萬能)逼近器、學習器,可廣泛用于學習、逼近與分類問題。其應用于學習、逼近與分類問題的過程、步驟為:問題的形式化(Formalization):變量的選擇和表示準備學習的樣本數據(datapreparing),并作預處理決定系統(神經網絡)的模型和結構選擇評估函數(objectivefunction)選擇最佳化的方法:調整系統參數使得誤差最小先驗的(Prior)學習法則或啟發式的(heuristic)知識泛化(Generalization)2.5.4BP算法的逼近學習算例神經網絡學習的架構2.5.4BP算法的逼近學習算例下面先討論BP網絡設計問題然后討論BP算法在函數逼近的2算例.例1

函數逼近例2

分類問題2.5.4BP算法的逼近學習算例A.BP網絡設計問題解決實際學習與逼近問題的BP網絡設計主要分為如下步驟:訓練樣本集的準備輸入輸出數據的歸一化網絡訓練與測試2.5.4BP算法的逼近學習算例一、訓練樣本集的準備訓練樣本集的準備包括:輸入輸出量的選擇輸入量的提取與表示輸出量的表示2.5.4BP算法的逼近學習算例(1)輸入輸出量的選擇輸出量代表系統要實現的功能目標,例如系統的性能指標,分類問題的類別歸屬,或非線性函數的函數值等等。輸入量必須選擇那些對輸出影響大且能夠檢測或提取的變量,此外還要求各輸入變量之間互不相關或相關性很小,這是輸入量選擇的兩條基本原則。從輸入、輸出量的值是數值確定的連續量或離散量。2.5.4BP算法的逼近學習算例(2)輸入量的提取與表示分類問題的文字符號/圖像輸入直接利用圖像的像素信息編碼,如根據識別的具體目的從圖象中定義特征,然后提取特征參數(這種特征提取屬于圖象處理的范疇)。2.5.4BP算法的逼近學習算例逼近問題的曲線輸入一般有幾個輸入量就設幾個分量,1個輸入分量對應1個輸入層節點。2.5.4BP算法的逼近學習算例(3)輸出量的表示分類問題對2類分類問題,輸出編碼為0或1,輸出節點為1個;對多類(n類)分類問題,輸出節點可設為n個或n-1個,對應的輸出編碼為(以n=4為例)1000010000100001或000100010001系統要實現的功能目標,例如系統的性能指標,分類問題的類別歸屬,或非線性函數的函數值等等。逼近問題可直接采用逼近問題樣本數據的輸出量2.5.4BP算法的逼近學習算例二、輸入輸出數據的歸一化歸一化也稱為或標準化,是指通過變換處理將網絡的輸入、輸出數據限制在[0,1]或[-1,1]區間內。進行歸一化的主要原因:網絡的各個輸入數據常常具有不同的物理意義和不同的量綱,歸一化給各輸入分量以同等重要的地位;由于BP神經網絡的隱層一般采用Sigmoid轉換函數,為提高訓練速度和靈敏性以及有效避開Sigmoid函數的飽和區,一般要求輸入數據的值在-1~1之間。Sigmoid函數的輸出在0~1之間。教師信號如不進行歸一化處理,勢必使數值大的輸出分量絕對誤差大,數值小的輸出分量絕對誤差小。將輸入輸出數據變換為[0,1]區間的值常用以下變換式其中,xi代表輸入或輸出數據,xmin代表數據的最小值,xman代表數據的最大值。類似地可以得到將輸入輸出數據變換為[-1,1]的變換式。2.5.4BP算法的逼近學習算例2.5.4BP算法的逼近學習算例三、網絡訓練與測試網絡的性能好壞主要看其是否具有很好的泛化能力。所謂泛化能力,即指網絡對于訓練集中未出現的,但來自于同一分布的樣本作出正確反應的能力。2.5.4BP算法的逼近學習算例影響泛化能力的主要因素:訓練集樣本的質量和復雜性;訓練集樣本的數量;網絡結構的選擇。一般說,訓練樣本數越多,訓練結果越能正確反映其內在規律。因此,映射關系越復雜的系統,需要提供的樣本數越多.事實上,當樣本數多到一定程度,網絡的精度也很難再提高。經驗:訓練樣本數是網絡連接權總數的5~10倍。對泛化能力的測試不能用訓練集的數據進行,而要用訓練集以外的測試數據來進行檢驗。必須將收集到的數據隨機分成訓練樣本和測試樣本。2.5.4BP算法的逼近學習算例在隱節點數一定的情況下,為獲得好的泛化能力,存在著一個最佳訓練次數。2.5.4BP算法的逼近學習算例這就是說,并非訓練的次數越多,越能得到正確的輸入輸出的映射關系。訓練網絡的的目的在于找出蘊含在樣本數據中的輸入輸出之間的本質關系,從而對于未經訓練的輸入也能給出合適的輸出,即具備泛化功能。由于所收集的數據都是包含噪聲的,訓練的次數過多,網絡將包含噪聲的數據都記錄了下來,這樣對于新的輸入數據并不能給出合適的輸出。網絡的性能主要用它的泛化能力來衡量,卻不是用它對數據的擬合程度來衡量,而是要用一組獨立的數據來加以測試和檢驗。2.5.4BP算法的逼近學習算例B.函數逼近例1

應用3層BP網絡來完成一元函數逼近的任務學習的函數樣本及對應函數的圖形為{-1.0;-0.9602} {-0.9;-9.5770} {-0.8;-0.0729}{-0.7;0.3771} {-0.6;0.6405} {-0.5;0.6600}{-0.4;0.4609} {-0.3;0.1336} {-0.2;-0.2013}{-0.1;-0.4344} {0.0;-0.5000} {0.1;-0.3930}{0.2;-0.1647} {0.3;0.0988} {0.4;0.3072}{0.5;0.3960} {0.6;0.3449} {0.7;0.1816}{0.8;-0.0312} {0.9;-0.2189} {1.0;-0.3201}2.5.4BP算法的逼近學習算例2.5.4BP算法的逼近學習算例對該一元函數逼近算例的BP網絡,可設計如下輸入層和輸出層神經元數為1隱單元層神經元個數預選為5個,采用matlab仿真軟件進行仿真(也可自己根據BP網絡的學習算法和計算步驟編制Matlab程序).首先利用函數newff建立一個bp神經元網絡net=newff(minmax(P),[51],{'tansig''purelin'},'traingd','learngd','sse');2.5.4BP算法的逼近學習算例然后利用函數train對網絡進行訓練net.trainParam.show=10;%在訓練過程中顯示的頻率net.trainParam.epochs=8000;%最大訓練次數net.trainParam.goal=0.02;%訓練所要達到的精度

net.trainParam.lr=0.01;%修正權值的學習速率[net,tr]=train(net,P,T);2.5.4BP算法的逼近學習算例圖2.7給出了網絡輸出值隨訓練次數的增加而變化的過程.2.5.4BP算法的逼近學習算例2.5.4BP算法的逼近學習算例圖2.8給出了454次訓練后的最終網絡結果,以及網絡的誤差結果.2.5.4BP算法的逼近學習算例2.5.4BP算法的逼近學習算例C.分類問題例2

應用3層BP網絡來異或(XOR)分類問題對異或(XOR)分類問題,由真值表可知樣本為{0,0;0} {0,1;1} {1,0;1} {1,1;0}因此BP網絡的輸入層神經元數為2輸出層神經元數為1隱單元層神經元個數預選為2個神經元的激發函數選為sigmoid函數--雙曲函數f(u)=tanh(u)NN的結構圖如下圖所示.2.5.4BP算法的逼近學習算例2.5.4BP算法的逼近學習算例仿真中學習速率為0.8權重的初始值為iterationstopswhene<0.0001(took4392iterations)Sothefinalvaluesoftheweightsare手寫數字識別人臉識別下一節主要內容BP網絡的存在的問題和改進方法/archiver/tid-279.html第二章:前饋網絡

2.5.5BP算法的問題1.BP算法的問題BP模型具有良好的逼近與學習特性,實現簡單,因此得到廣泛重視,并迅速走向應用.但BP算法在應用中依然存在不少問題,如:學習參數的選取初始權值的選取;學習速率的選取;期望誤差的選取.2.5.5BP算法的問題結構設計網絡的層數;隱含層的神經元數;

數據標準化收斂性問題欠擬合與過擬合問題2.5.5BP算法的問題A.學習參數的選取A1.初始權值的選取BP算法決定了誤差函數一般存在(很)多個局部極小點,不同的網絡初始權值直接決定了BP算法收斂于哪個局部極小點或是全局極小點。因此網絡權值的初始化決定了訓練從誤差曲面的哪一點開始,很重要。2.5.5BP算法的問題神經元的激活函數多是關于零點對稱的函數,為了加快訓練速度和防止網絡癱瘓,初始權值應選擇在使各節點的初始凈輸入落在函數的零點附近。一般取初始權值在(-1,1)之間或更小范圍的隨機數.2.5.5BP算法的問題A2.學習速率學習速率決定每一次循環訓練中所產生的權值變化量.大的學習速率可能導致系統的不穩定;但小的學習速率導致較長的訓練時間,可能收斂很慢;一般情況下傾向于選取較小的學習速率以保證系統的穩定性;學習速率的選取范圍在0.01~0.8之間.2.5.5BP算法的問題對于較復雜的網絡,在誤差曲面的不同部位可能需要不同的學習速率.為了減少尋找學習速率的訓練次數以及訓練時間,比較合適的方法是采用變化的自適應學習速率,使網絡的訓練在不同的階段設置不同大小的學習速率.對已知如下二階偏導則由非線性數值優化牛頓法的思想,有BP算法的學習速率一般應滿足:<opt2.5.5BP算法的問題A3.期望誤差的選取在設計網絡的訓練過程中,期望誤差值也應當通過對比訓練后確定一個合適的值,這個所謂的“合適”,是相對于所需要的隱含層的節點數來確定的。一般情況下,作為對比,可以同時對兩個不同期望誤差值的網絡進行訓練,最后通過綜合因素的考慮來確定采用其中一個網絡.2.5.5BP算法的問題

B.結構設計BP網絡的訓練就是通過應用誤差反傳原理不斷調整網絡權值使網絡模型輸出值與已知的訓練樣本輸出值之間的誤差平方和達到最小或小于某一閾值。雖然理論上早已經證明:具有1個隱層(采用S轉換函數)的BP網絡可實現對任意函數的任意逼近。但遺憾的是,迄今為止還沒有構造性結論,即在給定有限個(訓練)樣本的情況下,如何設計一個合理的BP網絡模型并通過向所給的有限個樣本的學習(訓練)來滿意地逼近樣本所蘊含的規律的問題,目前在很大程度上還需要依靠設計者的經驗。因此,通過訓練樣本的學習(訓練)建立合理的BP神經網絡模型的過程,在國外被稱為

溫馨提示

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

評論

0/150

提交評論