基于BP神經網絡的手寫數字識別實驗報告_第1頁
基于BP神經網絡的手寫數字識別實驗報告_第2頁
基于BP神經網絡的手寫數字識別實驗報告_第3頁
基于BP神經網絡的手寫數字識別實驗報告_第4頁
基于BP神經網絡的手寫數字識別實驗報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上基于BP神經網絡的手寫體數字圖像識別PT 寧崇宇PT 陳玉磊PT 安傳旭摘要在信息化飛速發展的時代,光學字符識別是一個重要的信息錄入與信息轉化的手段,其中手寫體數字的識別有著廣泛地應用,如:郵政編碼、統計報表、銀行票據等等,因其廣泛地應用范圍,能帶來巨大的經濟與社會效益。本文結合深度學習理論,利用BP神經網絡對手寫體數字數據集MNIST進行分析,作為機器學習課程的一次實踐,熟悉了目前廣泛使用的Matlab工具,深入理解了神經網絡的訓練過程,作為非計算機專業的學生,結合該課題掌握了用神經網絡處理實際問題的方法,為今后將深度學習與自身領域相結合打下了基礎。1 引言從計算機

2、發明之初,人們就希望它能夠幫助甚至代替人類完成重復性勞作。利用巨大的存儲空間和超高的運算速度,計算機已經可以非常輕易地完成一些對于人類非常困難的工作,然而,一些人類通過直覺可以很快解決的問題,卻很難通過計算機解決,這些問題包括自然語言處理、圖像識別、語音識別等等,它們就是人工智能需要解決的問題。計算機要想人類一樣完成更多的智能工作,就需要掌握關于這個世界的海量知識,很多早期的人工智能系統只能成功應用于相對特定的環境,在這些特定環境下,計算機需要了解的知識很容易被嚴格完整地定義。為了使計算機更多地掌握開放環境下的知識,研究人員進行了很多的嘗試。其中影響力很大的一個領域就是知識圖庫(Ontolog

3、y),WordNet是在開放環境中建立的一個較大且有影響力的知識圖庫,也有不少研究人員嘗試將Wikipedia中的知識整理成知識圖庫,但是建立知識圖庫一方面需要花費大量的人力和物力,另一方面知識圖庫方式明確定義的知識有限,不是所有的知識都可以明確地定義成計算機可以理解的固定格式。很大一部分無法明確定義的知識,就是人類的經驗,如何讓計算機跟人類一樣從歷史的經驗中獲取新的知識,這就是機器學習需要解決的問題??▋然仿〈髮W的Tom Michael Mitchell教授在1997年出版的書籍中將機器學習定義為“如果一個程序可以在任務T上,隨著經驗E的增加,效果P也可以隨之增加,則稱這個程序可以從經驗中

4、學習”。邏輯提取算法可以從訓練數據中計算出每個特征和預測結果的相關度,在大部分情況下,在訓練數據達到一定數量之前,越多的訓練數據可以使邏輯回歸算法的判斷越精確,但是邏輯回歸算法有可能無法從數據中學習到好的特征表達,這也是很多傳統機器學習算法的共同問題。對機器學習問題來說,特征提取不是一件簡單的事情。在一些復雜問題上,要通過人工的方式設計有效的特征集合,需要很多的時間和精力,甚至需要整個領域數十年的研究投入。既然人工無法很好地抽取實體中的特征,那么是否有自動的方式呢?深度學習解決的核心問題就是自動地將簡單的特征組合成更加復雜的特征,并使用這些特征解決問題。因為深度學習的通用性,深度學習的研究者往

5、往可以跨越多個研究方向,甚至同時活躍于數個研究方向。雖然深度學習受到了大腦工作原理的啟發,但現代深度學習研究的發展并不拘泥于模擬人腦神經元和人腦的工作原理,各種廣泛應用的機器學習框架也不是由神經網絡啟發而來的。MATLAB是美國MathWorks公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分。MNIST是一個非常有名的手寫體數字識別數據集,被廣泛用作機器學習的入門樣例,它包含了60000張圖片作為訓練數據,10000張圖片作為測試數據,每一張圖片代表了09中的一個數字,圖片的大小為28x28,

6、且數字會出現在圖片的正中間。本文以該數據集為例,基于Matlab來分析BP神經網絡的性能。2 運行環境本設計在Windows 10 下進行設計、主要利用 Matlab工具環境,進行模擬演示。3 方法概述3.1 神經元網絡神經網絡是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法數學模型。這種網絡依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。神經網絡由多個神經元構成,下圖就是單個神經元的圖1所示:圖1 神經元模型這個神經元是以以及截距為輸入值的運算單元,其輸出為,其中函數被稱作“激活函數”。一般選用sigmoid函數作為激活函數圖2 sigmoid

7、函數圖像神經網絡就是將許多個單一的神經元聯結在一起,這樣,一個神經元的輸出就可以是另一個神經元的輸入。例如,下圖就是一個簡單的神經網絡:圖3 神經網絡示意圖我們用第層第單元的激活值(輸出值)。當時,也就是第個輸入值。對于給定的參數集合,神經網絡就可以按照函數來計算輸出結果。3.2 BP神經網絡BP(back propagation)神經網絡是1986年由Rumelhart和McClelland為首的科學家提出的概念,是一種按照誤差逆向傳播算法訓練的多層前饋神經網絡,是目前應用最廣泛的神經網絡。BP神經網絡是一種按誤差反向傳播(簡稱誤差反傳)訓練的多層前饋網絡,其算法稱為BP算法,它的基本思想是

8、梯度下降法,利用梯度搜索技術,以期使網絡的實際輸出值和期望輸出值的誤差均方差為最小?;綛P算法包括信號的前向傳播和誤差的反向傳播兩個過程。即計算誤差輸出時按從輸入到輸出的方向進行,而調整權值和閾值則從輸出到輸入的方向進行。正向傳播時,輸入信號通過隱含層作用于輸出節點,經過非線性變換,產生輸出信號,若實際輸出與期望輸出不相符,則轉入誤差的反向傳播過程。誤差反傳是將輸出誤差通過隱含層向輸入層逐層反傳,并將誤差分攤給各層所有單元,以從各層獲得的誤差信號作為調整各單元權值的依據。通過調整輸入節點與隱層節點的聯接強度和隱層節點與輸出節點的聯接強度以及閾值,使誤差沿梯度方向下降,經過反復學習訓練,確定與

9、最小誤差相對應的網絡參數(權值和閾值),訓練即告停止。此時經過訓練的神經網絡即能對類似樣本的輸入信息,自行處理輸出誤差最小的經過非線形轉換的信息。4 數據結果分析經過訓練的神經網絡對手寫數字識別的精確度是85.88%,以下是數據結果:圖4.1 MSE走勢曲線:4.1 MSE走勢曲線圖4.2 梯度和校驗檢查曲線:圖4.2 梯度和校驗檢查曲線圖4.3回歸曲線:圖4.3回歸曲線圖4.4訓練結構圖:圖4.4訓練結構圖總結本次設計在MATLAB上進行測試訓練集,驗證了BP神經網絡的計算過程由正向計算過程和反向計算過程組成。正向傳播過程,輸入模式從輸入層經隱單元層逐層處理,并轉向輸出層,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層不能得到期望的輸出,則轉入反向傳播,將誤差信號沿原來的連接通路返回,通過修改各神經元的權值,使得誤差信號最小。BP神經網絡無論在網絡理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網絡結構。網絡的中間層數、各層的神經元個數可根據具體情況任意設定,并且隨著結構的差異其性能也有所不同。但是BP神經網絡也存在以下的一些主要缺陷。學習速度慢,即使是一個簡單

溫馨提示

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

最新文檔

評論

0/150

提交評論