神經(jīng)網(wǎng)絡理論概述_第1頁
神經(jīng)網(wǎng)絡理論概述_第2頁
神經(jīng)網(wǎng)絡理論概述_第3頁
神經(jīng)網(wǎng)絡理論概述_第4頁
神經(jīng)網(wǎng)絡理論概述_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

上海大學模式識別(論文)上海大學2015~2016學年秋季學期研究生課程考試文獻閱讀報告課程名稱:《模式識別》課程編號:08SB69004題目:神經(jīng)網(wǎng)絡理論概述以及實現(xiàn)研究生姓名:張三學號:1111111論文評語:成績:任課教師:1111111評閱日期:

神經(jīng)網(wǎng)絡理論概述以及實現(xiàn)2016-01-12摘要: 由于其強大的學習能力,人工神經(jīng)網(wǎng)絡己經(jīng)成為研究模式識別如人臉辨識、字符識別、車牌識別(LPR)、語音識別和信號處理等分類問題的重要工具。研究證明,神經(jīng)網(wǎng)絡的性能主要取決于三個因素:首先是用于訓練神經(jīng)網(wǎng)絡的樣本的特征選擇方法,采用合適的特征選擇模型,尋找最佳的神經(jīng)網(wǎng)絡優(yōu)化算法。本文主要講述BP神經(jīng)網(wǎng)絡、RBF神經(jīng)網(wǎng)絡、Hopfield離散型神經(jīng)網(wǎng)絡和Hopfield連續(xù)型神經(jīng)網(wǎng)絡。本文給出了這四種神經(jīng)網(wǎng)絡的思想步驟,并且舉例子用代碼認證。關鍵字:神經(jīng)網(wǎng)絡,分類器,模式識別,擬合仿真OverviewofneuralnetworktheoryandtherealizationAbstract:Artificialneuralnetwork(ANN)hasbeenanimportanttooltoinvestigateclassificationproblemssuchasfacerecognition,characterrecognition,licenseplaterecognition(LPR),speech,andsignalprocessingduetostronglearningability.Manyresearchersagreethattheperformanceofaneuralnetworkdependsstronglyonthreefactors:featureselectionmethodforthetrainingdatasets,optimizationalgorithmfortheneuralnetwork.ThisarticlefocusesontheBPneuralnetwork,RBFneuralnetwork,HopfielddiscreteHopfieldcontinuousneuralnetworksandneuralnetworks.Thispaperpresentstheideastepfourneuralnetworks,andexamplesgivencodecertification.Keywords:Neuralnetwork,Classifier,PatternRecognition,FittingSimulation

目錄1.緒論 31.1神經(jīng)網(wǎng)絡的概述 31.2論文的構成 32.神經(jīng)網(wǎng)絡的分類理論 42.1分類理論及實現(xiàn)過程 42.1.1分類的定義 42.1.2分類的實現(xiàn)過程 42.1.3幾種主要的分類方法及特性 52.2基于神經(jīng)網(wǎng)絡的分類理論 62.2.1神經(jīng)網(wǎng)絡特征 62.2.2神經(jīng)網(wǎng)絡分類方法 72.3本章小結 83.四種神經(jīng)網(wǎng)絡的實現(xiàn) 93.1BP神經(jīng)網(wǎng)絡 93.2神經(jīng)網(wǎng)絡RBF 143.3hopfield神經(jīng)網(wǎng)絡 183.3.1原理簡介: 183.3.2離散型Hopfield 193.3.3連續(xù)Hopfield神經(jīng)網(wǎng)絡 214結束語 24參考文獻: 25附錄一 26附錄二 31

1.緒論1.1神經(jīng)網(wǎng)絡的概述人工神經(jīng)網(wǎng)絡(ArtificialNeuralNetworks,簡寫為ANNs)是由大量類似于生物神經(jīng)元的處理單元相互連接而成的非線性復雜網(wǎng)絡系統(tǒng)。它是用一定的簡單的數(shù)學模型來對生物神經(jīng)網(wǎng)絡結構進行描述,并在一定的算法指導下,使其能夠在某種程度上模擬生物神經(jīng)網(wǎng)絡所具有的智能行為,解決傳統(tǒng)算法所不能勝任的智能信息處理的問題。它是巨量信息并行處理和大規(guī)模并行計算的基礎,神經(jīng)網(wǎng)絡既是高度非線性動力學系統(tǒng),又是自組織自適應系統(tǒng),可用來描述認知、決策和控制的智能行為。1.2論文的構成論文撰寫的過程是從理論上由淺入深地研究,再對理論進行驗證的過程。本文共分四章,具體章節(jié)安排如下:第一章是緒論,主要闡述了神經(jīng)網(wǎng)絡的定義以及內(nèi)容以及構成。第二章是神經(jīng)網(wǎng)絡的分類理論主要講述分類的定義、分類的實現(xiàn)過程。神經(jīng)網(wǎng)絡的特點,神經(jīng)網(wǎng)絡的分類方法。最后對第二章進行總結。第三章講述四種神經(jīng)網(wǎng)絡的實現(xiàn),主要講述BP神經(jīng)網(wǎng)絡、RBF神經(jīng)網(wǎng)絡、離散型Hopfield神經(jīng)網(wǎng)絡、連續(xù)型神經(jīng)網(wǎng)絡。最后有代碼實現(xiàn)這四個神經(jīng)網(wǎng)絡。第四章是總結講述本文的不足以及各種神經(jīng)網(wǎng)絡的優(yōu)缺點。第五章參考文獻,附錄一和附錄二

2.神經(jīng)網(wǎng)絡的分類理論2.1分類理論及實現(xiàn)過程2.1.1分類的定義分類(Classification)是一種重要的模式識別和數(shù)據(jù)挖掘技術,其作用是根據(jù)數(shù)據(jù)集的點,找出描述并區(qū)分數(shù)據(jù)類或概念的模型或函數(shù)(我們一般稱之為分類器),以便能夠使用該模型或函數(shù)預測類標記未知的對象類,導出模型是基于對訓練數(shù)據(jù)集(即其類標記己知的數(shù)據(jù)對象)的分析。實現(xiàn)分類的關鍵步驟有兩個,一是根據(jù)己知類別的訓練數(shù)據(jù)集,訓練并構造一個分類器,用于描述預定的數(shù)據(jù)類集或概念集;二是使用所獲得的模型函數(shù),對未知對象進行分類。2.1.2分類的實現(xiàn)過程分類的實現(xiàn)一般具有以下三個過程:一、數(shù)據(jù)的預處理。進行數(shù)據(jù)預處理的目的在于按照分類的要求對數(shù)據(jù)集進行優(yōu)化,以保證分類的準確性和有效性,數(shù)據(jù)的預處理可能包含以下若干步驟:(1)數(shù)據(jù)清理。減少或消除數(shù)據(jù)中存在的系統(tǒng)噪聲或隨機噪聲,刪除數(shù)據(jù)集中存在的明顯錯誤的數(shù)據(jù),以及對空缺的數(shù)據(jù)進行處理。(2)數(shù)據(jù)的相關性分析。需要分類的數(shù)據(jù)集中可能存在一些屬性,與分類任務不相關。如果在分類過程中包含這些屬性可能會減慢甚至誤導學習過程,影響分類結果的準確性。進行數(shù)據(jù)相關性分析的目的就是去除這些不相關或冗余的屬性。(3)數(shù)據(jù)變換。數(shù)據(jù)集中某些連續(xù)的數(shù)據(jù)需要離散化,定性的數(shù)據(jù)需要定量化。(4)數(shù)據(jù)歸約。分類過程中有些數(shù)據(jù)需要按照比例進行縮放,也叫做數(shù)據(jù)的歸一化。二、分類器的建立。構造分類器的過程分為訓練階段和測試階段。一般的實現(xiàn)分類的過程中,需要將數(shù)據(jù)集分成兩部分,一部分用于分類器的訓練,另一部分則用于分類器的測試。在訓練階段,使用一定的規(guī)則或算法對訓練數(shù)據(jù)集中各屬性數(shù)據(jù)進行學習,由于預先知道每個訓練樣本的類別屬性值,所以該過程也稱為有導師的學習;在測試階段,使用測試數(shù)據(jù)集對該分類器的分類準確性進行評估。將測試數(shù)據(jù)集輸入到分類器中進行分類,用得出的預測類與己知的目標進行匹配,如果相同,則表明分類成功。三、分類器的運用。進行準確性評估后,如果該分類器可以達到用戶需求,則可以使用該分類器對其他數(shù)據(jù)進行分類。2.1.3幾種主要的分類方法及特性構造分類器的方法有多種,其中比較成熟、應用比較廣泛的包括:決策樹、貝葉斯算法、關聯(lián)規(guī)則、支持向量機和神經(jīng)網(wǎng)絡等方法。(1)決策樹分類算法決策樹(DecisionTree)分類算法也稱貪心算法,是一種以實例為基礎的歸納學習算法。決策樹算法以ID3算法、C5.0算法為代表,采用自頂向下的方式構造,它從一組無次序無規(guī)則的實例中構建樹形的分類信息。樹的節(jié)點為遞歸選取的測試樣本屬性,一旦一個屬性在某個節(jié)點出現(xiàn),則不會在該節(jié)點的后代出現(xiàn)。在構造決策樹的過程中,一般還需要根據(jù)某一規(guī)則完成樹的剪枝。決策樹分類算法的優(yōu)點在于,首先它的構造過程比較簡單,計算量小,且構造規(guī)則便于理解;其次,決策樹的構建速度快,不存在無解的情況,且可以處理非數(shù)值數(shù)據(jù)。決策樹分類算法的缺點是可擴展性較差,當增加新的實例時,原決策樹就不可再用,需要重新構建新的決策樹;對噪聲比較敏感,當數(shù)據(jù)質(zhì)量比較差時很構建效果不理想。(2)貝葉斯分類算法貝葉斯((Bayes)算法是一類基于概率統(tǒng)計知識來進行分類的算法。使用該算法預測類的可能性,需要己知先驗概率與類的條件概率。設每個數(shù)據(jù)樣本具有n個屬性值,則使用一個n維特征向量來表示,即,設共有m個類,記為。一個未知類屬的數(shù)據(jù)樣本X,用貝葉斯分類法將它歸為類,則必有1<_j<_m,,即通過計算,選擇可能性最大的類別作為該數(shù)據(jù)樣本X的類別,根據(jù)貝葉斯公式計算而得。其中,是的先驗概率,是條件概率。貝葉斯算法能夠達到良好分類效果的條件是待分類樣本間屬性相互獨立,否則會大幅影響分類精度,并且造成極大的計算開銷。并且貝葉斯算法只有在大樣本量數(shù)據(jù)前提下才有較好的分類效果,不適合小樣本數(shù)據(jù)。(3)關聯(lián)規(guī)則分類算法關聯(lián)規(guī)則分類算法(Classificationbasedonassociationrule,CBA)以經(jīng)典算法Apriori為代表,是一類通過關聯(lián)規(guī)則發(fā)現(xiàn)方法來進行分類的算法。Apriori算法將發(fā)現(xiàn)關聯(lián)規(guī)則的過程分為兩個步驟:第一步通過迭代,檢索出事務數(shù)據(jù)庫中的所有頻繁項集,即支持度不低于用戶設定的閡值的項集;第二步利用頻繁項集構造出滿足用戶最小置信度的規(guī)則。Apriori是一種廣度優(yōu)先的算法,受計算機硬件條件約束,時間代價高昂。在此基礎上,研究人員提出了一系列改良的關聯(lián)規(guī)則分類算法。該類算法在很多領域被廣泛應用。(4)支持向量機分類算法支持向量機(SupportVectorMachine,SVM)}是一種強大的機器學習方法,其基礎是Vapnik創(chuàng)建的統(tǒng)計學習理論(statisticallearningtheory,STL),采用結構風險最小化(structuralriskminimization,SRM)準則,在最小化樣本點誤差的同時,最小化結構風險,提高了模型的泛化能力,并且沒有數(shù)據(jù)維數(shù)的限制。在進行線性分類時,將分類面取在離兩類樣本距離較大的地方;在進行非線性分類時,通過高維空間變換,將低維的線性不可分問題變換成高維空間的線性可分問題。2.2基于神經(jīng)網(wǎng)絡的分類理論2.2.1神經(jīng)網(wǎng)絡特征(1)非局限性。網(wǎng)絡由大量神經(jīng)元構成,其中單個神經(jīng)元的結構和功能都比較簡單,整個系統(tǒng)的功能依賴神經(jīng)元間的相互作用和相互影響。(2)非線性。網(wǎng)絡中的神經(jīng)元模擬生物神經(jīng)元的特征,具有激活和抑制兩種狀態(tài),決定了網(wǎng)絡的非線性特征。也決定了神經(jīng)網(wǎng)絡非常適合解決實際中的非線性問題,具有較高的存儲容量和容錯特性。(3)非凸性。一定的情況下,某些函數(shù)可能存在著多個極值,對應著系統(tǒng)的多個穩(wěn)定的狀態(tài),而每個穩(wěn)定狀態(tài)可能代表著系統(tǒng)朝著某個方向進行演化的能力。所以,神經(jīng)網(wǎng)絡的非凸性體現(xiàn)在它可能具有多個穩(wěn)定的平衡態(tài),繼而可以向多個方向進行演化,具有演化多樣性的特征。(4)非常定性。網(wǎng)絡會根據(jù)信息處理的過程與非線性動力系統(tǒng)同時發(fā)生變化,這便是神經(jīng)網(wǎng)絡的自組織、自學習和自適應的能力。神經(jīng)網(wǎng)絡正是因為具有以上特性,所以能解決許多數(shù)學方法或基于統(tǒng)計的方法無法解決的實際問題,因而得到了非常廣泛的研究與應用。目前,神經(jīng)網(wǎng)絡的應用領域不僅包括了計算機領域和信息領域,還融合在各大領域中的方方面面。2.2.2神經(jīng)網(wǎng)絡分類方法神經(jīng)網(wǎng)絡的應用和研究所涉及的領域十分廣泛,如優(yōu)化計算、智能控制、模式識別、智能計算機研制、計算機視覺、語言的識別、理解與合成以及經(jīng)濟等領域,其所解決的問題也涵蓋方方面面。然而歸根結底,神經(jīng)網(wǎng)絡所解決的問題只有兩種,即分類(Classification)與回歸(Regression)。所處理的問題是兩者中的哪一個,僅取決于網(wǎng)絡的輸出,分類問題輸出的是離散的類別標記,而回歸問題輸出連續(xù)和有序值。故而,分類問題在神經(jīng)網(wǎng)絡研究中占據(jù)半壁江山。如何針對具體問題利用神經(jīng)網(wǎng)絡構建分類器,對數(shù)據(jù)集進行準確的分類,該研究方向被廣泛關注。在神經(jīng)網(wǎng)絡分類中,存在兩類問題,是由實際問題和網(wǎng)絡的學習理論相協(xié)調(diào)的結果。其一是數(shù)據(jù)集中己知數(shù)據(jù)被分為幾類和每個樣本的類別,即在神經(jīng)網(wǎng)絡進行訓練和a}n,」試的時候,都預先給出網(wǎng)絡的期望輸出。網(wǎng)絡的學習過程,就是根據(jù)預測輸出和期望輸出的差值來調(diào)整網(wǎng)絡權重,使得實際輸出盡可能的逼近期望輸出,這種神經(jīng)網(wǎng)絡的學習被稱為“有導師”的學習(或“有監(jiān)督”的學習),此種分類即為“有導師”的分類。而另外一種情況則相反,數(shù)據(jù)集中沒有告知樣本被分為幾類和每個樣本的類別標號,即網(wǎng)絡無期望輸出,在此種情況下,所要劃分的類是未知的。此時網(wǎng)絡的分類實際上是一種探索行為,根據(jù)數(shù)據(jù)的特征,進行分析與比較,找到內(nèi)在規(guī)律,將對象的集合聚集而成由類似的對象所組成的若干類。這種神經(jīng)網(wǎng)絡的學習被稱為“無導師”(或“無監(jiān)督”的學習),此種分類即為“無導師”的分類,也被稱作“聚類”在某個實際的分類問題中,需要進行“有導師”的分類還是“無導師”的分類,這是由數(shù)據(jù)集的特征決定的。神經(jīng)網(wǎng)絡通過對己知類別的數(shù)據(jù)集進行學習,而實現(xiàn)對未知類別的數(shù)據(jù)集的分類,即為“有導師”的分類;神經(jīng)網(wǎng)絡對未知類別的數(shù)據(jù)集進行學習,從而將數(shù)據(jù)集中相似的對象所組成若干類,即為“無導師”的分類?!盁o導師”分類中重要的一點是,分類結果中潛在的知識是神經(jīng)網(wǎng)絡研究人員未知的,即研究人員不知道為何要將數(shù)據(jù)集分為這幾類,以及每類所代表的內(nèi)在含義,需要將分類結果送交相關領域的專家(如農(nóng)業(yè)領域?qū)<?進行分析和判斷才有可能得出結論。因此,解決這類問題需要具備相關領域的知識或有相關領域?qū)<覅f(xié)同研究。此外,進行兩種分類所選取的神經(jīng)網(wǎng)絡也是不同的,需要與該神經(jīng)網(wǎng)絡的學習模式相匹配。在“有導師”分類問題中,可以選取的神經(jīng)網(wǎng)絡有BP神經(jīng)網(wǎng)絡,徑向基神經(jīng)網(wǎng)絡等;在“無導師”分類問題中,可以選用的神經(jīng)網(wǎng)絡有自組織神經(jīng)網(wǎng)絡,SOM神經(jīng)網(wǎng)絡,ART神經(jīng)網(wǎng)絡等。在本文中,僅研究“有導師”的分類。圖2-1神經(jīng)網(wǎng)絡分類器設計流程2.3本章小結本章闡述了分類的相關理論,包括分類的定義,一般步驟,評價一個分類器的相關標準,并簡述了幾種傳統(tǒng)的分類方法。重點闡述了神經(jīng)網(wǎng)絡分類的特點,并結合智能算法,云計算等相關理論分析了神經(jīng)網(wǎng)絡分類算法的改進研究現(xiàn)狀。本文將在現(xiàn)有的研究基礎上,在接來的章節(jié)中,針對不同規(guī)模的農(nóng)業(yè)數(shù)據(jù)集,設計改進及優(yōu)化的神經(jīng)網(wǎng)絡分類器,實現(xiàn)對數(shù)據(jù)集的準確分類。

3.四種神經(jīng)網(wǎng)絡的實現(xiàn)3.1BP神經(jīng)網(wǎng)絡BP神經(jīng)網(wǎng)絡概念介紹BP(BackPropagation)網(wǎng)絡是一種按誤差反向傳播的多層前饋網(wǎng)絡,是目前應用最廣泛的神經(jīng)網(wǎng)絡模型之一。它能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數(shù)學方程。BP網(wǎng)絡由輸入層、隱層、輸出層構成,每層由許多并行運算的簡單神經(jīng)元組成,網(wǎng)絡的層與層之間的神經(jīng)元采用全互連方式,同層神經(jīng)元之間無相互連接。其結構如圖2.2所示。圖2.2三層BP網(wǎng)絡結構BP算法原理分析.BP算法的基本思想是把學習過程分為兩個階段:第一階段(正向傳播過程),給出輸入信息通過輸入層經(jīng)各隱層逐層處理并計算每個單元的實際輸出值;第二階段(反向過程),若在輸出層未能得到期望的輸出值,則逐層遞歸地計算實際輸出與期望輸出之間的差值(即誤差),通過梯度下降法來修改權值,使得總誤差函數(shù)達到最小。以三層BP網(wǎng)絡為例簡介其算法思想,如圖2.2所示。設網(wǎng)絡的輸入、隱層、輸出節(jié)點數(shù)分別為。n、q、m,輸入樣本總數(shù)為P,表示第p個樣本的第i個輸入值,表示輸入層第i個節(jié)點到隱層第k個節(jié)點的權值,為隱層第k個節(jié)點到輸出層第j個節(jié)點的權值。為方便起見,把閾值寫入連接權中,則隱層第k個節(jié)點的輸出為輸出層第j個節(jié)點的輸出為:其中激勵函數(shù)f選用標準的Simoid函數(shù)其導數(shù)滿足定義全局誤差函數(shù)為其中為第p個樣本的誤差,為理想輸出根據(jù)梯度下降法推導如下的權值調(diào)整公式。輸出層的的調(diào)整其中稱為學習效率,一般取值范圍為0.1~0.3。定義誤差信號為:其中第一項:第二項于是從而輸出層個神經(jīng)元權值公式為隱層權值的調(diào)整定義誤差信號為其中于是從而隱層個神經(jīng)元的權值調(diào)整公式為3.2.2BP算法的程序的實現(xiàn)BP算法編程步驟如下:初始化對權值矩陣W,V賦隨機數(shù),將樣本模式計數(shù)器p和訓練次數(shù)計數(shù)器i設置為1,誤差E設置為0,學習率兮設為0~1間的一個數(shù),網(wǎng)絡訓練后達到的精度Emin。設為一個較小正數(shù);輸入訓練樣本對,根據(jù)公式(3.1)、(3.2)計算隱層和輸出層的輸出;根據(jù)公式(3.3)計算網(wǎng)絡輸出誤差;檢查是否對所有樣本完成一次輪訓。若p<P,計數(shù)器p增1,返回步驟=2\*GB3②,否則轉(zhuǎn)步驟⑤;根據(jù)公式(3.4)、(3.6)計算各層誤差信號;根據(jù)公式((3.5),(3.7)調(diào)整各層權值;檢查網(wǎng)絡總誤差是否達到精度要求。若E<Emin,訓練結束。計數(shù)器p增1,i增1,返回步驟②訓練結束,否則p置1,圖3.2BP算法流程用MATLAB程序?qū)崿F(xiàn)一個BP神經(jīng)網(wǎng)絡(實驗一):代碼如下clear;clc;X=[012345678910];D=[01234321234];figure;plot(X,D,'*');%繪制原始數(shù)據(jù)分布圖net=newff([010],[51],{'tansig','purelin'})net.trainParam.epochs=100;net.trainParam.goal=0.005;net=train(net,X,D);O=sim(net,X);figure;plot(X,D,'*',X,O);%繪制訓練后得到的結果和誤差曲線(附錄:2-2、2-3)V=net.iw{1,1}%輸入層到中間層權值theta1=net.b{1}%中間層各神經(jīng)元閾值W=net.lw{2,1}%中間層到輸出層權值theta2=net.b{2}%輸出層各神經(jīng)元閾值圖3.1BP神經(jīng)網(wǎng)絡(左)運行圖,(仿真圖像)圖3.2BP神經(jīng)網(wǎng)絡運行時間3.2神經(jīng)網(wǎng)絡RBFRBF網(wǎng)絡是一種三層前向網(wǎng)絡:第一層為輸入層,由信號源節(jié)點組成。第二層為隱含層,隱單元的變換函數(shù)是一種局部分布的非負非線性函數(shù),他對中心點徑向?qū)ΨQ且衰減。隱含層的單元數(shù)由所描述問題的需要確定。第三層為輸出層,網(wǎng)絡的輸出是隱單元輸出的線性加權。RBF網(wǎng)絡的輸入空間到隱含層空間的變換是非線性的,而從隱含層空間到輸出層空間的變換是線性。不失一般性,假定輸出層只有一個隱單元,令網(wǎng)絡的訓練樣本對為,其中為訓練樣本的輸入,為訓練樣本的期望輸出,對應的實際輸出為;基函數(shù)為第個隱單元的輸出為基函數(shù)的中心;為第個隱單元與輸出單元之間的權值。單輸出的RBF網(wǎng)絡的拓撲圖如圖1所示:圖3.3RBF網(wǎng)絡的拓撲圖當網(wǎng)絡輸入訓練樣本時,網(wǎng)絡的實際輸出為:(1)通常使用的RBF有:高斯函數(shù)、多二次函數(shù)(multiquadricfunction)、逆多二次函數(shù)、薄板樣條函數(shù)等。普通RBF網(wǎng)絡采用的是高斯函數(shù)。當“基函數(shù)”采用的高斯基函數(shù)具備如下的優(yōu)點:①表示形式簡單,即使對于多變量輸入也不增加太多的復雜性;②徑向?qū)ΨQ;③光滑性好,任意階導數(shù)均存在;由于該基函數(shù)表示簡單且解析性好,因而便于進行理論分析。RBF網(wǎng)絡具有良好的逼近任意非線性函數(shù)和表達系統(tǒng)內(nèi)在的難以解析的規(guī)律性的能力,并且具有極快的學習收斂速度?;趶较蚧瘮?shù)網(wǎng)絡的上述優(yōu)點,我們將其應用于對非線性函數(shù)的模擬當中。用MATLAB實現(xiàn)RBF神經(jīng)網(wǎng)絡代碼來擬合,取點數(shù)為400clc;clear;closeall;%產(chǎn)生輸入,generatethelearingdatald=400;%學習數(shù)據(jù)個數(shù)x=rand(2,ld);%0-1x=(x-0.5)*1.5*2;%-1.5,1.5x1=x(1,:);x2=x(2,:);F=20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2);%創(chuàng)建并訓練網(wǎng)絡net=newrb(x,F);%generatethetestingdatainterval=0.1;[i,j]=meshgrid(-1.5:interval:1.5);row=size(i);%數(shù)據(jù)轉(zhuǎn)化成一維數(shù)據(jù)tx1=i(:);tx1=tx1';tx2=j(:);tx2=tx2';tx=[tx1;tx2];%合并起來轉(zhuǎn)化成輸入%testing把tx帶到網(wǎng)絡中來進行模擬ty=sim(net,tx);%這個數(shù)神經(jīng)網(wǎng)絡的結果v=reshape(ty,row);figuresubplot(1,3,2)mesh(i,j,v);zlim([0,60])%plottheoriginalfunctioninterval=0.1;[x1,x2]=meshgrid(-1.5:interval:1.5);%把tx數(shù)據(jù)帶到原始數(shù)據(jù)中產(chǎn)生輸出數(shù)據(jù)F=20+x1.^2-10*cos(2*pi*x1)+x2.^2-10*cos(2*pi*x2);%這個是理想狀態(tài)下的結果subplot(1,3,1)mesh(x1,x2,F);zlim([0,60])%plottheerrorsubplot(1,3,3)mesh(x1,x2,F-v);%F-V表示誤差zlim([0,60])程序運行結果如下圖3.4RBF擬合圖圖3.4中左圖是誤差函數(shù),右圖是第一個是真實圖像,第二個是擬合圖像,第三個是真是圖像和擬合圖像的誤差??梢园l(fā)現(xiàn)擬合后誤差一般出現(xiàn)在邊緣。暫時還沒有弄明白。下面是運行的集體細節(jié)NEWRB,neurons=0,MSE=108.563NEWRB,neurons=25,MSE=48.7566NEWRB,neurons=50,MSE=3.67744NEWRB,neurons=75,MSE=0.127232NEWRB,neurons=100,MSE=0.00159733NEWRB,neurons=125,MSE=0.000151675NEWRB,neurons=150,MSE=2.15227e-005NEWRB,neurons=175,MSE=1.25495e-005NEWRB,neurons=200,MSE=6.46469e-006NEWRB,neurons=225,MSE=9.7884e-007NEWRB,neurons=250,MSE=1.35793e-006NEWRB,neurons=275,MSE=6.16389e-007NEWRB,neurons=300,MSE=1.14665e-007NEWRB,neurons=325,MSE=1.0913e-007NEWRB,neurons=350,MSE=1.04774e-007NEWRB,neurons=375,MSE=1.24328e-007NEWRB,neurons=400,MSE=6.41081e-0083.3hopfield神經(jīng)網(wǎng)絡3.3.1原理簡介:Hopfield網(wǎng)絡是有反饋的全互聯(lián)型網(wǎng)絡,其形式如圖3.5所示,N為神經(jīng)元的數(shù)目,V表示神經(jīng)元的輸入向量,U表示輸出向量,W為神經(jīng)元之間的權值。離散Hopfield網(wǎng)絡中每個神經(jīng)元的輸出只能取“1”或“-1”兩種狀態(tài),各神經(jīng)元的狀態(tài)可用向量V表示:V={v1,v2,…vn}。網(wǎng)絡中各神經(jīng)元彼此互相連接,即每個神經(jīng)元將自己的輸出通過連接權傳給其它神經(jīng)元,同時每個神經(jīng)元接受其它神經(jīng)元傳來的信息。圖3.5有反饋的全互聯(lián)型網(wǎng)絡Hopfield網(wǎng)絡的穩(wěn)定性是由能量函數(shù)來描述的,即對網(wǎng)絡的每個狀態(tài)發(fā)生變化時,能量函數(shù)E隨著網(wǎng)絡狀態(tài)變化而嚴格單調(diào)遞減,這樣Hopfield模型的穩(wěn)定與能量函數(shù)E在狀態(tài)空間的局部極小點將一一對應。設有N個神經(jīng)元構成的Hopfield網(wǎng)絡,其中第i個和第j個神經(jīng)元節(jié)點狀態(tài)分別記為vi和vj;w是神經(jīng)元i和j的連接權,為神經(jīng)元i的閾值。節(jié)點的能量可表示為:則整個Hopfield網(wǎng)絡整體能量函數(shù)定義為:E=-設有N個神經(jīng)元構成的Hopfield神經(jīng)網(wǎng)絡,第i個神經(jīng)元在t時刻所接收的來自其它N-1個神經(jīng)元輸入信號的總和記為ui(t),t+1時刻第i個神經(jīng)元的輸出值vi(t+1)是符號函數(shù)作用于ui(t)的某個閾值時,該神經(jīng)元將觸發(fā)成興奮狀態(tài)。據(jù)此可知Hopfield網(wǎng)絡的運行規(guī)則為:在網(wǎng)絡中隨機地選擇一個神經(jīng)元;求所選神經(jīng)元i(1iN)的輸入總和ui(t)=;根據(jù)ui(t)的值大小,更新神經(jīng)元的狀態(tài)if(ui(t))0thenvi(t+1)=1elsevi(t+1)=0;神經(jīng)元i以外的神經(jīng)元j的狀態(tài)不變化;轉(zhuǎn)向(1),直到網(wǎng)絡達到穩(wěn)定。Hopfield網(wǎng)絡作為記憶的學習時,穩(wěn)定狀態(tài)是給定的,通過網(wǎng)絡的學習求適合的權矩陣W(對稱陣),學習完成后以計算的方式進行聯(lián)想。對給定的M個模式,Hopfield網(wǎng)絡可按Hebb規(guī)則來進行學習。按上述規(guī)則求出權矩陣后,可認為網(wǎng)絡已經(jīng)將這M個模式存入到網(wǎng)絡的連接權中。3.3.2離散型Hopfield問題描述:設計一個Hopfield網(wǎng)絡,使其具有聯(lián)想記憶功能,能正確識別阿拉伯數(shù)字,當數(shù)字被噪聲污染后仍可以正確地識別。程序流程:先設計好標準的數(shù)字點陣(本文采用10*10矩陣表示),根據(jù)這些標準的數(shù)字點陣創(chuàng)建并訓練網(wǎng)絡,使網(wǎng)絡達到穩(wěn)定狀態(tài),用帶噪聲的數(shù)字測試訓練的網(wǎng)絡。噪聲有兩種形式:一種是固定噪聲;另一種是隨機噪聲,本文對兩種噪聲都做討論。設計數(shù)字點陣設計數(shù)字點陣(0-9)創(chuàng)建Hopfield網(wǎng)絡產(chǎn)生帶噪聲的數(shù)字點陣數(shù)字識別測試結果分析代碼實現(xiàn):(見附錄一)圖3.6matlab數(shù)字點陣實現(xiàn)圖3.7加入噪聲后的Hopfield復原圖在圖3.7中,第一行是原圖像,第二行數(shù)是加入噪聲圖像最后一行是用Hopfield圖像仿真的圖像。Hopfield仿真后仍然有些誤差,入2字上部分仿真就不怎么好。3.3.3連續(xù)Hopfield神經(jīng)網(wǎng)絡連續(xù)型Hopfield網(wǎng)絡(CHNN)是由一些簡單的電子線路連接起來實現(xiàn)的。每個神經(jīng)元均具有連續(xù)時間變化的輸出值。采用具有飽和非線性的運算放大器來模擬神經(jīng)元的S型單調(diào)輸入——輸出關系,即對于一個N節(jié)點的CHNN模型來說,其神經(jīng)元狀態(tài)變量的動態(tài)變化可用下述非線性微分方程組來描述圖3.8連續(xù)Hopfield示意圖能量函數(shù)定義為應用Hopfield神經(jīng)網(wǎng)絡來解決優(yōu)化計算問題的一般步驟為:1)分析問題:網(wǎng)絡輸出與問題的解相對應;2)構造網(wǎng)絡能量函數(shù):使其最小值對應問題最佳解;3)設計網(wǎng)絡結構:由能量函數(shù)和網(wǎng)絡穩(wěn)定條件設計網(wǎng)絡參數(shù),得到動力學方程;4)硬件實現(xiàn)或軟件模擬。問題描述它假定有n個城市A,B,C,……,它們之間的相互距離分別為要求尋找一條閉合路徑,此路徑歷經(jīng)每個城市且經(jīng)過一次,返回起始城市,要求此路徑最短。不考慮方向性和周期性,在給定n的條件下,可能存在的閉合路徑數(shù)目為1/2(n-1)!。隨著n的增大,計算量急劇增大,會發(fā)生所謂的“組合爆炸”問題。置換矩陣圖3.8不同城市數(shù)中路徑數(shù)量A,B,C,D,E(對應各行)表示城市名稱;1,2,3,4,5(對應各列)表示路徑順序;矩陣中“1”表示該城市在路徑全程中所居順序,其余元素均為“0”。此處路徑順序為C→A→E→B→D→C。特點:每行只有一個“1”,其余元素均為“0”;2)每列只有一個“1”,其余元素均為“0”;3)全部元素中“1”的總和為n。圖3.9城市連通圖的矩陣描述

具體算法步驟1)置初值和權值,t=0,A=1.5,D=1.0,U0=0.02;2)讀入N個城市之間的距離3)神經(jīng)網(wǎng)絡輸入的初始化;其中,,N為城市個數(shù),為(-1,+1)區(qū)間的隨機值;4)利用動態(tài)方程計算;5)根據(jù)一階歐拉法計算;6)采用sigmoid函數(shù)計算;7)計算能量函數(shù)E;8)檢查路徑合法性,判斷迭代是否結束,若未結束返回到第4)步;9)輸出迭代次數(shù)、最優(yōu)路徑、能量函數(shù)、路徑長度及能量變化。代碼實現(xiàn)見附件(附錄二)圖3.10實驗原始圖(左)和TSP算法實現(xiàn)的圖(右)

4結束語BP神經(jīng)網(wǎng)絡具有高度的非線性映射能力,能以任意精度逼近非線性函數(shù),因此比較適合于一些復雜問題的建模。但由于其自身的缺點,如收斂速度慢、目標函數(shù)存在局部極小點、難以確定隱含層數(shù)和隱節(jié)點數(shù)等,使其在應用方面受到限制。本論文對人工神經(jīng)網(wǎng)絡,特別是BP網(wǎng)絡作了系統(tǒng)的綜述,對BP網(wǎng)絡的工作原理進行了詳細的推導、給出了算法步驟,并對網(wǎng)絡的性能及存在缺陷的原因作了詳盡分析。RBF網(wǎng)絡確實比BP網(wǎng)絡體現(xiàn)出更強的函數(shù)逼近和分類能力。而且訓練速度明顯提高,訓練步數(shù)顯著減少。由此,可以看出RBF網(wǎng)絡具有下列優(yōu)點:①它具有唯一最佳逼近的特性,且無局部極小問題存在。②RBF神經(jīng)網(wǎng)絡具有較強的輸入和輸出映射功能,并且理論證明在前向網(wǎng)絡中RBF網(wǎng)絡是完成映射功能的最優(yōu)網(wǎng)絡。③網(wǎng)絡連接權值與輸出呈線性關系。=4\*GB3④分類能力好。=5\*GB3⑤學習過程收斂速度快。Hopfield神經(jīng)網(wǎng)絡BP網(wǎng)絡是誤差反向傳播網(wǎng)絡,屬于多層感知器網(wǎng)絡,輸入和輸出節(jié)點數(shù)根據(jù)需要設置,可用于模式識別,分類,預測等,Hopfield神經(jīng)網(wǎng)絡Hopfield網(wǎng)絡屬于無監(jiān)督學習神經(jīng)元網(wǎng)絡,網(wǎng)絡是單層反饋網(wǎng)絡,有連續(xù)性和離散型之分。Hopfield網(wǎng)絡的原型是一個非線性動力學系統(tǒng),目前,已經(jīng)在聯(lián)想記憶和優(yōu)化計算中得到成功應用.基于上面三種神經(jīng)網(wǎng)絡以及代碼實現(xiàn)我們發(fā)現(xiàn)每個神經(jīng)網(wǎng)絡都有其優(yōu)缺點,具體應用時具體分析。

參考文獻:[1](加)jiawenhan,MichelineKamber,孟小峰譯數(shù)據(jù)挖掘概念與技術[M].2008:184-229.[2]高鵬毅,陳傳波,BP神經(jīng)網(wǎng)絡分類器優(yōu)化技術研究[D]2012:39-83[3]陳琪,葉吉祥,基于RBF的語音情感識別方法研究[D]2010:28-41[4]孫娓娓,劉瓊蓀,BP神經(jīng)網(wǎng)絡的算法改進及應用研究[D]2009:1-14[5]韓家煒,孟小峰,王靜等,Web挖掘研究[J],計算機研究與發(fā)展,2001,(38).[6]李楊,楊寶華,基于神經(jīng)網(wǎng)絡的分類器設計及優(yōu)化[D]2013:6-20[7]王雅琊,瞎幼明,基于樸素貝葉斯和BP神經(jīng)網(wǎng)絡的中文文本分類問題研究[D]2008:9-43[8]馬芳,基于神經(jīng)網(wǎng)絡文本挖掘在專利自動分類中的研究應用[D]2009:14-24[9]CritesRH,BartoAG.Elevatorgroupcontrolusingmultiplereinforcementlearningagents.MachineLearning,1998,33(2-3):235-262[10]StanleyKO,MiikkulainenR.Evolvingneuralnetworksthroughaugmentingtopologies.EvolutionaryComputation,2002,10(2):99-127[11]Y.Peng,Z.Wu,J.Jiang.Anovelfeatureselectionapproachforbiomedicaldataclassification.JournalofBiomedicalInformatics,2010,43(1):15-23.

附錄一number_model.mzero=[-111111111-1;-111111111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111111111-1;-111111111-1];ZERO=imresize(zero,20);subplot(2,5,1)imshow(ZERO)one=[-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1];ONE=imresize(one,20);subplot(2,5,2)imshow(ONE)two=[-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-111111111-1;-111111111-1;...-111-1-1-1-1-1-1-1;-111-1-1-1-1-1-1-1;...-111111111-1;-111111111-1];TWO=imresize(two,20);subplot(2,5,3)imshow(TWO)three=[-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-111111111-1;-111111111-1];THREE=imresize(three,20);subplot(2,5,4)imshow(THREE)four=[-111-1-1-1-111-1;-111-1-1-1-111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111-1-1-1-111-1;-111111111-1;...-111111111-1;-1-1-1-1-1-1-111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1];FOUR=imresize(four,20);subplot(2,5,5)imshow(FOUR)five=[-111111111-1;-111111111-1;...-111-1-1-1-1-1-1-1;-111-1-1-1-1-1-1-1;...-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-111111111-1;-111111111-1];FIVE=imresize(five,20);subplot(2,5,6)imshow(FIVE)six=[-111111111-1;-111111111-1;...-111-1-1-1-1-1-1-1;-111-1-1-1-1-1-1-1;...-111111111-1;-111111111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111111111-1;-111111111-1];SIX=imresize(six,20);subplot(2,5,7)imshow(SIX)seven=[-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1];SEVEN=imresize(seven,20);subplot(2,5,8)imshow(SEVEN)eight=[-111111111-1;-111111111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111111111-1;-111111111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111111111-1;-111111111-1];EIGHT=imresize(eight,20);subplot(2,5,9)imshow(EIGHT)nine=[-111111111-1;-111111111-1;...-111-1-1-1-111-1;-111-1-1-1-111-1;...-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-111111111-1;-111111111-1];NINE=imresize(nine,20);subplot(2,5,10)imshow(NINE)Hopfield.m%%0和1的標準矩陣standardnumberarrayone=[-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1;...-1-1-1-111-1-1-1-1;-1-1-1-111-1-1-1-1];two=[-111111111-1;-111111111-1;...-1-1-1-1-1-1-111-1;-1-1-1-1-1-1-111-1;...-111111111-1;-111111111-1;...-111-1-1-1-1-1-1-1;-111-1-1-1-1-1-1-1;...-111111111-1;-111111111-1];%%畫出0,1的矩陣-plotstandardnumberfigureONE=imresize(one,20);subplot(3,2,1)imshow(ONE)title('standnumber')TWO=imresize(two,20);subplot(3,2,2)imshow(TWO)title('standnumber')%%創(chuàng)建網(wǎng)絡createhopfieldnetT=[one;two]';net=newhop(T);%人工加噪聲這個是產(chǎn)生0,1的噪聲generatenoise%noisearray(fixednoise)%no1=[-1-1-1-111-1-1-1-1;-1-1-1-11-1-1-1-1-1;...%-1-11-111-1-1-1-1;-1-1-1-1111-1-1-1;...%-1-1-1-1-11-1-1-1-1;-1-1-1-111-11-1-1;...%-1-1-1-111-1-1-1-1;-11-1-111-1-1-1-1;...%-1-1-1-1-11-1-1-1-1;-1-1-1-111-1-11-1];%%no2=[-1111-111-11-1;-111111111-1;...%-1-11-11-1-111-1;-1-1-11-11-111-1;...%-111111111-1;-111111111-1;...%-111-1-1-1-1-1-1-1;-111-1-1-1-1-1-1-1;...%-1111-11111-1;-111-111111-1];%隨機加噪聲的noisearray(randnoise)%這是一個產(chǎn)生隨機噪聲的方法rand('state',0);%初始化fori=1:100a=rand;ifa<0.15%加入百分之十的噪聲,由我們修改one(i)=-one(i);%把原本是是1的地方改為-1two(i)=-two(i);%原本是-1的地方改為1endendno1=one;%賦值給兩個噪聲矩陣no2=two;%畫加入噪聲后圖形的樣子plotnoisyfiguresubplot(3,2,3)NO1=imresize(no1,20);imshow(NO1)title('noisynumber')subplot(3,2,4)NO2=imresize(no2,20);imshow(NO2)title('noisynumber')%仿真的結果plotidentifyfigurenoise1={(no1)'};tu1=sim(net,{10,10},{},noise1);tu1{10}'subplot(3,2,5)imshow(imresize(tu1{10}',20))title('identifynumber')noise2={(no2)'};tu2=sim(net,{10,10},{},noise2);tu2{10}'subplot(3,2,6)imshow(imresize(tu2{10}',20))title('identifynumber;附錄二8.txt0.10.10.90.50.90.10.450.90.90.80.70.90.10.450.450.1DeltaU.mfunctiondu=DeltaU(V,d,A,D)[n,n]=size(V);t1=repmat(sum(V,2)-1,1,n);t2=repmat(sum(V,1)-1,n,1);PermitV=V(:,2:n);PermitV=[PermitVV(:,1)];t3=d*PermitV;du=-1*(A*t1+A*t2+D*t3);Energy.m%%%%%%計算能量函數(shù)functionE=Energy(V,d,A,D)[n,n]=size(V);t1=sumsqr(sum(V,2)-1);t2=sumsqr(sum(V,1)-1);PermitV=V(:,2:n);PermitV=[PermitVV(:,1)];temp=d*PermitV;t3=sum(sum(V.*temp));E=0.5*(A*t1+A*t2+D*t3);Final_RouteLength.m%%%%%%計算最終總

溫馨提示

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

評論

0/150

提交評論