




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中 南 大 學(xué)本科生畢業(yè)論文(設(shè)計(jì))題 目 基于神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目錄摘要ABSTRACT第一章緒論11。1手寫體數(shù)字識別研究的發(fā)展及研究現(xiàn)狀11。2神經(jīng)網(wǎng)絡(luò)在手寫體數(shù)字識別中的應(yīng)用21.3 論文結(jié)構(gòu)簡介3第二章手寫體數(shù)字識別42。1手寫體數(shù)字識別的一般方法及難點(diǎn)42。2 圖像預(yù)處理概述52。3 圖像預(yù)處理的處理步驟52。3.1 圖像的平滑去噪52.3.2 二值話處理62.3。3 歸一化72。3。4 細(xì)化82。4 小結(jié)9第三章特征提取103.1 特征提取的概述103.2 統(tǒng)計(jì)特征103.3 結(jié)構(gòu)特征113.3。1 結(jié)構(gòu)特征提取113。3。2 筆劃特征的提取113.3.3 數(shù)
2、字的特征向量說明123。3 知識庫的建立12第四章神經(jīng)網(wǎng)絡(luò)在數(shù)字識別中的應(yīng)用144.1 神經(jīng)網(wǎng)絡(luò)簡介及其工作原理144。1。1神經(jīng)網(wǎng)絡(luò)概述14144.1。2神經(jīng)網(wǎng)絡(luò)的工作原理144。2神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)與訓(xùn)練15154。3 BP神經(jīng)網(wǎng)絡(luò)164.3。1 BP算法164。3。2 BP網(wǎng)絡(luò)的一般學(xué)習(xí)算法164。3。3 BP網(wǎng)絡(luò)的設(shè)計(jì)184。4 BP學(xué)習(xí)算法的局限性與對策204.5 對BP算法的改進(jìn)21第五章系統(tǒng)的實(shí)現(xiàn)與結(jié)果分析235.1 軟件開發(fā)平臺235。1。1 MATLAB簡介235。1。2 MATLAB的特點(diǎn)235.1。3 使用MATLAB的優(yōu)勢235。2 系統(tǒng)設(shè)計(jì)思路245.3 系統(tǒng)流程圖245
3、。4 MATLAB程序設(shè)計(jì)245.5 實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析26結(jié)論27參考文獻(xiàn)28致謝30附錄31摘要手寫體數(shù)字識別是模式識別中一個(gè)非常重要和活躍的研究領(lǐng)域,數(shù)字識別也不是一項(xiàng)孤立的技術(shù),它所涉及的問題是模式識別的其他領(lǐng)域都無法回避的;應(yīng)用上,作為一種信息處理手段,字符識別有廣闊的應(yīng)用背景和巨大的市場需求.因此,對數(shù)字識別的研究具有理論和應(yīng)用的雙重意義。人工神經(jīng)網(wǎng)絡(luò)識別方法是近年該研究領(lǐng)域的一種新方法,該方法具有一些傳統(tǒng)技術(shù)所沒有的優(yōu)點(diǎn):良好的容錯(cuò)能力、分類能力強(qiáng)、并行處理和自學(xué)習(xí)能力,并且是離線訓(xùn)練和在線識別的.這些優(yōu)點(diǎn)使它在手寫體字符的識別中能對大量數(shù)據(jù)進(jìn)行快速實(shí)時(shí)處理,并達(dá)到良好的識別效果
4、。由于手寫體數(shù)字識別難于建立精確的數(shù)學(xué)模型,所以本文采用BP神經(jīng)網(wǎng)絡(luò)對這一問題進(jìn)行處理。神經(jīng)網(wǎng)絡(luò)模式識別的一個(gè)關(guān)鍵步驟是預(yù)處理和特征提取,對于手寫體數(shù)字識別,本文采用了一種基于結(jié)構(gòu)特征和統(tǒng)計(jì)特征的提取方法,并用程序?qū)崿F(xiàn)了這一特征提取過程。通過測試,本識別系統(tǒng)對于較規(guī)范的手寫體數(shù)字的識別達(dá)到了很好的識別效果。關(guān)鍵詞:手寫體數(shù)字識別,特征提取,人工神經(jīng)網(wǎng)絡(luò),MATLABABSTRACTHandwritten character recognition is a very important and active research in pattern recognition。 Theoretica
5、lly, it is not an isolated technique. It concerns with the problem that all the other areas of pattern recognition must confronted; practically, being a kind of information processing measured, character recognition has a very broad application background and vast need of market. Thus, it is of both
6、 theoretical and practical significance。Artificial neural network recognition method is a new method of the research field in recent years, and this method has some merit that traditional technique do not have; good tolerance for error, strong sorting ability, strong parallel handling ability and st
7、rong selflearning ability as well as its off-line training and on-line recognizing。 All these merits contribute its perfect performance in handling vast data set and handling in timely manner。Its difficult to make accurate mathematics model for handwritten numeral recognition, so BP neural networks
8、is used here。 The key steps of neural networks pattern recognition are preprocessing and feature subset selection。 In this paper, algorithm of feature subset selection basing on structural characteristics and statistical characteristics has been adopted in handwritten numeral recognition, and the pr
9、ocess of feature subset selection had been realized in program。Recognition system in this paper has achieved a good rate of recognition in random handwritten numeral by test。Keyword: handwritten numeral recognition, feature extraction, artificial neural network, MATLABIII基于神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第一章 緒論
10、第一章 緒論1。1手寫體數(shù)字識別研究的發(fā)展及研究現(xiàn)狀模式識別2是六十年代初迅速發(fā)展起來的一門學(xué)科。由于它研究的是如何用機(jī)器來實(shí)現(xiàn)人(及某些動物)對事物的學(xué)習(xí)、識別和判斷能力,因而受到了很多科技領(lǐng)域研究人員的注意,成為人工智能研究的一個(gè)重要方面。一個(gè)模式識別系統(tǒng)的基本職能是對系統(tǒng)所要處理的模式歸屬于哪一類做出判別,從該系統(tǒng)的模式輸入到系統(tǒng)做出判別之間,主要包括信息檢測、預(yù)處理、特征提取和分類幾大環(huán)節(jié).字符識別是模式識別領(lǐng)域中的一個(gè)非?;钴S的分支。一方面是由于問題本身的難度使之成為一個(gè)極具挑戰(zhàn)性的課題;另一方面,是因?yàn)樽址R別不是一項(xiàng)孤立的應(yīng)用技術(shù),其中包含的模式識別領(lǐng)域中其他分支都會遇到的一些基
11、本和共性的問題。從50年代開始,許多的研究者就在這一研究領(lǐng)域開展了廣泛的探索并為模式識別的發(fā)展產(chǎn)生了積極的影響.字符識別,從采用的輸入設(shè)備來分,可分為脫機(jī)識別(又稱為光學(xué)字符識別Optical Character Recognition ,OCR)和聯(lián)機(jī)識別,脫機(jī)字符又分為印刷體和手寫字符識別,從對書寫者要求來分,手寫字符又分為限制性和非限制性的手寫字符識別.在聯(lián)機(jī)手寫字符識別中,計(jì)算機(jī)能夠通過與計(jì)算機(jī)相連的手寫輸入設(shè)備獲得輸入字符筆劃的順序、筆劃的方向以及字符的形狀,所以相對OCR來說它更容易識別一些。但聯(lián)機(jī)字符識別有一個(gè)重要的不足就是要求輸入者必須在指定的設(shè)備上書寫,然而人們在生活中大部分
12、的書寫情況是不滿足這一要求的,比如人們填寫各種表格資料,開具支票等。如果需要計(jì)算機(jī)去認(rèn)識這些已經(jīng)成為文字的東西,就需要OCR技術(shù)。比起聯(lián)機(jī)字符識別來,OCR不要求書寫者在特定輸入設(shè)備上書寫,它可以與平常一樣書寫,所以O(shè)CR的應(yīng)用更為廣泛。OCR所使用的輸入設(shè)備可以是任何一種圖像采集設(shè)備,如掃描儀、數(shù)字相機(jī)等.通過使用這類采集設(shè)備,OCR系統(tǒng)將書寫者已經(jīng)寫好的文字作為圖像輸入到計(jì)算機(jī)中,然后由計(jì)算機(jī)去識別。由于OCR的輸入只是簡單的一副圖像,它就不能像聯(lián)機(jī)輸入那樣比較容易的從物理上獲得字符筆劃的順序信息,因此OCR是一個(gè)更具挑戰(zhàn)性的問題。脫機(jī)字符識別(OCR)分為印刷體OCR和手寫OCR。印刷體
13、字符比手寫體字符少了隨機(jī)性,它的識別相對容易些,難點(diǎn)已經(jīng)不在識別環(huán)節(jié),而在于字符的分割上.印刷體識別的錯(cuò)誤絕大多數(shù)都是錯(cuò)誤的分割引起的3。對于手寫體OCR,無論是聯(lián)機(jī)還是脫機(jī)識別,手寫體的識別都要經(jīng)歷由限制性手寫體識別到非限制性手寫體識別兩個(gè)階段。本文將以手寫體數(shù)字為代表,討論非限制性手寫體字符的識別。脫機(jī)字符識別的研究最早始于上個(gè)世紀(jì)六十年代,是為了應(yīng)付漢英翻譯的需要。八十年代后的研究重心轉(zhuǎn)移到脫機(jī)手寫字符的識別上.對于小類別數(shù)的字符集如數(shù)字、字母的識別,已經(jīng)可以做到對書寫不加任何的限制。非限制性手寫OCR的研究始終以阿拉伯?dāng)?shù)字為主導(dǎo).這事因?yàn)?第一,十個(gè)阿拉伯?dāng)?shù)字是全世界的一套通用字符。第
14、二,在數(shù)字的許多應(yīng)用場合,如報(bào)表、賬單、支票等,手寫體還難以被印刷體所替代,而且對識別的可靠性要求極高。三,由于類別數(shù)少,所以模式識別中的許多方法研究均可以以數(shù)字識別作為實(shí)驗(yàn)背景。對脫機(jī)手寫體字符的研究,人們由簡單集成筆畫密度、筆畫方向和背景特征方法過渡到特征匹配方法,進(jìn)而過渡到結(jié)合神經(jīng)網(wǎng)絡(luò)方法,隨著對識別可靠性要求的提高,九十年代以后,多分類器集成方法成為了一個(gè)研究重點(diǎn)。1.2神經(jīng)網(wǎng)絡(luò)在手寫體數(shù)字識別中的應(yīng)用目前,隨著計(jì)算機(jī)的迅速發(fā)展,性能價(jià)格比的不斷提高,模式識別技術(shù)已經(jīng)從理論探討為主發(fā)展到大量的實(shí)際應(yīng)用,人們將更多的注意力開始轉(zhuǎn)向那些用于語音、圖像、機(jī)器人以及人工智能等的模式識別實(shí)際問題
15、.解決這些問題的關(guān)鍵是需要進(jìn)行復(fù)雜而龐大的實(shí)時(shí)數(shù)據(jù)處理,而現(xiàn)有計(jì)算機(jī)的存貯容量及計(jì)算復(fù)雜性的局限,使得真正實(shí)時(shí)化的應(yīng)用受阻.這種面向?qū)崟r(shí)應(yīng)用的模式識別問題促使人們開始將并行處理的神經(jīng)網(wǎng)絡(luò)4應(yīng)用到模式識別,而神經(jīng)網(wǎng)絡(luò)模式識別技術(shù)又將模式識別實(shí)時(shí)應(yīng)用推進(jìn)了一大步,手寫體數(shù)字識別就是這種應(yīng)用的一個(gè)很重要的領(lǐng)域。手寫體數(shù)字識別是一項(xiàng)極具研究價(jià)值的課題,隨著神經(jīng)網(wǎng)絡(luò)1和模糊邏輯技術(shù)的發(fā)展,人們對這一問題的研究又采用了許多新的方法和手段,也使得這一古老的課題煥發(fā)出新的生命力5。目前國際上有相當(dāng)多的學(xué)者在研究這一課題,它包括了模式識別領(lǐng)域中所有典型的問題:數(shù)據(jù)的采集、處理及選擇、輸入樣本表達(dá)的選擇、模式識別
16、分類器的選擇以及用樣本集對識別器的有指導(dǎo)的訓(xùn)練。人工神經(jīng)網(wǎng)絡(luò)為手寫體數(shù)字識別提供了新的手段。正是神經(jīng)網(wǎng)絡(luò)所具有的這種自組織自學(xué)習(xí)能力、推廣能力、非線性和運(yùn)算高度并行的能力使得模式識別成為目前神經(jīng)網(wǎng)絡(luò)最為成功的應(yīng)用領(lǐng)域。二十多年來,人們在數(shù)字識別領(lǐng)域做了大量的研究工作,所提出的各種方法在印刷體和手寫印刷體數(shù)字識別方面已經(jīng)取得了較好的成績,識別率穩(wěn)定在96左右。但是自由手寫體數(shù)字的識別工作目前并不成熟,仍舊是文字識別中最有挑戰(zhàn)性的課題之一。字符識別長期以來都是采用傳統(tǒng)的識別方法,對印刷體字符的識別率一般只是穩(wěn)定在96左右,不能進(jìn)一步提高;而對手寫體字符的識別,其研究還處于探索階段,其識別率還相當(dāng)?shù)?/p>
17、,因此,為了提高識別率,就必須尋求新的方法和途徑。進(jìn)入九十年代以來,人工神經(jīng)網(wǎng)絡(luò)(ANN)技術(shù)發(fā)展十分迅速,它具有模擬人類部分形象思維的能力,是一種模仿人腦學(xué)習(xí)、記憶、推理等認(rèn)知功能的新方法。特別是它的信息并行分布式處理能力和自學(xué)習(xí)功能等顯著優(yōu)點(diǎn),更是激起了人們對它的極大的興趣。人工神經(jīng)網(wǎng)絡(luò)是由一些類似人腦神經(jīng)元的簡單處理單元相互連接而成的復(fù)雜網(wǎng)絡(luò).已涌現(xiàn)出許多不同類型的ANN及相應(yīng)的學(xué)習(xí)算法,其中BP(或EBPError Back Propagation)網(wǎng)絡(luò)及學(xué)習(xí)算法得到了廣泛關(guān)注和研究,并在數(shù)字識別方面取得了許多有意義的應(yīng)用成果。1.3 論文結(jié)構(gòu)簡介本畢業(yè)設(shè)計(jì)主要解決以圖像形式存在的手寫
18、體數(shù)字識別的問題。整體分為三個(gè)部分,第一部分是圖像預(yù)處理,第二部分是對手寫體數(shù)字的結(jié)構(gòu)特征的提取,第三部分是設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)并對前面得到的樣本數(shù)據(jù)進(jìn)行學(xué)習(xí)和訓(xùn)練.本文通過圖像預(yù)處理和數(shù)字特征提取以后基于神經(jīng)網(wǎng)絡(luò)的判別方法,然后結(jié)合使用了MATLAB工具箱中提供的人工神經(jīng)網(wǎng)絡(luò)函數(shù)設(shè)計(jì)了一種手寫數(shù)字識別的新方法。實(shí)驗(yàn)表明,該方法可以獲得較好的識別率.42基于神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第二章 手寫數(shù)字識別第二章手寫體數(shù)字識別2。1手寫體數(shù)字識別的一般方法及難點(diǎn)字符識別問題的研究已有幾十年的歷史了,但時(shí)至今日,字符識別的研究成果遠(yuǎn)未達(dá)到人們所期望的,這其中有理論研究和技術(shù)實(shí)現(xiàn)等多方面因素。 在理
19、論方面,我們對人類的視覺認(rèn)知機(jī)理的研究還只是初步的,遠(yuǎn)未達(dá)到深入和透徹的水平。在技術(shù)方面,我們使用的計(jì)算機(jī)的運(yùn)算水平和存儲能力, 比起人腦的信息存儲和處理能力有很大差距. 因此,目前的文字識別只能建立在現(xiàn)有的理論基礎(chǔ)上,使用現(xiàn)有的技術(shù)來研究和解決問題.手寫體數(shù)字識別是字符識別的一個(gè)分支,問題雖然簡單,但卻有較大的實(shí)用價(jià)值。數(shù)字的類別雖然只有十種,筆劃又簡單,其識別問題表面上是一個(gè)較簡單的分類問題。但實(shí)際上,雖然各種新的識別算法不斷的推出。其識別率和誤識率仍距實(shí)用有相當(dāng)距離.手寫阿拉伯?dāng)?shù)字具有變形多差異大的特點(diǎn),字形與書寫人的職業(yè)、文化程度、書寫習(xí)慣以及所使用筆墨紙張所處環(huán)境等都有關(guān),所以手寫體
20、數(shù)字變形多、規(guī)律復(fù)雜。具體地說有兩個(gè):一是0 9 十個(gè)數(shù)字中,其中的一些數(shù)字字形相差不大,使得準(zhǔn)確區(qū)分某些數(shù)字相當(dāng)困難;二是數(shù)字雖然只有十種,但同一數(shù)字寫法千差萬別.不同的人寫出的同一個(gè)數(shù)字都有差別,即使同一個(gè)人在不同的時(shí)候也會有不同的寫法。筆劃的書寫順序經(jīng)常發(fā)生變化,因此極大地增加了匹配的難度.一般人寫字時(shí)都不會一筆一劃的書寫,為了節(jié)省時(shí)間,連筆字是自然而然的事情,對于結(jié)構(gòu)識別而言,連筆一方面使筆劃種類大大增加,甚至達(dá)到難以歸納的程度;另一方面,連筆又使得筆段抽取難度大增,因?yàn)檫B筆會增加一些冗余筆段,連筆造成的畸變又會使筆段方向嚴(yán)重離散。總之,連筆不論對于基于哪種基元的結(jié)構(gòu)識別都是嚴(yán)峻的挑戰(zhàn)
21、。這是造成手寫數(shù)字識別過程復(fù)雜、達(dá)到較高識別率困難的根本原因。如圖2。1各種各樣的手寫體數(shù)字。圖2。1 各種各樣的手寫體數(shù)字2。2圖像預(yù)處理概述預(yù)處理6是字符識別重要的一環(huán), 它把原始的圖像轉(zhuǎn)換成識別器所能接受的二進(jìn)制形式。要識別手寫體數(shù)字首先要對其字符圖像進(jìn)行預(yù)處理.預(yù)處理的主要目的是去除字符圖像中的噪聲、壓縮冗余信息, 得到規(guī)范化的點(diǎn)陣, 為識別做好準(zhǔn)備。這就要求預(yù)處理在消除圖像中與識別無關(guān)的因素時(shí)盡量保持原圖像的字符特征。手寫體數(shù)字圖像預(yù)處理的過程,就一般情況而言,主要經(jīng)過如圖2.2所示的幾個(gè)步驟。不同的識別方法對預(yù)處理的項(xiàng)目和要求有所不同。如結(jié)構(gòu)識別方法7,對字符規(guī)范化可以從簡,甚至不
22、需要.有的識別方法對細(xì)化要求很高,有的則不需要細(xì)化.本章中將分別對平滑去噪、二值化、歸一化和細(xì)化分小節(jié)討論。原始圖像 平滑去噪二值化 歸一化細(xì) 化圖2。2 圖像預(yù)處理的基本流程2.3 圖像預(yù)處理的處理步驟2。3.1圖像的平滑去噪手寫體數(shù)字由于其隨機(jī)性大,斷筆,連筆、飛白狀況時(shí)常發(fā)生,為了減少灰度圖像的一些不該出現(xiàn)的黑白噪聲,可以采用圖像的平滑去噪技術(shù).進(jìn)行圖像平滑處理的是一種空域?yàn)V波器8,空域?yàn)V波器一般可分為線性濾波和非線性濾波兩類.線性濾波器的設(shè)計(jì)?;趯Ω盗⑷~變換的分析,如均值濾波器;非線性濾波器則一般直接對鄰域進(jìn)行操作,如中值濾波器。以下為采用中值濾波對圖像進(jìn)行平滑處理的部分代碼9:fo
23、r i=2:175; for j=2:259 Xtemp=0; for m=1:3 for n=1:3 Xtemp=Xtemp+X2(i+m。2,j+n。2); end end Xtemp=Xtemp/9; X3(i,j)=Xtemp; endend2.3.2二值化處理圖像的二值化就是把圖像中的像素根據(jù)一定的標(biāo)準(zhǔn)劃分成兩種顏色。在這個(gè)系統(tǒng)中就是根據(jù)像素的灰度值處理成黑白兩種顏色。對數(shù)字字符圖像二值化后要能真實(shí)的再現(xiàn)原數(shù)字, 其基本要求為:筆畫中不出現(xiàn)空白點(diǎn), 二值化的筆畫基本保持原來文字的結(jié)構(gòu)特征.圖像二值化的關(guān)鍵在于閾值的選擇。圖像的二值化有很多成熟的算法, 有整體閾值二值化法、局部閾值二值
24、化法、動態(tài)閾值二值化法等。二值化的關(guān)鍵在于閾值的選取,閾值選取主要分為整體閾值法、局部閾值法和動態(tài)閾值法。三類閾值的選擇是一個(gè)比較復(fù)雜的問題,有的可以由計(jì)算機(jī)自動選擇,有的需人工干預(yù).基于字符識別掃描得到的圖像目標(biāo)與背景的灰度級有明顯的差別,字符圖像的二值化可采用整體閾值法中的雙峰法,該方法簡單易行,針對目標(biāo)與背景的灰度級有明顯差別的圖像,其灰度直方圖的分布呈雙峰狀,兩個(gè)波峰分別與圖像中的目標(biāo)和背景相對應(yīng),波谷與圖像邊緣相對,應(yīng)當(dāng)在分割閾值位于谷底時(shí),圖像分割可取得最好的效果。下面給出我在設(shè)計(jì)過程中二值化以后的效果圖如圖2.3。圖2.3 二值化處理2.3。3歸一化本文使用的數(shù)字圖像都是在 Wi
25、ndows XP 畫圖板中手寫輸入的.由于10 ×14像素圖像(10 是圖像寬度,14 是圖像高度)較小,書寫時(shí)難度較大。我們希望書寫時(shí)盡量不限制圖像的大小,然后通過計(jì)算統(tǒng)一尺寸,使之具有同一高度,同一寬度,稱之為歸一化10.在數(shù)字圖像處理中有一些比較成熟的縮放圖像的算法,例如 MATLAB 使用 imresize函數(shù)來改變圖像的大小。它的調(diào)用格式為 I2=imresize(I,rate),I 存儲的是原始圖像的數(shù)組,rate 是變化率,I2 存儲的是改變后圖像的數(shù)組.例如 rate=0。5 時(shí),高度和寬度都將縮小一半,原始圖像也就縮小了一半。這一算法的缺點(diǎn)是只能將原始圖像的高度和寬
26、度同時(shí)變化相同的比例,如果我們希望將原始圖像變成10 ×1 4像素的圖像,該算法就無法解決了。顯然這種算法不適合解決我們面臨的問題。本文提出了一種新的歸一化算法,可以將不同尺寸的二值圖像統(tǒng)一為10×14 像素的圖像。具體算法是:先得到原始圖像的高度和寬度,分別與系統(tǒng)要求得到的高度和寬度作比較,得出要變換的系數(shù),然后根據(jù)得到的系數(shù)計(jì)算每一個(gè)原始像素點(diǎn)歸一化后在新圖像中的位置,最后計(jì)算新圖像中每個(gè)像素點(diǎn)的值,方法是:求出原始像素點(diǎn)及其周圍三個(gè)點(diǎn)的像素值的平均值,最后用函數(shù) floor.m 取整,調(diào)用格式為 B=floor(A),B 取小于或者等于 A 的整數(shù)。歸一化算法程序代碼
27、如下:ans=imread(0。bmp); 讀入圖片 0。bmp,28 × 28像素圖像imshow(ans)r,c=size(ans); r 是原圖像的高度,c 是寬度for i=2:(r1)for j=2:(c-1)n=i/(r/14);n=ceil(n);m=j/(c/10);m=ceil(m);M(n,m)=(ans(i,j)+ans(i,j+1)+ans(i,j1)+ans(i-1,j)/4;N(n,m)=floor(M(n,m));endendimshow(N)例如,數(shù)字圖像“0。bmp"經(jīng)該歸一化算法計(jì)算得到矩陣 M,MATLAB 運(yùn)行結(jié)果如圖2.4所示.圖2
28、。4 歸一化處理2.3。4細(xì)化許多字符識別方法在預(yù)處理中都很重視對二值化字符的細(xì)化處理。直觀來說,細(xì)化就是將二值化字符點(diǎn)陣逐層剝?nèi)ポ喞系狞c(diǎn),變成筆畫寬度只有一個(gè)像素寬度的字符骨架圖形.之所以需要細(xì)化處理,是因?yàn)槎祷c(diǎn)陣圖形中,對識別有價(jià)值的文字特征信息主要集中在字符骨架上,細(xì)化后的字符骨架既保留了原字符的絕大部分的特征,又利于特征提取.細(xì)化后骨架的存儲量比原來的二值化字符點(diǎn)陣要少得多,降低了處理工作量。手寫體數(shù)字細(xì)化的基本要求如下:第一、保持原有字符筆畫的連續(xù)性,不能由于細(xì)化造成筆畫斷裂。第二、要細(xì)化為單線,即筆畫寬度為一個(gè)像素.第三、細(xì)化后的骨架應(yīng)盡量是原來筆畫的中心線.2.4 小結(jié)預(yù)處
29、理是手寫數(shù)字識別中不可缺少的組成部分,對圖像預(yù)處理的好壞直接影響到識別的結(jié)果, 關(guān)系到識別算法的好壞.文中首先對待識別數(shù)字的預(yù)處理進(jìn)行了介紹,包括平滑去噪、二值化、歸一化、細(xì)化等圖像處理方法,經(jīng)過這些預(yù)處理步驟, 對圖像中部分變形信息進(jìn)行了修正, 消除圖像中與識別無關(guān)的因素, 而且盡量保持原圖像的字符特征, 在實(shí)驗(yàn)中提高了數(shù)字識別網(wǎng)絡(luò)的性能?;谏窠?jīng)網(wǎng)絡(luò)的手寫數(shù)字系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第三章 特征提取第三章特征提取3。1 特征提取的概述模式識別使用特征來區(qū)分不同的種類。因此,特征提取是模式識別系統(tǒng)的關(guān)鍵部分。特征提取的目標(biāo)是找到某種變換,將N維或N*N維的模式類別空間轉(zhuǎn)換到維數(shù)小得多的M維特征空間
30、,并同時(shí)保留模式識別所需要的大部分信息。通過特征提取,模式分類可以在維數(shù)低得多的空間上進(jìn)行,從而降低了計(jì)算的復(fù)雜度.而且,對給定的訓(xùn)練樣本進(jìn)行特征提取可以獲得更精確的分類函數(shù)的描述,以構(gòu)造更可靠的分類規(guī)則。同樣對于手寫體數(shù)字的識別,特征提取可以降低字符信息量、去除無用的冗余信息,提高識別系統(tǒng)效率,一直是字符識別領(lǐng)域中的關(guān)鍵點(diǎn).特征提取的目的是從原始數(shù)據(jù)中抽取出用于區(qū)分不同類型的本質(zhì)特征。無論是識別過程還是學(xué)習(xí)過程,都要對研究對象固有的、本質(zhì)的重要特征或?qū)傩赃M(jìn)行量測并將結(jié)果數(shù)值化,形成特征矢量.手寫體數(shù)字的識別中,常用的特征有結(jié)構(gòu)特征和統(tǒng)計(jì)特征.結(jié)構(gòu)特征和統(tǒng)計(jì)特征各有其優(yōu)點(diǎn):結(jié)構(gòu)特征能描述字符的
31、結(jié)構(gòu),對于不同人書寫的字符,形體不同,但結(jié)構(gòu)都是一致的,所以結(jié)構(gòu)特征能克服手寫字體因人而引起的畸變;統(tǒng)計(jì)特征最大的優(yōu)點(diǎn)是對環(huán)境噪音不敏感,如若字符的背景噪音通常都是呈高斯分布,用統(tǒng)計(jì)特征進(jìn)行識別可對此影響忽略不計(jì)。本章將用兩小節(jié)分別對結(jié)構(gòu)特征和統(tǒng)計(jì)特征進(jìn)行論述。 3。2統(tǒng)計(jì)特征對復(fù)雜圖像信號作小波變換11,進(jìn)行多分辨率分析,已經(jīng)成為圖像信號分析和處理的常用方法。由于小波變換的結(jié)果體現(xiàn)為大量的小波分解系數(shù),這些系數(shù)包含了系統(tǒng)或信號本身大量和多樣的特征信息。如果圖像信號的主要信息能以一個(gè)或一組特征量來表征,我們就可以更加直觀、有效和方便地對各種隨機(jī)信號進(jìn)行信息提取、信號檢測、特征識別。統(tǒng)計(jì)特征分為
32、宏觀特征信息和局部特征信息。宏觀特征信息是需要在整幅圖像上獲取的特征信息。傳統(tǒng)的全局特征主要包括:全局變換特征(對字符圖像進(jìn)行各種變換,利用變換系數(shù)作為特征向量,常用的變換有Fourier變換、K-L變換、小波變換等)、不變矩特征、全局筆劃方向特征等;常用的局部統(tǒng)計(jì)特征有:局部筆劃方向特征、Gabor特征等。統(tǒng)計(jì)特征對微小的畸變不敏感,但區(qū)分相似的能力較差。以下為程序設(shè)計(jì)中對小波分析提取低頻部分的統(tǒng)計(jì)特征的實(shí)例:f=imread(sample.bmp);輸入圖像c,s=wavedec2(h,3,db2');對人臉圖像進(jìn)行3階小波分解,并提取小波系數(shù)wave2gray(c,s,8);顯示
33、小波分解后各子圖y=wavecopy('a,c,s)figure,imshow(mat2gray(y));提取主要特征3.3結(jié)構(gòu)特征采用結(jié)構(gòu)特征12對字符進(jìn)行結(jié)構(gòu)分析從而達(dá)到識別目的,是一種非常直觀的方法。字符由各個(gè)子部件構(gòu)成,逐級分析字符圖像的結(jié)構(gòu),根據(jù)各元素的屬性、數(shù)量及其相互關(guān)系,便可判定待識字符。與統(tǒng)計(jì)方法相比,結(jié)構(gòu)分析不注重特征的絕對位置,只考慮特征的相對關(guān)系,因而對書寫風(fēng)格的變化不敏感,其缺點(diǎn)在于特征提取和模板的建立都十分困難,匹配算法也比較復(fù)雜,神經(jīng)網(wǎng)絡(luò)的應(yīng)用彌補(bǔ)了這個(gè)缺點(diǎn),只要提取出適當(dāng)?shù)慕Y(jié)構(gòu)向量作為神經(jīng)網(wǎng)絡(luò)的輸入向量,會得到令人滿意的識別輸出結(jié)果.以下詳細(xì)介紹.3.3
34、.1結(jié)構(gòu)特征提取首先對經(jīng)預(yù)處理后的圖像進(jìn)行分割,如圖3.1所示。圖3。1 圖像分割對圖像分割后,結(jié)構(gòu)特征提取的算法如下:(1)對細(xì)化后的數(shù)字圖像取豎直的三條直線,分別取在5/12,1/2,7/12處,記下這三條豎直直線與數(shù)字筆段的交點(diǎn)數(shù).(2)再取水平三條直線,分別取在1/3,1/2,2/3處, 分別記下這三條水平直線與數(shù)字筆段的交點(diǎn)數(shù)。(3)再取對角兩條直線, 分別記下這兩條對角直線與數(shù)字筆段的交點(diǎn)數(shù).3.3.2筆劃特征的提取經(jīng)細(xì)化后的數(shù)字圖像其特征較為穩(wěn)定,且筆劃簡單,因此對其抽取的基本結(jié)構(gòu)組件能反映數(shù)字的本質(zhì)特征,從而可快速有效地識別數(shù)字,并達(dá)到較好的分類效果。數(shù)字端點(diǎn)如圖3.2所示。圖
35、3.2數(shù)字端點(diǎn)對圖像分割后,結(jié)構(gòu)特征提取的算法如下:(1)按從上到下,從左到右的順序掃描預(yù)處理后圖像并選擇黑像素點(diǎn)P;(2)計(jì)算像素P的8鄰域之和N;(3)若N=1,則像素P為端點(diǎn),端點(diǎn)計(jì)數(shù)器加一;(4)重復(fù)步驟(1)-(3),直到遍歷整個(gè)圖像。3.3.3數(shù)字的特征向量說明依據(jù)上述特征提取方法,本系統(tǒng)中的特征矢量由9個(gè)分量組成,其排列如下所示:DATA= 豎直中線交點(diǎn)數(shù),豎直5/12處,豎直7/12處,水平中線交點(diǎn)數(shù),水平1/3處交點(diǎn)數(shù),水平2/3處交點(diǎn)數(shù),左對角線交點(diǎn)數(shù),右對角線交點(diǎn)數(shù),端點(diǎn)數(shù) ;3。3知識庫的建立由于本文采用的是基于模式知識庫的識別方法,所以對字符的結(jié)構(gòu)特征的分析以及字符模
36、型的構(gòu)造是一個(gè)十分重要的環(huán)節(jié),圖3。3就是對識別數(shù)字的標(biāo)準(zhǔn)形態(tài)進(jìn)行具體分析而構(gòu)造的模板.圖3。3 規(guī)范手寫體數(shù)字形態(tài) 以下為規(guī)范手寫體數(shù)字形態(tài)的特征向量:DATA012,2,2,2,2,2,2,2,0;DATA111,0,0,1,1,1,1,1,2;DATA213,3,3,1,1,1,1,1,3;DATA313,2,3,1,1,1,2,2,3;DATA411,1,1,2,2,1,3,2,4;DATA513,3,3,1,1,1,2,2,4;DATA613,3,2,1,1,2,3,2,1;DATA712,2,2,1,1,1,1,1,2;DATA814,4,4,2,2,2,2,2,0;DATA913
37、,3,3,1,2,1,3,1,1。由于本系統(tǒng)是對自由手寫體進(jìn)行識別, 因而要考慮數(shù)字書寫體的多變性。通過對圖3.4所示的數(shù)字變體的分析來對知識庫進(jìn)行補(bǔ)充。圖3。4手寫體數(shù)字變體以下為手寫體數(shù)字變體形態(tài)的特征向量:DATA021,1,2,2,2,2,1,2,2;DATA223,2,2,1,1,1,1,3,2;DATA323,1,4,2,1,1,2,2,3;DATA421,2,2,3,3,1,2,2,2;DATA523,3,3,1,1,1,2,2,4;DATA623,1,3,1,1,2,2,2,2;DATA824,4,4,2,1,2,1,2,2;DATA923,2,3,2,1,1,3,1,3。最后
38、得到的知識庫由上述兩套模板所組成。基于神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 第四章 神經(jīng)網(wǎng)絡(luò)在數(shù)字識別中的應(yīng)用第四章 神經(jīng)網(wǎng)絡(luò)在數(shù)字識別的應(yīng)用4。1 神經(jīng)網(wǎng)絡(luò)簡介及其工作原理人的智能來自于大腦,大腦是由大量的神經(jīng)細(xì)胞或神經(jīng)元組成的。每個(gè)神經(jīng)元可以看作為一個(gè)小的處理單元,這些神經(jīng)元按照某種方式互相連接起來,構(gòu)成了大腦內(nèi)部的生理神經(jīng)元網(wǎng)絡(luò)。他們中各神經(jīng)元之間連接的強(qiáng)弱,按照外部的激勵(lì)信號作自適應(yīng)變化,而每個(gè)神經(jīng)元又隨著接收到的多個(gè)激勵(lì)信號的綜合大小呈現(xiàn)興奮或抑制狀態(tài)。4.1。1神經(jīng)網(wǎng)絡(luò)概述人工神經(jīng)元網(wǎng)絡(luò)是生理學(xué)上的真實(shí)人腦神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能,以及若干基本特性的某種理論抽象、簡化和模擬而構(gòu)成的一種信
39、息處理系統(tǒng).從系統(tǒng)觀點(diǎn)看,人工神經(jīng)元網(wǎng)絡(luò)是由大量神經(jīng)元通過極其豐富和完善的聯(lián)接而構(gòu)成的自適應(yīng)非線性動態(tài)系統(tǒng)。由于神經(jīng)元之間有著不同的連接方式,所以組成不同結(jié)構(gòu)形態(tài)的神經(jīng)網(wǎng)絡(luò)14系統(tǒng)是可能的。據(jù)現(xiàn)在的了解,大腦的學(xué)習(xí)過程就是神經(jīng)元之間連接強(qiáng)度隨外部激勵(lì)信息做自適應(yīng)變化的過程,大腦處理信息的結(jié)果確由神經(jīng)元的狀態(tài)表現(xiàn)出來。顯然,神經(jīng)元是信息處理系統(tǒng)的最小單元。雖然神經(jīng)元的類型有很多種,但其基本結(jié)構(gòu)相似。4。1。2神經(jīng)網(wǎng)絡(luò)的工作原理人工神經(jīng)網(wǎng)絡(luò)首先要以一定的學(xué)習(xí)準(zhǔn)則進(jìn)行學(xué)習(xí),然后才能工作.現(xiàn)以人工神經(jīng)網(wǎng)絡(luò)對手寫“A"、“B"兩個(gè)字母的識別為例進(jìn)行說明,規(guī)定當(dāng)“A"輸入網(wǎng)絡(luò)
40、時(shí),應(yīng)該輸出“1”,而當(dāng)輸入為“B”時(shí),輸出為“0”。 所以網(wǎng)絡(luò)學(xué)習(xí)的準(zhǔn)則應(yīng)該是:如果網(wǎng)絡(luò)做出錯(cuò)誤的判決,則通過網(wǎng)絡(luò)的學(xué)習(xí),應(yīng)使得網(wǎng)絡(luò)減少下次犯同樣錯(cuò)誤的可能性.首先,給網(wǎng)絡(luò)的各連接權(quán)值賦予(0,1)區(qū)間內(nèi)的隨機(jī)值,將“A”所對應(yīng)的圖像模式輸入給網(wǎng)絡(luò),網(wǎng)絡(luò)將輸入模式加權(quán)求和、與門限比較、再進(jìn)行非線性運(yùn)算,得到網(wǎng)絡(luò)的輸出。在此情況下,網(wǎng)絡(luò)輸出為“1”和“0"的概率各為50%,也就是說是完全隨機(jī)的。這時(shí)如果輸出為“1”(結(jié)果正確),則使連接權(quán)值增大,以便使網(wǎng)絡(luò)再次遇到“A"模式輸入時(shí),仍然能做出正確的判斷。 如果輸出為“0”(即為結(jié)果錯(cuò)誤),則把網(wǎng)絡(luò)連接權(quán)值朝著減小綜合輸入加權(quán)
41、值的方向調(diào)整,其目的在于使網(wǎng)絡(luò)下次再遇到“A"模式輸入時(shí),減小犯同樣錯(cuò)誤的可能性。如此操作調(diào)整,當(dāng)給網(wǎng)絡(luò)輪番輸入若干個(gè)手寫字母“A”、“B"后,經(jīng)過網(wǎng)絡(luò)按以上學(xué)習(xí)方法進(jìn)行若干次學(xué)習(xí)后,網(wǎng)絡(luò)判斷的正確率將大大提高.這說明網(wǎng)絡(luò)對這兩個(gè)模式的學(xué)習(xí)已經(jīng)獲得了成功,它已將這兩個(gè)模式分布地記憶在網(wǎng)絡(luò)的各個(gè)連接權(quán)值上.當(dāng)網(wǎng)絡(luò)再次遇到其中任何一個(gè)模式時(shí),能夠做出迅速、準(zhǔn)確的判斷和識別。一般說來,網(wǎng)絡(luò)中所含的神經(jīng)元個(gè)數(shù)越多,則它能記憶、識別的模式也就越多.4。2神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)與訓(xùn)練人腦中一個(gè)典型神經(jīng)元通過許多樹突的精細(xì)結(jié)構(gòu),收集來自其它神經(jīng)元的信息,神經(jīng)元又通過軸突的一條長而細(xì)的軸突發(fā)出電活
42、性脈沖。軸突分裂上千條分支,在每條分支末端,通過突觸的結(jié)構(gòu)把來自軸突的電活性變?yōu)殡娮饔?,從而使與之相連的各種神經(jīng)元的活性受到抑制或興奮.當(dāng)一個(gè)神經(jīng)元收到興奮輸入,而興奮輸入又比神經(jīng)元的抑制輸入足夠大時(shí),神經(jīng)元把電活性脈沖向下傳到它的軸突,改變軸突的有效性,從而使一個(gè)神經(jīng)元對另一個(gè)神經(jīng)元的影響改變,便發(fā)生了學(xué)習(xí)行為.因此,可以認(rèn)為神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的本質(zhì)特征在于神經(jīng)細(xì)胞特殊的突觸結(jié)構(gòu)所具有的可塑性連接,而如何調(diào)整連接權(quán)重就構(gòu)成了不同的學(xué)習(xí)算法。通過向環(huán)境學(xué)習(xí)獲取知識并改進(jìn)自身性能是NN的一個(gè)重要特點(diǎn)。在一般情況下,性能的改善是按某種預(yù)定的度量通過調(diào)節(jié)自身參數(shù)(如權(quán)值)隨時(shí)間逐步達(dá)到的.學(xué)習(xí)方式15(按
43、照環(huán)境提供信息量的多少)有三種:1監(jiān)督學(xué)習(xí)(有教師學(xué)習(xí))為了使神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中解決各種問題,必須對它進(jìn)行訓(xùn)練,就是從應(yīng)用環(huán)境中選出一些樣本數(shù)據(jù),通過不斷地調(diào)整權(quán)矩陣,直到得到合適的輸入輸出關(guān)系為止,這個(gè)過程就是對神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,這種訓(xùn)練的過程需要有教師示教,提供訓(xùn)練數(shù)據(jù),又稱樣本數(shù)據(jù).在訓(xùn)練過程中又需教師的監(jiān)督,故這種有教師的學(xué)習(xí)又稱為監(jiān)督式學(xué)習(xí).有教師學(xué)習(xí)方法雖然簡單,但是要求教師對環(huán)境和網(wǎng)絡(luò)的結(jié)構(gòu)應(yīng)該比較熟悉,當(dāng)系統(tǒng)復(fù)雜,環(huán)境變化時(shí),就變得困難。為了適應(yīng)環(huán)境變化就要重新調(diào)整加權(quán)值,這樣,當(dāng)學(xué)習(xí)到新知識的同時(shí),也容易忘掉已學(xué)過的舊知識,這一些是有教師學(xué)習(xí)方法的缺點(diǎn)。2非監(jiān)督學(xué)習(xí)(無教
44、師學(xué)習(xí))非監(jiān)督學(xué)習(xí)時(shí)不存在外部教師,學(xué)習(xí)系統(tǒng)完全按照環(huán)境提供數(shù)據(jù)的某些統(tǒng)計(jì)規(guī)律來調(diào)節(jié)自身參數(shù)或結(jié)構(gòu)(這是一種自組織過程),以表示出外部輸入的某種固有特性(如聚類或某種統(tǒng)計(jì)上的分布特征).無教師學(xué)習(xí)的訓(xùn)練數(shù)據(jù)集中,只有輸入而沒有目標(biāo)輸出,訓(xùn)練過程神經(jīng)網(wǎng)絡(luò)自動地將各輸入數(shù)據(jù)的特征提取出來,并將其分成若干類。經(jīng)過訓(xùn)練好的網(wǎng)絡(luò)能夠識別訓(xùn)練數(shù)據(jù)集以外的新的輸入類別,并相應(yīng)獲得不同的輸出。顯然,無教師的訓(xùn)練方式可使網(wǎng)絡(luò)具有自組織和自學(xué)習(xí)的功能.3再勵(lì)學(xué)習(xí)(強(qiáng)化學(xué)習(xí))這種學(xué)習(xí)介于上述兩種情況之間,外部環(huán)境對系統(tǒng)輸出結(jié)果只給出評價(jià)信息(獎(jiǎng)或懲)而不是給出正確答案。學(xué)習(xí)系統(tǒng)通過強(qiáng)化那些受獎(jiǎng)的動作來改善自身的性能
45、。4.3 BP神經(jīng)網(wǎng)絡(luò)4。3。1BP算法自1985年Rumelhart提出BP算法16以來,神經(jīng)網(wǎng)絡(luò)的研究和應(yīng)用已經(jīng)迅速發(fā)展并滲透到各個(gè)學(xué)科,神經(jīng)網(wǎng)絡(luò)算法已不再是只供研究,而在實(shí)際的生產(chǎn)中開始了廣泛的應(yīng)用。如:數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)挖掘、產(chǎn)品的自動分撿系統(tǒng)的圖像識別等。對應(yīng)地在計(jì)算機(jī)輔助設(shè)計(jì)的軟件開發(fā)中,神經(jīng)網(wǎng)絡(luò)算法的設(shè)計(jì)也越來越多。神經(jīng)網(wǎng)絡(luò)以其快速的并行處理能力和其強(qiáng)有力的學(xué)習(xí)能力而獲得越來越廣泛的重視,其中應(yīng)用最多的是BP神經(jīng)網(wǎng)絡(luò).BP學(xué)習(xí)算法,即反向傳播(back propagation)學(xué)習(xí)算法是一種有導(dǎo)師的示例學(xué)習(xí)算法。這種學(xué)習(xí)算法在模式識別領(lǐng)域中,尤其在字符識別的研究中被廣泛使用。其原因
46、是BP算法學(xué)習(xí)規(guī)則的堅(jiān)韌性和學(xué)習(xí)能力很強(qiáng),當(dāng)給定模式與BP網(wǎng)絡(luò)學(xué)會的模式很相似時(shí),BP網(wǎng)絡(luò)能很好的完成識別任務(wù).BP算法是一種有監(jiān)督式的學(xué)習(xí)算法.其主要思想是:輸入學(xué)習(xí)樣本,使用反向傳播算法對網(wǎng)絡(luò)的權(quán)值和偏差進(jìn)行反復(fù)的調(diào)整訓(xùn)練,通過誤差的反向傳播,使輸出的向量與期望向量盡可能地接近,當(dāng)網(wǎng)絡(luò)輸出層的誤差平方和小于指定的誤差時(shí)訓(xùn)練完成,保存網(wǎng)絡(luò)的權(quán)值和偏差。BP 算法由兩部分組成:信息的正向傳遞與誤差的反向傳播.在正向傳播過程中,輸入信息從輸入層經(jīng)過隱含層逐層計(jì)算傳向輸出層,每一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)。如果在輸出層沒有得到期望的輸出,則計(jì)算輸出層的誤差變化值,然后轉(zhuǎn)向反向傳播,通過
47、網(wǎng)絡(luò)將誤差信號沿著原來的連接通路反傳回來,通過修改各層神經(jīng)元的權(quán)值使得誤差減小,直至達(dá)到期望目標(biāo)。4。3。2BP網(wǎng)絡(luò)的一般學(xué)習(xí)算法BP網(wǎng)絡(luò)是一種有監(jiān)督的前饋運(yùn)行的神經(jīng)網(wǎng)絡(luò),它由輸入層i、隱含層h、輸出層k以及各層之間的節(jié)點(diǎn)的連接權(quán)所組成.它又分為正向和反向傳播兩種,以下對各層進(jìn)行詳細(xì)介紹。1、 正向傳播過程輸入層輸入值一般為樣本各分量輸入值,輸出值一般等于輸入值。隱含層對于節(jié)點(diǎn)j,其輸入值為其前一層各節(jié)點(diǎn)輸出值的加權(quán)和: (4.1)輸出值 (4.2)式中稱為激勵(lì)函數(shù)或者作用函數(shù)。一般采用sigmoid函數(shù): (4.3)式中稱為闕值,稱為溫度系數(shù)。隱含層可為一層或者多層,但是隨著隱含層的增多,網(wǎng)
48、格的復(fù)雜程度也隨之增加,學(xué)習(xí)速度減慢,另外網(wǎng)絡(luò)的推導(dǎo)能力也有可能下降,即所謂的“over fitting"現(xiàn)象。網(wǎng)絡(luò)隱含層以及節(jié)點(diǎn)數(shù)目的選取是BP網(wǎng)絡(luò)學(xué)習(xí)算法有待解決的一個(gè)問題.輸出層輸出層的輸入與輸出與隱含層類似,分別為:(4.4) (4。5)2、 反向傳播過程BP學(xué)習(xí)算法的誤差函數(shù)一般定義為實(shí)際輸出與期望輸出的均方誤差和.通過使誤差函數(shù)最小化的過程不斷的改變權(quán)重,完成從輸入到輸出的非線性映射.設(shè)網(wǎng)絡(luò)輸入模式樣本為,期望輸出為 ,均方誤差函數(shù)為: (4。6)而對于所有的學(xué)習(xí)樣本,系統(tǒng)的均方誤差為: (4。7)為了達(dá)到學(xué)習(xí)目的,要根據(jù)誤差函數(shù)來相應(yīng)地調(diào)整網(wǎng)絡(luò)間的連接權(quán)值。一般來說經(jīng)典
49、的BP學(xué)習(xí)算法采用最快速梯度下降法調(diào)整權(quán)值,每次調(diào)整的增量為: (4.8)式中0<1稱為學(xué)習(xí)率。從(4。8)式可推出下列連接權(quán)值的修正量公式 (4.9)對于輸出節(jié)點(diǎn): (4.10)對于隱節(jié)點(diǎn):(4。11)4。3。3BP網(wǎng)絡(luò)的設(shè)計(jì)BP網(wǎng)絡(luò)的設(shè)計(jì)主要包括輸入層,隱層,輸出層及各層之間的傳輸函數(shù)幾個(gè)方面.1、網(wǎng)絡(luò)層數(shù)大多數(shù)通用的神經(jīng)網(wǎng)絡(luò)都預(yù)先預(yù)定了網(wǎng)絡(luò)的層數(shù),而BP網(wǎng)絡(luò)可以包含不同的隱層。對多層BP神經(jīng)網(wǎng)絡(luò),隱層層數(shù)至少為1層或1層以上,每個(gè)隱層的神經(jīng)元個(gè)數(shù)至少為1個(gè)或1個(gè)以上,否則與多層網(wǎng)絡(luò)的命題矛盾而不成立。2、輸入層的節(jié)點(diǎn)數(shù)網(wǎng)絡(luò)的輸入個(gè)數(shù)應(yīng)等于應(yīng)用問題的輸入數(shù),MATLAB的BP網(wǎng)絡(luò)的建
50、立是通過函數(shù)newff或newcf實(shí)現(xiàn)的.如圖4。1所示的程序設(shè)計(jì)截圖。圖4。1使用newff函數(shù)建立一個(gè)新的BP神經(jīng)網(wǎng)絡(luò)3、網(wǎng)絡(luò)數(shù)據(jù)的預(yù)處理17預(yù)處理方法有歸一化處理、標(biāo)準(zhǔn)化處理和主成分分析。常采用的是歸一化處理,即將輸入、輸出數(shù)據(jù)映射到-1,1范圍內(nèi),訓(xùn)練結(jié)束后再反映射到原數(shù)據(jù)范圍。4、輸出層的節(jié)點(diǎn)數(shù)輸出層節(jié)點(diǎn)數(shù)取決于兩個(gè)方面,輸出數(shù)據(jù)類型和表示該類型所需要的數(shù)據(jù)大小.5、隱層的節(jié)點(diǎn)數(shù)根據(jù)經(jīng)驗(yàn),可以參考以下公式進(jìn)行設(shè)計(jì):或者 (4。12)(1)式中:n為隱層節(jié)點(diǎn)數(shù); 為輸入節(jié)點(diǎn)數(shù); 為輸出節(jié)點(diǎn)數(shù);a為110之間的常數(shù)。(2)改變n,用同一樣本集訓(xùn)練,從中確定網(wǎng)絡(luò)誤差最小時(shí)對應(yīng)的隱層節(jié)點(diǎn)數(shù).
51、6、傳輸函數(shù)BP網(wǎng)絡(luò)中傳輸函數(shù)常采用S(sigmoid)型函數(shù)。在某些特定情況下,還可能采用純線性(Pureline)函數(shù)。7、訓(xùn)練方法及其參數(shù)選擇18net。trainParam.show= ; 顯示訓(xùn)練結(jié)果的間隔步數(shù)net。trainParam。epochs;最大訓(xùn)練步數(shù)net。trainParam.goal; 訓(xùn)練目標(biāo)誤差net。trainParam。mu = ; 學(xué)習(xí)系數(shù)的初始值,Marquardt調(diào)整參數(shù)net.trainParam.mu_dec= ; 學(xué)習(xí)系數(shù)的下降因子net.trainParam.mu_inc= ; 學(xué)習(xí)系數(shù)的上升因子net.trainParam。mu_max=
52、; %學(xué)習(xí)系數(shù)的最大值net。trainParam。min_grad=;訓(xùn)練中最小允許梯度值如圖4。2本例中所用參數(shù).圖4。2本例所用參數(shù)通過以上處理后,將得到的特征向量輸入到設(shè)計(jì)好的神經(jīng)網(wǎng)絡(luò)進(jìn)行測試,下面的圖4.3和4.4分別給出了網(wǎng)絡(luò)的某次訓(xùn)練過程及結(jié)果,由圖可以看出結(jié)果還是很令人滿意的。圖4。3 BP網(wǎng)絡(luò)的訓(xùn)練過程圖4。4 BP網(wǎng)絡(luò)的訓(xùn)練結(jié)果4。4 BP學(xué)習(xí)算法的局限性與對策BP學(xué)習(xí)算法解決了多層前饋網(wǎng)絡(luò)的訓(xùn)練與非線性映射問題,在實(shí)際應(yīng)用中具有重大意義,在應(yīng)用BP學(xué)習(xí)算法的過程中,人們逐漸發(fā)現(xiàn)它存在的某些缺陷,存在局部極小值、學(xué)習(xí)速度慢、網(wǎng)絡(luò)隱節(jié)點(diǎn)和初始權(quán)值的選取只能憑經(jīng)驗(yàn)、新加入的樣本
53、要影響已經(jīng)學(xué)完的樣本,并且每個(gè)樣本的輸入樣本的特征數(shù)目也要求必須相同;學(xué)習(xí)過程能否收斂,什么時(shí)候收斂已經(jīng)學(xué)習(xí)后所生成的權(quán)重空間的分布狀況等,這些至今還是一個(gè)未知數(shù)。BP學(xué)習(xí)算法存在的局限性BP學(xué)習(xí)算法存在的局限性總結(jié)如下:(1)歸納能力基于BP學(xué)習(xí)算法的神經(jīng)網(wǎng)絡(luò)具有較強(qiáng)的歸納能力。這里,歸納是指當(dāng)用一組同類型的樣本集訓(xùn)練時(shí),BP網(wǎng)絡(luò)能將一些不相關(guān)的信息忽略掉,而學(xué)習(xí)樣本集中共同的特征,通過這樣的學(xué)習(xí),BP網(wǎng)絡(luò)很容易記住了這一類型的樣本.然而,BP學(xué)習(xí)算法對不同類型微小特征差異的樣本缺乏足夠的歸納能力。(2)外推能力和歸納能力相對,BP網(wǎng)絡(luò)的外推能力是指BP網(wǎng)絡(luò)對一類樣本訓(xùn)練完后,對其它非訓(xùn)練樣
54、本測試其識別能力.實(shí)驗(yàn)結(jié)果表明,外推能力與訓(xùn)練樣本的種類和數(shù)量有關(guān).只有將各種不同類型的充足的樣本訓(xùn)練后,才能對各種樣本的測試達(dá)到較好的推廣能力.(3)學(xué)習(xí)速度BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程是一種超大規(guī)模的反復(fù)的浮點(diǎn)數(shù)值運(yùn)算過程,因此,無論從學(xué)習(xí)算法本身考慮,還是從使用的微機(jī)設(shè)備上考慮,學(xué)習(xí)速度一般是較慢的。(4)收斂性BP學(xué)習(xí)算法的收斂性至今沒能用完整的理論來證明它。網(wǎng)絡(luò)學(xué)習(xí)過程中極易陷入局部極小點(diǎn)。一旦網(wǎng)絡(luò)的權(quán)重陷入一個(gè)極小點(diǎn),無論是全局極小點(diǎn)還是局部極小點(diǎn),學(xué)習(xí)均告終止。如果在該點(diǎn)的狀態(tài)下所要求的問題解是正確的,那么,該點(diǎn)是局部的還是全局的極小點(diǎn)就顯得不那么重要了。但若所求問題的解是不正確的,那
55、么只有再次調(diào)整權(quán)值,直到找到另一個(gè)極小點(diǎn)對所求問題的解是正確時(shí)為止,即要逃離原來的局部極小點(diǎn)。(5)解釋能力神經(jīng)網(wǎng)絡(luò)對自身解決問題的方式不能形成一個(gè)規(guī)范的推導(dǎo)過程.它通過學(xué)習(xí)所形成的“自我認(rèn)識”對人來說是透明的。這對有導(dǎo)師訓(xùn)練的BP學(xué)習(xí)算法而言,大大阻礙了指導(dǎo)人與被指導(dǎo)對象的交流。4。5 對BP算法的改進(jìn)經(jīng)典的BP算法采用梯度下降法。當(dāng)誤差曲面為窄長型時(shí),該算法在谷的兩壁跳來跳去,影響了網(wǎng)絡(luò)的收斂速度。最普通的改進(jìn)方法為附加動量法,將公式(4。9)改為: (4.13)式中稱為動量因子。利用附加的動量項(xiàng)可以起到平滑梯度方向的劇烈變化。更進(jìn)一步可以在學(xué)習(xí)過程中動態(tài)地調(diào)整和的值,使隨系統(tǒng)總誤差E不斷的變化,以避免出現(xiàn)W取值過小,尤其是在接近系統(tǒng)最小值的時(shí)候.實(shí)驗(yàn)中發(fā)現(xiàn),越大,學(xué)習(xí)速度會越快,但過大時(shí)會引起振蕩效應(yīng);而取的過大可能導(dǎo)致發(fā)散,過小則收斂速度太慢;取0。20。5,取0.900。98時(shí)有較快的收斂速度。動態(tài)調(diào)整和值,收到良好效果。根據(jù)優(yōu)化理論還有很多種優(yōu)化方法.這些方法一般都可以應(yīng)用到改進(jìn)BP算法中。例如同倫方法、梯度法、共軛梯度法以及牛頓法。事實(shí)證明采用較好的優(yōu)化方法可以提高網(wǎng)絡(luò)的收斂速度、避免陷入局部極小。尋求一種適合BP算法使用的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通出行行業(yè)智能交通系統(tǒng)建設(shè)與管理方案
- 員工保密協(xié)議合同
- 礦權(quán)轉(zhuǎn)讓居間合同
- 房產(chǎn)出售委托協(xié)議書
- 旅游服務(wù)合作協(xié)議
- 公路工程投資合伙協(xié)議
- 人教版五年級下冊數(shù)學(xué)求最大公因數(shù)練習(xí)300題及答案
- 鐵肩中學(xué)門衛(wèi)合同8篇
- 第1課 殖民地人民的反抗斗爭(教學(xué)設(shè)計(jì)) 九年級歷史下冊同步高效課堂(部編版)
- 第十章 第4節(jié) 跨學(xué)科實(shí)踐:制作微型密度計(jì)(教學(xué)設(shè)計(jì))2024-2025學(xué)年度人教版(2024)物理八年級下冊
- 2024年部編版九年級語文上冊電子課本(高清版)
- 探究“雙高”背景下高職數(shù)學(xué)與專業(yè)融合創(chuàng)新能力培養(yǎng)教學(xué)模式
- 廣東省高等教育“創(chuàng)新強(qiáng)校工程”考核指標(biāo)及評分辦法
- 外研版小學(xué)五年級上冊英語閱讀理解專項(xiàng)習(xí)題
- 高中二年級下學(xué)期數(shù)學(xué)《導(dǎo)數(shù)在不等式恒成立問題中的應(yīng)用》課件
- 儲能項(xiàng)目工具【Excel計(jì)算表】用戶側(cè)儲能電站投資收益分析表(修正版)
- 汽車駕駛員高級工題庫與答案
- 《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》課件項(xiàng)目4 數(shù)據(jù)庫安全防護(hù)
- 2023年血液安全技術(shù)核查指南(醫(yī)療機(jī)構(gòu))
- 手術(shù)室標(biāo)本管理及送檢評分標(biāo)準(zhǔn)
- 幫朋友貸款免責(zé)協(xié)議書范本
評論
0/150
提交評論