基于ann的綜合評價系統(tǒng)的設計【畢業(yè)設計】_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設計(論文)</p><p><b> ?。ǘ?屆)</b></p><p>  基于ANN的綜合評價系統(tǒng)的設計</p><p>  所在學院 </p><p>  專業(yè)班級 計算機科學與技術 </p&g

2、t;<p>  學生姓名 學號 </p><p>  指導教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要:現(xiàn)實中經常需要根據事物諸因素的狀況,以及各個因素對于總體評價的重要程度,對評價對象進行

3、多因素的綜合評價。本畢業(yè)設計針對事物諸因素狀況和諸因素重要程度的模糊性,依據模糊理論,采取ANN機器學習方法,使用MATLAB開發(fā)環(huán)境,實現(xiàn)多因素的智能綜合評價。根據ANN機器學習機制,首先提供若干樣本對BP神經網絡進行訓練,并對訓練過程進行控制,直至BP神經網絡具有相對滿意的綜合評價功能,從而在綜合評價中體現(xiàn)評價專家思想。</p><p>  關鍵詞:綜合評價;專家思想;BP神經網絡;ANN</p&g

4、t;<p>  Design of Comprehensive evaluation system based on ANN </p><p>  Abstract: In reality, we often evaluate objects from many factors according to the related factors and their importance to tota

5、l evaluation. The graduation design contrapose the factors and the fuzziness of this factors important degree, based on the fuzzy theory and take ANN machine learning method, using MATLAB development environment to reali

6、ze multi-factor intelligent comprehensive evaluation. According to ANN machine learning mechanism, firstly, provide some samples for BP neural network tr</p><p>  Keywords: comprehensive evaluation; Experts

7、thought; BP neural network; ANN</p><p><b>  目錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題的研究背景1</p><p>  1.1.1 人工智能1</p><p>  

8、1.1.2 綜合評價法1</p><p>  1.2 課題研究的目的與意義1</p><p>  1.3 課題的研究內容1</p><p>  1.4 課題的研究方法2</p><p>  1.5 論文的內容組織2</p><p>  2 基礎知識簡介3</p><p>

9、  2.1 人工神經網絡簡介3</p><p>  2.1.1 人工神經網絡的基本特征3</p><p>  2.1.2 人工神經網絡的結構4</p><p>  2.2 綜合評價法一般過程6</p><p>  2.3 MATLAB簡介8</p><p>  2.3.1 MATLAB基本功能8&

10、lt;/p><p>  2.3.2 MATLAB特點8</p><p><b>  3 系統(tǒng)分析9</b></p><p>  3.1 需求分析9</p><p>  3.2 可行性分析9</p><p>  4 基于ANN的綜合評價系統(tǒng)設計10</p><p&

11、gt;  4.1 模糊綜合評價法10</p><p>  4.2 BP神經網絡10</p><p>  4.2.1 BP神經網絡的設計10</p><p>  4.2.2 BP神經網絡的學習過程11</p><p>  4.3 BP網絡主要工具函數12</p><p>  5 基于ANN的綜合評價

12、系統(tǒng)設計實現(xiàn)13</p><p>  5.1 主要界面設計13</p><p>  5.2 主要功能設計15</p><p>  5.2.1 樣本的生成15</p><p>  5.2.2 MATLAB中BP網絡構建和初始化17</p><p>  5.2.3 MATLAB中BP網絡訓練18<

13、;/p><p>  5.2.4 MATLAB中網絡測試20</p><p>  5.2.5 查看網絡參數(shownet_Callback)21</p><p>  5.2.6 打開網絡(Opennet_Callback)22</p><p>  5.2.7 保存網絡(Savenet_Callback)23</p>

14、<p>  6 總結及展望24</p><p>  致謝錯誤!未定義書簽。</p><p><b>  參考文獻25</b></p><p><b>  1 緒論</b></p><p>  1.1 課題的研究背景</p><p>  1.1.1 人工

15、智能</p><p>  人工智能(Artificial Intelligence) ,英文縮寫為AI。它是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術及應用系統(tǒng)的一門新的技術科學。 人工智能是計算機科學的一個分支,它企圖了解智能的實質,并生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。智能控制中的人工神經網絡由于模仿人類的

16、神經網絡,具有感知識別、學習、聯(lián)想、記憶、推理等智能,更是有著廣闊的發(fā)展前景。[1] </p><p>  1.1.2 綜合評價法</p><p>  綜合評價法是指運用多個指標對多個參評單位進行評價的方法,稱為多變量綜合評價方法,或簡稱綜合評價方法。其基本思想是將多個指標轉化為一個能夠反映綜合情況的指標來進行評價。如不同國家經濟實力,不同地區(qū)社會發(fā)展水平,小康生活水平達標進程,企業(yè)經濟

17、效益評價等,都可以應用這種方法。[2,3]</p><p>  1.2 課題研究的目的與意義</p><p>  本畢業(yè)設計實現(xiàn)智能綜合評價,針對事物諸因素的模糊性,對評價對象進行多因素的綜合評價。使用ANN機器學習方法,使該系統(tǒng)在開發(fā)和使用的過程中,從評價專家獲得各評價因素重要程度的有關知識,進而實現(xiàn)體現(xiàn)專家思想的綜合評價。</p><p>  1.3 課題的

18、研究內容</p><p>  本課題旨在設計一個基于人工神經網絡的對網站進行綜合評價的系統(tǒng)。研究主要內容包括:</p><p>  1、影響網站績效評佑的相關指標體系確定及其量化和規(guī)范化。</p><p>  2、影響網站績效評估各相關指標的相對權重確定。影響網站績效各相關因素在輸入預測和評估模型時, 需要一組決定其相對重要性的初始權重, 權重的確定需要基本的原則作

19、支持。</p><p>  3、基于BP神經網絡的網站績效評價模型研究。以BP神經網絡為基礎, 構建基于多因素的網站績效評價模型。</p><p>  4、基于BP神經網絡的網站績效評價模型計算方法設計。根據基于BP神經網絡的技術創(chuàng)新預測和評估模型的基本特點, 設計其相應的計算方法。</p><p>  5、基于BP神經網絡的網站績效評價模型學習樣本設計。根據相關的

20、歷史資料, 構建基于BP神經網絡的網站績效評價模型的學習樣本, 對模型進行自學習和訓練, 使模型適合評價者的思想。[4、5]</p><p>  1.4 課題的研究方法</p><p>  這種情況下, 神經網絡技術就有其特有的優(yōu)勢, 以其并行分布、自組織、自適應、自學習和容錯性等優(yōu)良性能, 可以較好地適應網站評價這類多因素、不確定性和非線性問題, 它能克服上述各方法的不足。本項目以BP

21、神經網絡作為基于多因素的評估模型構建的基礎, BP神經網絡由輸入層、隱含層和輸出層構成, 各層的神經元數目不同, 由正向傳播和反向傳播組成, 在進行網站評價時, 從輸入層輸入影響網站評價值的n個因素信息, 經隱含層處理后傳入輸出層, 其輸出值Y即為網站績效的評估值。整個系統(tǒng)運用MATLAB編程實現(xiàn)。</p><p>  1.5 論文的內容組織</p><p>  論文共由七章組成。第1章

22、緒論,主要介紹課題的研究背景、研究目的和意義、研究內容以及研究方法;第2章基礎知識簡介,主要介紹人工神經網絡,綜合評價法的一般過程和MATLAB開發(fā)環(huán)境;第3章系統(tǒng)分析,從需求分析和可行性分析兩方面分析了本系統(tǒng)的要求和設計;第4章系統(tǒng)設計,詳細介紹了所使用的模糊綜合評價法和本系統(tǒng)使用的BP網絡的設計和學習過程;第5章系統(tǒng)的實現(xiàn),主要介紹系統(tǒng)界面設計、功能設計;第6章總結與展望,主要闡述了本課題所完成的研究工作和存在的不足,以及希望在今后

23、可以完善的地方。</p><p><b>  2 基礎知識簡介</b></p><p>  2.1 人工神經網絡簡介</p><p>  人工神經網絡(ArtificialNeuralNetworks,簡寫為ANNs)也簡稱為神經網絡(NNs)或稱作連接模型(ConnectionistModel),它是一種模范動物神經網絡行為特征,進行分布

24、式并行信息處理的算法數學模型。這種網絡依靠系統(tǒng)的復雜程度,通過調整內部大量節(jié)點之間相互連接的關系,從而達到處理信息的目的。人工神經網絡具有自學習和自適應的能力,可以通過預先提供的一批相互對應的輸入-輸出數據,分析掌握兩者之間潛在的規(guī)律,最終根據這些規(guī)律,用新的輸入數據來推算輸出結果,這種學習分析的過程被稱為“訓練”。[4]</p><p>  2.1.1 人工神經網絡的基本特征</p><p

25、>  人工神經網絡是由大量處理單元互聯(lián)組成的非線性、自適應信息處理系統(tǒng)。它是在現(xiàn)代神經科學研究成果的基礎上提出的,試圖通過模擬大腦神經網絡處理、記憶信息的方式進行信息處理。人工神經網絡具有四個基本特征: </p><p> ?。?)非線性 非線性關系是自然界的普遍特性。大腦的智慧就是一種非線性現(xiàn)象。人工神經元處于激活或抑制二種不同的狀態(tài),這種行為在數學上表現(xiàn)為一種非線性</p><p&g

26、t;  關系。具有閾值的神經元構成的網絡具有更好的性能,可以提高容錯性和存儲容量。 </p><p> ?。?)非局限性 一個神經網絡通常由多個神經元廣泛連接而成。一個系統(tǒng)的整體行為不僅取決于單個神經元的特征,而且可能主要由單元之間的相互作用、相互連接所決定。通過單元之間的大量連接模擬大腦的非局限性。聯(lián)想記憶是非局限性的典型例子。 </p><p>  (3)非常定性 人工神經網絡具有自適

27、應、自組織、自學習能力。神經網絡不但處理的信息可以有各種變化,而且在處理信息的同時,非線性動力系統(tǒng)本身也在不斷變化。經常采用迭代過程描寫動力系統(tǒng)的演化過程。 </p><p> ?。?)非凸性 一個系統(tǒng)的演化方向,在一定條件下將取決于某個特定的狀態(tài)函數。例如能量函數,它的極值相應于系統(tǒng)比較穩(wěn)定的狀態(tài)。非凸性是指這種函數有多個極值,故系統(tǒng)具有多個較穩(wěn)定的平衡態(tài),這將導致系統(tǒng)演化的多樣性。 </p>&

28、lt;p>  人工神經網絡中,神經元處理單元可表示不同的對象,例如特征、字母、概念,或者一些有意義的抽象模式。網絡中處理單元的類型分為三類:輸入單元、輸出單元和隱單元。輸入單元接受外部世界的信號與數據;輸出單元實現(xiàn)系統(tǒng)處理結果的輸出;隱單元是處在輸入和輸出單元之間,不能由系統(tǒng)外部觀察的單元。神經元間的連接權值反映了單元間的連接強度,信息的表示和處理體現(xiàn)在網絡處理單元的連接關系中。人工神經網絡是一種非程序化、適應性、大腦風格的信息處

29、理 ,其本質是通過網絡的變換和動力學行為得到一種并行分布式的信息處理功能,并在不同程度和層次上模仿人腦神經系統(tǒng)的信息處理功能。它是涉及神經科學、思維科學、人工智能、計算機科學等多個領域的交叉學科。  </p><p>  人工神經網絡是并行分布式系統(tǒng),采用了與傳統(tǒng)人工智能和信息處理技術完全不同的機理,克服了傳統(tǒng)的基于邏輯符號的人工智能在處理直覺、非結構化信息方面的缺陷,具有自適應、自組織和實時學習的特點。[5-9

30、]</p><p>  2.1.2 人工神經網絡的結構</p><p>  根據連接方式不同,神經網絡的神經元之間的連接有如下幾種形式。</p><p><b>  (1)前向網絡</b></p><p>  前向網絡結構圖如圖1-11所示,神經元分層排列,分別組成輸入層、中間層(也稱為隱含層,可以由若干層組成)和輸出層

31、。每一層的神經元只接受來自前一層神經元的輸入,后面的層對前面的層沒有信號反饋。輸入模式經過個層次的順序傳播,最后在輸出層上得到輸出。感知器網絡和BP網絡均屬于前向網絡。</p><p>  圖1-11 前向網絡結構</p><p> ?。?)有反饋的前向網絡</p><p>  其結構如圖1-12所示,從輸出層對輸入層有信息反饋,這種網絡可用于存儲某種模式序列,如

32、神經認知機和回歸BP網絡都屬于這種類型。</p><p>  圖1-12 有反饋的前向網絡結構</p><p> ?。?)層內又相互結合的前向網絡</p><p>  其結構如圖1-13所示,通過層內神經元的相互結合,可以實現(xiàn)同一層內神經元之間的橫向抑制或興奮機制,這樣可以限制每層內可以同時動作的神經元素,或者把每層內的神經元分為若干組,讓每一組作為一個整體進行運

33、作。例如,可利用橫向抑制機理把某層內具有最大輸出的神經元挑選出來,從而抑制其他神經元,使之處于無輸出狀態(tài)。</p><p>  圖1-13 層內有相互結合的前向網絡結構</p><p> ?。?)相互結合型網絡(全互連或部分互連)</p><p>  相互結合型網絡結構如圖1-14所示,這種網絡在任意兩個神經元之間都有可能有連接。Hopfield網絡和Boltzm

34、ann機均屬于這種類型。在無反饋的前向網絡中,信號一旦通過神經元,該神經元的處理就結束了。而在相互結合網絡中,信號要在神經元之間反復傳遞,網絡處于一種不斷改變狀態(tài)的動態(tài)之中。信號從某初始狀態(tài)開始,經過若干次變化,才會達到某種平衡狀態(tài)。根據網絡的結構和神經元的特性,網絡的運行還有可能進入周期震蕩或其他如混沌等平衡狀態(tài)。[7] </p><p>  圖1-14 相互結合型網絡結構</p><p&

35、gt;  2.2 綜合評價法一般過程</p><p>  1.建立綜合評價的目的與要求</p><p>  不同的評價目的會影響評價指標體系、合成方法、權數的選擇。例如,絕對測定時通常每一個指標都要有一個固定(或明確統(tǒng)一)的評價標準,這樣所得到的總評價值才會有實際的“絕對好壞”的意義。而相對測定時重視的是排序結果,只要能分辨出各評價對象在評價結果上的先后次序即可。所以,人們可以用AHP方

36、法,主成分分析法、聚類分析法、極差變換法進行綜合評價,但這些方法并不適合于“絕對測定”。因此,在進行綜合評價時,首先必須明確評價目的與要求。</p><p>  2.構造評價指標體系</p><p>  這是綜合評價活動的第二個環(huán)節(jié)。任何問題的綜合評價都需要建立一套科學合理的評價指標體系,況且綜合實力是一個綜合性的概念,其數量表現(xiàn)形式多種多樣,任何單一指標卻只能反映出一個側面,只有構造完整

37、的指標體系才能科學全面的對評價對象做出評價。但同時,由于指標之間往往具有一定的相互關系,甚至有反復交叉的情況,并不是所有的指標都有必要選入評價體系之中。因此,必須對指標體系的合理性、科學性和可行性做出鑒別,使評價體系中的指標變得簡練而全面。沒有科學的指標體系,就不可能得到科學、準確的綜合評價結論。</p><p>  3.對單項指標值進行同度量化</p><p>  由于不同指標具有不同的

38、計量單位,它們在說明綜合實力的數量與方向并不完全相同。因此,必須做同度量化處理,轉化為具有同類尺度的評價值,這一步也稱為無量綱化。</p><p>  大多數綜合評價方法都有同度量化的問題。從表面看,有些評價方法,如多元統(tǒng)計分析方法、模糊數學方法等,似乎沒有專門的同度量化處理,但事實上,它們是將同度量化過程直接作為評價方法本身的一個基本組成部分了。</p><p><b>  4

39、.確立評價權數</b></p><p>  構成綜合評價體系的各分項指標雖然都能說明評價對象在某一方面的競爭力狀態(tài),但在說明的程度或力度上是有區(qū)別的,有些指標比較重要,而另一些相對次要一些。因此,在將單項指標評價值合成為總評價值時,就必須進行加權處理,以反映指標體系中不同指標對總評價目標所起作用大小的差異。有些綜合評價方法(如主成分分析法)從表面上看似乎沒有獨立構造權數過程,但從實質上仍然存在一個加權

40、的問題,故也有構權的問題,只不過這種權數是伴隨著合成方法而自然生成的。當然,那些比較簡明的綜合評價方法都有一個權數構造的問題。</p><p><b>  5.分項指標的合成</b></p><p>  單項評價指標經過同度量化處理之后,便可采用一定方法合成總評價值??傇u價值就是單項評價值及相應權重的函數。綜合評價中的合成,實際上就是歸結為尋求函數的形式并計算之。合成

41、方法,就是借這種函數的形式及相應的規(guī)則。對于那些自成體系的綜合評價方法,合成過程與權數生成過程是合而為一的,結果都表現(xiàn)為一種線性函數。它們在實質上是以一種加權算術平均數。</p><p>  6.綜合評價結論與分析</p><p>  通過計算,最后必須對被評價對象的綜合實力狀態(tài)做出分析,結果有兩種情況:或是排序結果,或是動態(tài)變化程度。對于前者,通常是作為上級管理部門考評各單位發(fā)展狀態(tài)好壞

42、的重要手段;對于后者,通常還要進一步分析排名變化的原因(如用指數分析法、分組分析法等因素分析技術)以及提出提高綜合實力的切實途徑,最后提交一份具有一定深度與力度的統(tǒng)計分析報告。[10]</p><p>  圖2 綜合評價的一般過程</p><p>  2.3 MATLAB簡介</p><p>  2.3.1 MATLAB基本功能</p><p

43、>  MATLAB是矩陣實驗室(Matrix Laboratory)的簡稱,是由美國mathworks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設計語言(如C、Fortra

44、n)的編輯模式,代表了當今國際科學計算軟件的先進水平。[11] </p><p>  MATLAB和Mathematica、Maple并稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。</p>&

45、lt;p>  MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數學軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++ ,JAVA的支持??梢灾苯诱{用,用戶也可以將自己編寫的實用程序導入到MATLAB函數庫中方便自己以后調用。</p&

46、gt;<p>  2.3.2 MATLAB特點</p><p>  1) 高效的數值計算及符號計算功能,能使用戶從繁雜的數學運算分析中解脫出來; </p><p>  2) 具有完備的圖形處理功能,實現(xiàn)計算結果和編程的可視化; </p><p>  3) 友好的用戶界面及接近數學表達式的自然化語言,使學者易于學習和掌握; </p>&l

47、t;p>  4) 功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。[12、13]</p><p><b>  3 系統(tǒng)分析</b></p><p><b>  3.1 需求分析</b></p><p>  本系統(tǒng)目的是實現(xiàn)智能綜合評價,通過分析任務要求和參考大量書籍,

48、一個完善的智能綜合評價系統(tǒng)應具備如下功能:</p><p>  1、 運用模糊綜合評價法:針對事物諸因素的模糊性,對評價對象進行多因素的綜合評價。</p><p>  2、 基于ANN的學習機制:鑒于在計算機中表達評價者對各因素重視程度的困難性,可適當使用ANN機器學習方法,使該系統(tǒng)在開發(fā)和使用的過程中,從評價專家獲得各評價因素重要程度的有關知識,進而實現(xiàn)體現(xiàn)專家思想的綜合評價。</

49、p><p>  3.2 可行性分析</p><p>  本系統(tǒng)是在matlab軟件的圖形界面GUI開發(fā)環(huán)境下,神經網絡工具箱平臺之上,使用matlab語言設計完成的。</p><p>  隨著信息技術的發(fā)展,現(xiàn)在一般的電腦內存都已達到1G,雙核處理器也很普遍,硬盤的存儲容量基本上在250G到1T的范圍。因此硬件技術能夠支持上述軟件的正常運行。如前所述,matlab具有

50、完備的圖形處理功能,實現(xiàn)計算結果和編程的可視化; 友好的用戶界面及接近數學表達式的自然化語言,使學者易于學習和掌握; 功能豐富的應用工具箱(如BP神經網絡工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。所以,運用matlab實現(xiàn)一個智能的綜合評價系統(tǒng)是可行的。</p><p>  4 基于ANN的綜合評價系統(tǒng)設計</p><p>  4.1 模糊綜合評價法</p&g

51、t;<p>  模糊綜合評價法是一種基于模糊數學的綜合評標方法。該綜合評價法根據模糊數學的隸屬度理論把定性評價轉化為定量評價,即用模糊數學對受到多種因素制約的事物或對象做出一個總體的評價。它具有結果清晰,系統(tǒng)性強的特點,能較好地解決模糊的、難以量化的問題,適合各種非確定性問題的解決。</p><p><b>  本系統(tǒng)中,</b></p><p>  1

52、、設定評價因素(F):系指對某對象評議的具體內容。在本系統(tǒng)中,將評價因素定為6個,并用模擬量A,B,C,D,E,F表示各個評價因素。</p><p>  2、設定評價因素值(FV):系指評價因素的具體值。在本系統(tǒng)中,使用數據產生器生成300組在[0,5]區(qū)間內的隨機數,并存在Ann.xls表中。</p><p>  3、設定權重(W):系指評價因素的地位和重要程度。在本系統(tǒng)中,用戶根據需求

53、,可在系統(tǒng)界面上分別輸入6個評價因素的權值,各權值相加為1。</p><p>  4、計算加權平均值(Epw):系指加權后的平均評價值。加權平均評價值(Epw)=平均評價值(Ep)×權重(W)。</p><p>  5、計算綜合評價值(Ez):系指同一級評價因素的加權平均值之和。在本系統(tǒng)中,通過計算,綜合評價值的區(qū)間為[0,5]。</p><p>  4.

54、2 BP神經網絡</p><p>  BP(Back Propagation)網絡是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W絡,是目前應用最廣泛的神經網絡模型之一。BP網絡能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調整網絡的權值和閾值,使網絡的誤差平方和

55、最小。BP神經網絡模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。</p><p>  4.2.1 BP神經網絡的設計</p><p> ?。?)隱層數的設計:理論分析證明,具有單隱層的前饋網可以映射所有連續(xù)函數,只有當學習不連續(xù)函數(如鋸齒波等)時,才需要兩個隱層,所以神經網絡系統(tǒng)設計一個隱層。</p><p&

56、gt; ?。?)輸入輸出層節(jié)點數的設計:本網絡中,輸入神經元確定為6個,即影響網站績效評價的因素有6個;輸出層確定為4個,即網站績效等級分為:優(yōu)秀,良好,一般,差。</p><p> ?。?)隱節(jié)點數的設計:隱節(jié)點的作用是從樣本中提取并儲存其內在規(guī)律,每個隱節(jié)點有若干個權值,而每個權值都是增強網絡映射能力的一個參數。設置多少個隱節(jié)點取決于訓練樣本數的多少、樣本噪聲的大小以及樣本中蘊含規(guī)律的復雜程度。確定最佳隱節(jié)點

57、的一個常用方法稱為試湊法,計算公式有:</p><p><b>  ;</b></p><p><b>  ;</b></p><p>  ; 其中m為隱層節(jié)點數,n為輸入層節(jié)點數,l為輸出層節(jié)點數,a為1~10之間的常數。</p><p> ?。?)傳輸函數:BP網絡中的傳輸函數通常采用S(si

58、gmoid)型函數:</p><p>  網絡訓練與測試:將收集到的可用樣本隨機分為兩部分,一部分作為訓練集,另一部分作為測試集。訓練時對所有樣本正向運行一輪并反向修改權值一次稱為一次訓練。在MATLAB神經網絡工具箱中,常用的訓練函數有traingd,traingdm,traingdx等。[5、6]</p><p>  4.2.2 BP神經網絡的學習過程</p><

59、p>  令網絡輸入向量為Pk;網絡目標向量為Tk;中間層單元輸入向量Sk,輸出向量Bk;輸出層單元輸入向量Lk,輸出向量Ck;輸入層至中間層的連接權值wij;中間層至輸出層的連接權值vjt;中間層個單元的輸出閾值;輸出層個單元的輸出閾值。</p><p> ?。╝)初始化。給每個連接權值wij、vjt、閾值與賦予區(qū)間(-1,1)內的隨機值。</p><p> ?。╞)隨機選取一組輸入

60、和目標樣本Pk、Tk提供給網絡。</p><p> ?。╟)用輸入樣本Pk、連接權值wij和閾值計算中間層個單元的輸入sj,然后用sj通過傳遞函數計算中間層個單元的輸出bj。</p><p>  (d)利用中間層的輸出bj、連接權值vjt和閾值計算輸出層個單元的輸出Lt,然后利用通過船體函數計算輸出層噶單元的響應Ct。</p><p>  (e)利用網絡目標向量Tk

61、,網絡的實際輸出Ct,計算輸出層的各單元一般化誤差。</p><p> ?。╢)利用連接權值vjt、輸出層的一般化誤差dt和中間層的輸出bj計算中間層個單元的一般化誤差。</p><p> ?。╣)利用輸出層各單元的一般化誤差與中間層各單元的輸出bj來修正連接權值vjt和閾值。</p><p> ?。╤)利用中間層各單元的一般化誤差,輸入層各單元的輸出Pk來修正連接

62、權值wij和閾值。</p><p> ?。╥)隨機選取下一個學習樣本向量提供給網絡,返回到步驟(c),知道m(xù)個訓練樣本訓練完畢。</p><p> ?。╦)重新從m個學習樣本中隨機選取一組輸入和目標樣本,返回步驟(c),直到網絡全局誤差E小于預先設定的一個極小值,即網絡收斂。</p><p> ?。╧)學習結束。[10]</p><p>  

63、4.3 BP網絡主要工具函數</p><p>  Matlab軟件包中的人工神經網絡工具箱包含了進行BP網絡設計和分析的大量工具函數。下面給出在BP網絡設計和分析中的常用工具函數以及功能說明。</p><p>  5 基于ANN的綜合評價系統(tǒng)設計實現(xiàn)</p><p>  用人工神經網絡建立評價模型,需要編程或一些輔助軟件,對多數研究人員來說,自己編寫神經網絡的各

64、種算法程序將顯得十分困難、繁瑣。而MATLAB的神經網絡工具箱的推出免除了編寫復雜而龐大的算法程序的困擾。MATLAB7的神經網絡工具箱為BP網絡提供了很多工具箱函數,它們對利用MATLAB進行BP網絡的設計、分析及實際應用有著不可替代的作用。</p><p>  5.1 主要界面設計</p><p>  MATLAB圖形用戶界面開發(fā)環(huán)境(GUIDE)提供了一系列創(chuàng)建圖形用戶界面(GUI

65、)的工具。這些工具極大地簡化了GUI設計和生成的過程。MATLAB中的基本圖形用戶界面對象分為3類:用戶界面控件對象(uicontro1)、下拉式菜單對象(uimenu)和內容式菜單對象(uicontextmenu)。利用上述對象,進行周密的組織、設計,就可以設計出一個界面友好、操作簡便、功能強大的圖形用戶界面。</p><p>  MATLAB圖形用戶界面開發(fā)環(huán)境把GUI保存在2個文件中,它們在第1次保存或運行

66、時生成,與GUI顯示和編程任務相對應。其中一個是FIG文件,擴展名為.fig,它包含對GUI和GUI組件的完整描述:另一個是M文件,擴展名為.m,它在GUI顯示在屏幕上以前包含代碼來完成任務,例如創(chuàng)建數據或圖形。它包含每次用戶單擊GUI組件時運行的回調函數。初始情況下,每個回調都只包含一個函數定義行,然后用M文件編輯器添加代碼來完成函數的編寫。</p><p>  在MATLAB主界面下,選擇File菜單New子

67、菜單下的GUI項,打開GUIDE啟動對話框,選擇創(chuàng)建一個新的GUI程序。創(chuàng)建新的程序時可以使用4種不同的GUIDE模板。在本次設計中,選擇空白GUI,其設計界面如下圖所示:</p><p>  從左側邊欄中選取所需Uicontrol對象,將之移至中心的GUI界面設計區(qū)域。然后,需要設置這些組件的屬性,常用屬性包括顏色設置,文本標簽設置,回調函數設置等。本系統(tǒng)在.fig中添加所需控件,并對每個控件設置相應屬性和函數

68、:</p><p>  設計界面如下圖所示:</p><p>  文件菜單下有兩個子菜單</p><p> ?。?) 使用已存在的網絡:會讓你選擇一個mat文件,選擇后就會把當前的網絡變?yōu)閙at文件中已存儲的網絡,可以直接使用。</p><p> ?。?) 保存這個網絡:會讓你選擇個位置保存網絡,把這個網絡保存在硬盤數據mat中</p&

69、gt;<p>  幫助菜單下有一個子菜單。</p><p> ?。?) 關于:會蹦出一個版權界面。</p><p>  5.2 主要功能設計</p><p>  5.2.1 樣本的生成</p><p>  訓練網絡所需的樣本必須代表專家思想,所以根據模糊綜合評價法的基本原則,點擊生成樣本按鈕時,調用product_Callb

70、ack函數,執(zhí)行N組代表評價者思想的評價值R與權值A的計算得到綜合評價值,評價值作為輸入,綜合評價值為輸出,存儲數據作為訓練樣本。</p><p>  在本系統(tǒng)中,R存在表Ann.xls中,</p><p>  所以從本地讀取XLS數據:</p><p>  R = xlsread('Ann.xls');</p><p>&l

71、t;b>  A從界面上獲?。?</b></p><p>  A0 = str2num(get(findobj('tag','edit30'),'string'));</p><p>  A1 = str2num(get(findobj('tag','edit31'),'string&#

72、39;));</p><p>  A2 = str2num(get(findobj('tag','edit32'),'string'));</p><p>  A3 = str2num(get(findobj('tag','edit33'),'string'));</p><

73、p>  A4 = str2num(get(findobj('tag','edit34'),'string'));</p><p>  A5 = str2num(get(findobj('tag','edit35'),'string'));</p><p>  A=[A0;A1;A2;A3;

74、A4;A5];</p><p>  其中edit30,edit31,edit32,edit33,edit34,edit35分別是界面上各個編輯框的標簽名。</p><p><b>  計算綜合評價值:</b></p><p>  data0 = R;</p><p>  data0(:,7)=R*A;</p>

75、<p>  為了方便建立劃分模型,本系統(tǒng)中運用matlab中的round函數將各綜合評價值四舍五入取整:</p><p>  for index = 1:300</p><p>  data0(index,7) = round(data0(index,7));</p><p><b>  end</b></p>&l

76、t;p>  for index = 1:300</p><p>  if data0(index,7) < 1</p><p>  data0(index,7) = 1;</p><p><b>  end</b></p><p>  if data0(index,7) > 4</p>&

77、lt;p>  data0(index,7) = 4;</p><p><b>  end</b></p><p><b>  end</b></p><p>  其結果1,2,3,4 分別表示評價的差,一般,良好,優(yōu)秀四個等級,讀取綜合評價值的值并存入RR.xls表中。</p><p>  x

78、lswrite('train.xls',data0);</p><p>  msgbox('結果保存為train.xls,請在當前文件夾下查看','提示','warn');</p><p>  5.2.2 MATLAB中BP網絡構建和初始化</p><p>  訓練前饋網絡的第一步是建立網絡對象。程序

79、剛打開界面的時候默認生成了一個網絡。MATLAB中,函數newff建立一個可訓練的前饋網絡,這需要4個輸入參數。第一個參數是一個Rx2的矩陣以定義R個輸入向量的最小值和最大值。第二個參數是一個網絡每層神經元個數的數組。第三個參數是包含每層用到的轉移函數名稱的細胞數組。最后一個參數是用到的訓練函數的名稱。</p><p>  在本系統(tǒng)中,根據上文所得,輸入向量有6組,為了省去歸一化的麻煩,把它們直接約束在0~1的范

80、圍內。隱層個數默認為n,默認為5,輸出層1個。輸入層到隱層的轉移函數是log-sigmoid,輸出層的轉移函數是linear,訓練函數選擇了trainbfg。trainbfg計算量和內存需求均比共軛梯度算法大,但收斂比較快。</p><p>  系統(tǒng)中相應的命令語句為:</p><p>  net=newff([0 5;0 5;0 5;0 5;0 5;0 5],[n 1],{'lo

81、gsig','purelin'},'trainbfg');</p><p>  這個命令建立了網絡對象并且初始化了網絡權重和偏置,因此網絡就可以進行訓練了。我們可能要多次重新初始化權重或者進行自定義的初始化。下面就是初始化的詳細步驟。</p><p> ?。?)獲取隱含層節(jié)點數:</p><p>  n = str2num(

82、get( findobj( 'tag','edit10'),'string'));</p><p>  (2)獲取學習速率:</p><p>  net.trainParam.lr = str2num( get( findobj('tag','edit13'),'string'));</p

83、><p>  (3)獲取最大學習次數:</p><p>  net.trainParam.epochs = str2num( get( findobj('tag','edit12'),'string'));</p><p> ?。?)獲取期望誤差:</p><p>  net.trainParam.

84、goal = str2num( get( findobj('tag','edit14'),'string'));</p><p>  其中edit10,edit12,edit13,edit14分別是相對應的控件名。</p><p>  net.trainParam.show = 50; %每學習50次顯示下</p><p&

85、gt;  net.trainParam.lr = lr; %學習速率</p><p>  net.trainParam.epochs =epochs; %最大學習次數</p><p>  net.trainParam.goal = goal; %期望誤差目標</p><p>  5.2.3 MATLAB中BP網絡訓練</p><p>  本

86、系統(tǒng)中,要訓練的數據為xls電子表格格式,表名為trainl。 Xls數據內容格式要求:前6列為輸入數據ABCDEF,輸入數據范圍在0-1之間,第7列為輸出數據取值在1-4之內,代表:優(yōu)秀,良好,一般,差。配置好網絡參數,載入訓練數據來選擇輸入數據:</p><p>  點擊訓練按鈕將會訓練這個網絡。</p><p>  獲取要測試的XLS數據:</p><p> 

87、 trainfile = get(findobj('tag','edittraindata'),'string');</p><p>  if length(trainfile)==0</p><p>  msgbox('請載入訓練數據!','提示','warn');</p>&l

88、t;p><b>  return;</b></p><p><b>  end</b></p><p>  讀取相應的數據為輸入輸出:</p><p>  data = xlsread(trainfile);</p><p>  input = data(:,1:6)';</p&

89、gt;<p>  output = data(:,7)'。</p><p>  MATLAB中訓練網絡的格式為:</p><p>  net=train(net, input, output);</p><p>  handles.net = net;%賦值給窗口的net</p><p>  guidata(hObjec

90、t, handles);%保存網絡數據</p><p><b>  訓練誤差曲面:</b></p><p>  由圖可知,訓練誤差趨近于目標誤差,視為訓練成功。訓練結束后,可點擊查看網絡參數按鈕,會提示去matlab命令行窗口去看這個網絡的參數。(因為程序剛啟動就默認生成了一個網絡,所以不必訓練就可以直接查看參數,訓練后會發(fā)現(xiàn)參數變化了) 。</p>&

91、lt;p>  因為每次初始化網絡時都是隨機的,而且訓練終止時的誤差也不完全相同,結果訓練后的權植和閥也不完全相同(大致是一樣的),所以每次訓練后的結果也略有不同。找到比較好的結果后,用函數Savenet_Callback保存網絡,可使預測的結果不會變化,在需要的調用時用命令load filename載入。</p><p>  5.2.4 MATLAB中網絡測試</p><p>  

92、同樣,測試樣本的格式也為xls電子表格,表名為try。測試后統(tǒng)計出不合格的個數,并將比對結果顯示在測試結果區(qū)中。</p><p>  例如,已知權重A=[0.2; 0.2; 0.2; 0.2; 0.1; 0.1],若try表取10組測試數據,數據如下(A-F為6個評價值,G為預期綜合評價值):</p><p>  測試結果如下圖,本次正確率為80%,預測的結果可從Result表中查看。&l

93、t;/p><p><b>  相應代碼為:</b></p><p>  5.2.5 查看網絡參數(shownet_Callback)</p><p>  訓練成功,可查看相應網絡的網絡參數。</p><p>  function shownet_Callback(hObject, eventdata, handles)&l

94、t;/p><p>  disp('網絡參數展示')</p><p>  disp('輸入層到隱含層的權值矩陣W1')</p><p>  handles.net.iw{1,1}</p><p>  disp('隱含層的閉值矩陣b1')</p><p>  handles.ne

95、t.b{1}</p><p>  disp('隱含層到輸出層的權值矩陣W2')</p><p>  handles.net.lw{2,1}</p><p>  disp('輸出層的閡值矩陣b2')</p><p>  handles.net.b{2}</p><p>  msgbox(&

96、#39;請到命令行窗口查看網絡參數!','提示','warn');</p><p>  點擊查看網絡參數按鈕,跳出提示如下對話框,點擊OK后,可在matlab命令行窗口查看網絡各個參數。</p><p>  5.2.6 打開網絡(Opennet_Callback)</p><p>  由5.1所知,打開一個已存在的網絡函數為

97、Opennet_Callback。使用uigetfile創(chuàng)建文件名處理對話框,用來在打開情況下交互地獲得文件名等信息。僅當文件存在時才成功返回。如果用戶選擇了一個并不存在的文件,就顯示出錯信息,控制框返回到對話框。調用語句為:</p><p>  [filename,pathname] = uigetfile('*.mat','打開一個網絡');其中,'*.mat'

98、表示列出所有的網絡文件;'打開一個網絡'是對話框標題字符串。</p><p>  fullname=fullfile(pathname,filename);%文件路徑全名</p><p>  load (fullname,‘net’)%提取網絡數據</p><p>  handles.net = net;%賦值到窗口網絡</p><

99、;p>  guidata(hObject, handles);%保存窗口信息</p><p>  5.2.7 保存網絡(Savenet_Callback)</p><p>  由上一節(jié)所知,保存一個網絡的函數為Savenet_Callback。使用uiputfile創(chuàng)建文件名處理對話框,其與uigetfile十分相似,而且也是返回文件和路徑字符串。調用語句為:</p>

100、<p>  [filename,pathname] = uiputfile('net.mat','保存這個網絡');</p><p>  fullname=fullfile(pathname,filename)%文件路徑全名</p><p>  fullname = sprintf('%s',fullname);</p&g

101、t;<p>  net = handles.net;%獲得窗口net數據</p><p>  save(fullname,'net')</p><p><b>  6 總結及展望</b></p><p>  經過對收集的資料進行學習與實踐。了解了綜合評價,專家思想的含義;熟悉了人工神經網絡的發(fā)展和結構和matla

102、b工具箱;并完成了運用神經網絡工具箱設計基于人工神經網絡的綜合評價系統(tǒng)。本系統(tǒng)以BP神經網絡作為基于多因素的評估模型構建的基礎,將訓練樣本通過輸入層輸入,正向運行一次并反向修改權值,經過多次的學習,使系統(tǒng)貼近評價者的思想。</p><p>  在本次系統(tǒng)的設計與開發(fā)過程中,我學到了很多東西。不管是新的知識,還是處理問題能力的提升,對我來說都是一筆不小的財富。</p><p>  由于時間倉

103、促和個人的知識有限,系統(tǒng)總是會有瑕疵。</p><p>  1、因為并未對現(xiàn)實中評價網站績效的因素進行考察,所以本系統(tǒng)中的影響因素均為模擬量,樣本數據也沒有真正符合實際情況。</p><p>  2、由于學習速率是固定的,因此,網絡的收斂速度慢,需要較長的訓練時間。</p><p>  3、網絡的學習和記憶具有不穩(wěn)定性。也就是說,如果增加了學習樣本,訓練好的網絡需要

104、從頭開始重新訓練,對于以前的權值和閾值是沒有記憶的。</p><p>  4、網絡隱含層的層數和單元數的選擇尚無理論上的指導,一般是根據經驗或者通過反復試驗確定。因此,網絡往往存在很大的冗余性,在一定程度上也增加了網絡學習的負擔。</p><p><b>  參考文獻</b></p><p>  [1]師黎.智能控制理論及應用[M].清華大學出

105、版社,2009.</p><p>  [2]Joy Tillotson.Web Site Evaluation:A Survey of Undergraduates[J].Online Information Review,2002(6).</p><p>  [3]王知津,李明珍.網站評價指標體系的構建方法與過程[J].圖書與情報,2006(3).</p><p>

106、;  [4]周開利,康耀紅.神經網絡模型及其MATLAB仿真程序設計[M].北京:清華大學出版社,2005.</p><p>  [5]施彥,韓力群,廉小親.神經網絡設計方法與實例分析[M].北京:北京郵電大學出版社,2009.</p><p>  [6]飛思科技產品研發(fā)中心.神經網絡理論與MATLAB7實現(xiàn)[M].北京:電子工業(yè)出版社,2005.</p><p>

107、  [7]人工神經網絡講稿PPT[DB/OL]. http://wenku.baidu.com/view/a935618fcc22bcd126ffOcda.html.2010,12,12. [8]周開利,康耀紅.神經網絡模型及其MATLAB仿真程序設計[M].北京:清華大學出版社,2005.</p><p>  [9]HORNIK K M ,STINCHCOMBE M ,WHITE H. Multilayer f

108、eedforward networks are universal approximators[J] . Neural Networks , 1989 , 2 (5) : 359 - 366.</p><p>  [10]綜合評價方法研究[DB/OL]. http://futures.hexun.com/2008-09-12/108769713.html.2011,4,10.</p><p&g

109、t;  [11]飛思科技產品研發(fā)中心.神經網絡理論與MATLAB7實現(xiàn)[M].北京:電子工業(yè)出版社,2005.</p><p>  [12]張德豐.MATLAB神經網絡應用設計[M].北京:機械工業(yè)出版社,2009.</p><p>  [13]百度百科[DB/OL]. http://baike.baidu.com/view/10598.htm.2011,4,20.</p>

溫馨提示

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

最新文檔

評論

0/150

提交評論