【論文】基于MATLAB的手寫體數(shù)字識(shí)別算法的實(shí)現(xiàn)與分析畢業(yè)論文_第1頁
【論文】基于MATLAB的手寫體數(shù)字識(shí)別算法的實(shí)現(xiàn)與分析畢業(yè)論文_第2頁
【論文】基于MATLAB的手寫體數(shù)字識(shí)別算法的實(shí)現(xiàn)與分析畢業(yè)論文_第3頁
【論文】基于MATLAB的手寫體數(shù)字識(shí)別算法的實(shí)現(xiàn)與分析畢業(yè)論文_第4頁
【論文】基于MATLAB的手寫體數(shù)字識(shí)別算法的實(shí)現(xiàn)與分析畢業(yè)論文_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、關(guān)鍵字】論文基于MATLAB的手寫體數(shù)字識(shí)別算法的實(shí)現(xiàn)與分析摘要手寫體數(shù)字識(shí)別是利用計(jì)算機(jī)自動(dòng)辨認(rèn)手寫體阿拉伯?dāng)?shù)字的一種技術(shù),是光學(xué)字符識(shí)別技術(shù)的一個(gè)分支。手寫體數(shù)字識(shí)別在郵政編碼、財(cái)務(wù)報(bào)表、銀行票據(jù)、各種憑證以及調(diào)查表格的識(shí)別等等方面有著重要應(yīng)用,由于數(shù)字識(shí)別經(jīng)常涉及財(cái)會(huì)、金融領(lǐng)域,其嚴(yán)格性更是不言而喻的。所以,對(duì)識(shí)別系統(tǒng)的可靠性和識(shí)別率要求很高,構(gòu)成了手寫體數(shù)字識(shí)別面臨的主要困難,大批量數(shù)據(jù)處理對(duì)系統(tǒng)速度又有相當(dāng)高的要求。本文基于MNIST數(shù)據(jù)集,通過Matlab平臺(tái),對(duì)決策樹算法、SVM算法和人工神經(jīng)網(wǎng)絡(luò)(ANN)算法進(jìn)行實(shí)現(xiàn),并對(duì)分類算法的準(zhǔn)確率進(jìn)行評(píng)估。實(shí)驗(yàn)結(jié)果表明,人工神經(jīng)網(wǎng)絡(luò)(A

2、NN)的準(zhǔn)確率最高,為99.69%,SVM算法次之,準(zhǔn)確率為94.53%,決策樹算法的準(zhǔn)確率為83.53%。三種分類算法中,決策樹算法的速度最快,SVM算法的速度最慢。另外,針對(duì)每一種分類算法在MNIST數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,本文還得出以下結(jié)論:第一,MNIST數(shù)據(jù)集的歸一化與否對(duì)決策樹的分類效果幾乎沒有影響;對(duì)SVM的分類效果影響較大,未歸一化時(shí)的準(zhǔn)確率為11.35%,歸一化之后的準(zhǔn)確率為94.53%;對(duì)人工神經(jīng)網(wǎng)絡(luò)的分類效果影響較小,未歸一化時(shí)的準(zhǔn)確率為82.11%,歸一化之后的準(zhǔn)確率為99.69%。這說明三種分類算法對(duì)數(shù)據(jù)的不平衡分布的敏感程度各不相同。第二,對(duì)于SVM分類算法,當(dāng)訓(xùn)練數(shù)據(jù)

3、集的樣本容量小于60000(MNIST訓(xùn)練數(shù)據(jù)集的最大樣本容量)時(shí),該算法對(duì)嘗試數(shù)據(jù)集分類預(yù)測(cè)的準(zhǔn)確率隨樣本容量的增大而增大。第三,針對(duì)人工神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)類標(biāo)簽的表示形式對(duì)分類預(yù)測(cè)的準(zhǔn)確率的影響較大。使用10位數(shù)據(jù)表示類標(biāo)簽是的準(zhǔn)確率為99.69%,遠(yuǎn)遠(yuǎn)高于使用1位數(shù)據(jù)表示類標(biāo)簽時(shí)的準(zhǔn)確率60.24%。關(guān)鍵詞:手寫體數(shù)字識(shí)別;決策樹算法;SVM算法;人工神經(jīng)網(wǎng)絡(luò)算法ABSTRACTHandwrittennumeralrecognitionisatechniquethatusescomputertorecognizehandwrittenArabicnumeralsautomaticallyan

4、disabranchofopticalcharacterrecognitiontechnology.Handwrittennumeralrecognitionhasimportantapplicationsinpostalcodes,financialstatements,banknotes,variouskindsofvouchersandtheidentificationofsurveyforms.Sincedigitalidentificationofteninvolvesaccountingandfinance,itsstrictnessisself-evident.Thedemand

5、foridentificationsystemofthereliabilityandrecognitionrateisveryhigh,constitutingahandwrittendigitalidentificationfacingmajordifficulties,high-volumedataprocessingonthesystemspeedandaveryhighdemand.Inthispaper,weuseMatlabtoimplementdecisiontreealgorithm,SVMalgorithmandartificialneuralnetwork(ANN)algo

6、rithmbasedonMNISTdataset,andtheaccuracyofclassificationalgorithmsiscalculatedbyusingtherealdatatag.Experimentalresultsshowthattheartificialneuralnetwork(ANN)thehighestaccuracyratefor99.69%,SVMalgorithm,followedby94.53percentaccuracyrate,decisiontreealgorithmaccuracyis83.53%.Intermsofspeed,decisiontr

7、eealgorithmisthefastest,SVMalgorithmistheslowest.Inaddition,foreachclassificationalgorithmwealsoconcludedthat:Firstly,whetherornottheMNISTdatasetisnormalizedhasnoeffectintheclassificationtree;WhileithasagreatimpactonSVMclassification.Whenitisnotnormalizedtheaccuracyis11.35%,andafternormalizedtheaccu

8、racyis94.53%;Theartificialneuralnetworkclassificationislessaffected,andwhenitisnotnormalizedtheaccuracyis82.11%whileafternormalizedtheaccuracyis99.69%.Thisshowsthesensitivityofthethreeclassificationalgorithmstounbalanceddistributionofdata.Secondly,fortheSVMclassificationalgorithm,whenthesamplesizeis

9、lessthan60,000(maximumsizeofMNISTtestdataset),theaccuracyincreaseswiththeincreasingofsamplesize.Thirdly,fortheartificialneuralnetwork,theimpactofclasslabelrepresentationislargeontheclassificationaccuracy.Whenusing10bitstorepresentclasslabels,theaccuracyis99.69%,farhigherthantheaccuracyof60.24%whenus

10、ing1bittorepresentdatalabels.KEYWORDS:Handwrittennumeralrecognition;Decisiontreealgorithm;SVMalgorithm;Artificialneuralnetworkalgorithm目錄TOC o 1-5 h z HYPERLINK l bookmark0 1.引言1 HYPERLINK l bookmark2 1.1手寫數(shù)字識(shí)別1 HYPERLINK l bookmark4 2.分類算法1 HYPERLINK l bookmark10 決策樹算法2 HYPERLINK l bookmark12 ID3算法

11、2C4.5算法3CART算法3SLIQ算法3SPRINT算法32.1.6經(jīng)典決策樹算法的比較4 HYPERLINK l bookmark30 支持向量機(jī)4 HYPERLINK l bookmark42 人工神經(jīng)網(wǎng)絡(luò)666TOC o 1-5 h z HYPERLINK l bookmark48 2.3.3Hopfield網(wǎng)絡(luò)8 HYPERLINK l bookmark52 3實(shí)驗(yàn)過程與結(jié)果分析10 HYPERLINK l bookmark54 3.1實(shí)驗(yàn)環(huán)境10 HYPERLINK l bookmark56 實(shí)驗(yàn)數(shù)據(jù)集10 HYPERLINK l bookmark58 數(shù)據(jù)預(yù)處理10 HYPER

12、LINK l bookmark60 決策樹分類實(shí)驗(yàn)111112 HYPERLINK l bookmark62 3.5SVM分類實(shí)驗(yàn)131314 HYPERLINK l bookmark64 3.6人工神經(jīng)網(wǎng)絡(luò)分類實(shí)驗(yàn)141415 HYPERLINK l bookmark66 4結(jié)論19 HYPERLINK l bookmark68 4.1三種分類算法的比較19 HYPERLINK l bookmark70 4.2決策樹算法的分析19 HYPERLINK l bookmark72 4.3SVM算法分析19 HYPERLINK l bookmark74 4.4神經(jīng)網(wǎng)絡(luò)算法分析20 HYPERLIN

13、K l bookmark76 參考文獻(xiàn)211.引言1.1手寫數(shù)字識(shí)別手寫數(shù)字識(shí)別是模式識(shí)別領(lǐng)域的一個(gè)重要分支,它研究的核心問題是:如何利用計(jì)算機(jī)自動(dòng)識(shí)別人手寫在紙張上的阿拉伯?dāng)?shù)字。手寫體數(shù)字識(shí)別問題,簡(jiǎn)而言之就是識(shí)別出10個(gè)阿拉伯?dāng)?shù)字,由于數(shù)字的清晰程度或者是個(gè)人的寫字習(xí)慣抑或是其他,往往手寫體數(shù)字的性狀、大小、深淺、位置會(huì)不大一樣。手寫體識(shí)別一般包括3個(gè)階段:預(yù)處理、特征提取、分類識(shí)別。手寫數(shù)字識(shí)別前景廣闊,廣泛應(yīng)用于表格中數(shù)字的識(shí)別、汽車牌照的數(shù)字自動(dòng)識(shí)別和成績(jī)單的識(shí)別等。實(shí)現(xiàn)數(shù)字的自動(dòng)識(shí)別能夠給人們的工作和生活帶來很大的方便。對(duì)于該領(lǐng)域的研究具有重要的理論價(jià)值:一方面,阿拉伯?dāng)?shù)字是唯一的

14、被世界各國通用的符號(hào),對(duì)手寫數(shù)字識(shí)別的研究與文化背景無關(guān),這樣就為各國、各地區(qū)的研究工作者提供了一個(gè)自由平等的舞臺(tái),大家可以在這一領(lǐng)域施展才智,各抒己見。另一方面,由于數(shù)字識(shí)別的類別數(shù)較少(只有0到9十個(gè)類別),有助于做深入分析及驗(yàn)證一些新的理論。這方面最明顯的例子就是人工神經(jīng)網(wǎng)絡(luò),相當(dāng)一部分的人工神經(jīng)網(wǎng)絡(luò)模型都以手寫數(shù)字識(shí)別作為具體的實(shí)驗(yàn)平臺(tái),驗(yàn)證理論的有效性,評(píng)價(jià)各種方法的優(yōu)缺點(diǎn)。數(shù)字識(shí)別的算法較多,當(dāng)前運(yùn)用較好的主流算法以統(tǒng)計(jì)、聚類和分類算法為主,如Bagging算法、支持向量機(jī)算法、神經(jīng)網(wǎng)絡(luò)等。手寫數(shù)字識(shí)別難度在于:一、數(shù)字相似性大,但字形相差不大;二、數(shù)字雖然只有10種,但筆劃簡(jiǎn)單,

15、同一個(gè)數(shù)字寫法差別大;三、手寫數(shù)字存在斷筆和毛刺,對(duì)識(shí)別造成影響。本文選擇分類算法中的決策樹算法、支持向量機(jī)算法、神經(jīng)網(wǎng)絡(luò)對(duì)MNIST數(shù)據(jù)集進(jìn)行數(shù)字識(shí)別,并對(duì)分類效果進(jìn)行比較分析。2.分類算法分類器識(shí)別是實(shí)現(xiàn)手寫體數(shù)字識(shí)別的最終關(guān)鍵,基于距離的分類器和神經(jīng)網(wǎng)絡(luò)分類器這兩大類是目前現(xiàn)有的最主要的分類器。分類是數(shù)據(jù)挖掘的重要分支,可用于提取、描述重要數(shù)據(jù)的模型或預(yù)測(cè)未來的數(shù)據(jù)趨勢(shì)1。2.1決策樹算法決策樹也稱為判定樹,是一種有監(jiān)督的學(xué)習(xí)方法。決策樹代表著決策樹的樹形結(jié)構(gòu),可以根據(jù)訓(xùn)練集數(shù)據(jù)構(gòu)造出決策樹。如果該樹不能對(duì)所有對(duì)象給出正確的分類,就選擇一些例外加入到訓(xùn)練集數(shù)據(jù)中。重復(fù)該過程,直到形成正確

16、的決策集。決策樹方法首先對(duì)數(shù)據(jù)進(jìn)行處理,利用歸納算法生成可讀的規(guī)則和決策樹,然后使用決策樹對(duì)新數(shù)據(jù)進(jìn)行分析,本質(zhì)上是通過一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過程。決策樹的典型算法有ID3,C4.5,等。根據(jù)訓(xùn)練集構(gòu)建決策樹,決策樹中的結(jié)點(diǎn)逐層展開。每展開一層子結(jié)點(diǎn),并將其設(shè)為葉結(jié)點(diǎn),就得到一棵決策樹,然后采用測(cè)試集對(duì)所得決策樹的分類性能進(jìn)行統(tǒng)計(jì)。重復(fù)上述過程,可以得到?jīng)Q策樹在測(cè)試集上的學(xué)習(xí)曲線。根據(jù)學(xué)習(xí)曲線,選擇在測(cè)試集上性能最佳的決策樹為最終的決策樹。ID3算法J.RossQuinlan在1986年將信息論引入到?jīng)Q策樹算法中,提出了ID32算法,算法思想如下:設(shè)樣本集E共有C類訓(xùn)練集,每類樣本數(shù)為pi

17、,且i=1,2,3,,C。如果以屬性A作為測(cè)試屬性,屬性A的v個(gè)不同的值為v1,v2,vv,可以用屬性A將E劃分成v個(gè)子集E1,E2,Ev,假定Ei中含有第j類樣本的個(gè)數(shù)為pij,j=1,2,3,,C,那么子集Ei的熵為:inoSropy)十加og啟jEij=lEi1)屬性A的信息熵為:vInfor_Entropy(A)=1E將Infor_Entropy(Ei)代入公式(2)后可得:(其曲)Ei|一棵決策樹對(duì)一實(shí)例做出正確類別判斷所需的信息為:EiInfor_Entropy(Ei)2)vInfor_Entiopy(A)=-刀-i=1IEJ=EEi3)cInfor(E)=-1ElogCi2岡,i

18、=1,2,C4)信息增益:Infor_Gain(A)=Infor(E)Infor_Entropy(A)ID3算法存在著屬性偏向,對(duì)噪聲敏感等問題。C4.5算法在ID3算法的基礎(chǔ)上,Quinlan在1993年提出了一種改進(jìn)的算法,即C4.5算法3,信息增益率計(jì)算如下:Gain(A)TOC o 1-5 h zGainratioA)=(5)宀Split(A)(5)cpijpijSplit(A)=-log(6)C4.5算法克服了ID3算屬性偏向的問題,增加了對(duì)連續(xù)屬性的處理,通過剪枝,在一定程度上避免了“過度擬合”的現(xiàn)象。但是該算法將連續(xù)屬性離散化,需要遍歷該屬性的所有值,降低了效率;要求訓(xùn)練樣本駐留

19、在內(nèi)存,不適合處理大規(guī)模數(shù)據(jù)集。CART算法CART算法可以處理無序的數(shù)據(jù),采用基尼系數(shù)作為測(cè)試屬性的選擇標(biāo)準(zhǔn),基尼系數(shù)的計(jì)算如下:TT2G叭put(T)=可GiniiT1)+可GiniiT2)(7)其中,Gini(T)=1-工p2,pi是類別j在T中出現(xiàn)的概率。iCART算法生成的決策樹精度較高,但是當(dāng)其生成的決策樹復(fù)雜度超過一定程度后,隨著復(fù)雜度的提高,分類精確度會(huì)降低。因此,用該算法建立的決策樹不宜太復(fù)雜4。SLIQ算法決策樹分類算法研究一直朝著處理大數(shù)據(jù)集的方向進(jìn)行,但大部分方法在減少了運(yùn)算時(shí)間的同時(shí)也降低了算法的精度SLIQ的分類精度與其他決策樹算法不相上下,但其執(zhí)行的速度比其他決策

20、樹算法快。SLIQ算法對(duì)訓(xùn)練樣本集的樣本數(shù)量以及屬性的數(shù)量沒有限制。SLIQ算法能夠處理大規(guī)模的訓(xùn)練樣本集,具有較好的伸縮性;執(zhí)行速度快而且能夠生成較小的二叉決策樹;SLIQ算法允許多個(gè)處理器同時(shí)處理屬性表,從而實(shí)現(xiàn)并行性。但是SLIQ算法不能擺脫主存容量的限制。SPRINT算法SLIQ算法要求類表駐留內(nèi)存,當(dāng)訓(xùn)練集大到類表放不進(jìn)內(nèi)存時(shí),SLIQ算法就無法執(zhí)行。為此,IBM的研究人員提出SPRINT算法,它處理速度快,不受內(nèi)存的限制。SPRINT算法可以處理超大規(guī)模訓(xùn)練樣本集,數(shù)據(jù)樣本集數(shù)量越大,SPRINT的執(zhí)行效率越高,并且可伸縮性更好。但是,SPRINT算法存在著一些缺陷,在SLIQ的類

21、表可以存進(jìn)內(nèi)存時(shí),SPRINT算法的執(zhí)行速度比SLIQ算法慢。2.1.6經(jīng)典決策樹算法的比較基于決策樹的分類算法已經(jīng)有幾十種,各種算法在執(zhí)行速度、可擴(kuò)展性、輸出結(jié)果的可理解性、分類預(yù)測(cè)的準(zhǔn)確性方面各有所長(zhǎng)。下面就對(duì)幾種典型的決策樹算法進(jìn)行比較,結(jié)果如表2-1所示:表2-1典型決策樹算法的比較算法測(cè)試屬性選擇指標(biāo)連續(xù)屬性的處理是否需要獨(dú)立測(cè)試樣本集運(yùn)行剪枝時(shí)間可伸縮性并行性決策樹的結(jié)構(gòu)ID3信息增益離散化是后剪枝差差多叉樹C4.5信息增益率預(yù)排序否后剪枝差差多叉樹CARTGINI系數(shù)預(yù)排序否后剪枝差差二叉樹SLIQGINI系數(shù)預(yù)排序否后剪枝良好良好二叉樹SPRINTGINI系數(shù)預(yù)排序否后剪枝好好

22、二叉樹2.2支持向量機(jī)支持向量機(jī)(SVM)方法是通過一個(gè)非線性p,把到一個(gè)乃至無窮維的特征空間中(Hilbert空間),使得在原來的中非線性可分的問題轉(zhuǎn)化為在特征空間中的線性可分的問題.簡(jiǎn)單地說,就是升維和線性化。升維,就是把樣本向高維空間做映射,一般情況下這會(huì)增加計(jì)算的復(fù)雜性,甚至?xí)穑蚨藗兒苌賳柦?但是作為分類、回歸等問題來說,很可能在低維樣本空間無法線性處理的樣本集,在高維特征空間中卻可以通過一個(gè)線性超平面實(shí)現(xiàn)線性劃分(或回歸).一般的升維都會(huì)帶來計(jì)算的復(fù)雜化,SVM方法巧妙地解決了這個(gè)難題:應(yīng)用的展開定理,就不需要知道非線性映射的顯式表達(dá)式;由于是在高維特征空間中建立線性學(xué)習(xí)機(jī)所

23、以與相比,不但幾乎不增加計(jì)算的復(fù)雜性,而且在某種程度上避免了維數(shù)災(zāi)難.這一切要?dú)w功于核函數(shù)的展開和計(jì)算理論。選擇不同的,可以生成不同的SVM。SVM的機(jī)理是尋找一個(gè)滿足分類要求的最優(yōu)分類超平面,使得該超平面在保證分類精度的同時(shí),能夠使超平面兩側(cè)的空白區(qū)域最大化。理論上,支持向量機(jī)能夠?qū)崿F(xiàn)對(duì)線性可分?jǐn)?shù)據(jù)的最優(yōu)分類。以兩類數(shù)據(jù)分類為例,給定訓(xùn)練樣本集(xi,yi),i=1,2,l,xRn,yW社1,超平面記作(wxi)+b=0,為使分類面對(duì)所有樣本正確分類并且具備分類間隔,就要求它滿足如下約束:yi(wxi)+b1,i=1,2,.,l。圖2-1支持向量機(jī)可以計(jì)算出分類間隔為2/|w|,因此構(gòu)造最優(yōu)

24、超平面的問題就轉(zhuǎn)化為在約束式下求:min(w)=1|WII2w)8)為了解決該個(gè)約束最優(yōu)化問題,引入Lagrange函數(shù):10)11)12)*f(x)=sgn(w*x)+b=sgn(jE=1ajyj(xjxi)+b,xeRn13)L(w,b,a)=2llWI-a(y(wx)+b)-1)(9)式中,ai0為L(zhǎng)agrange乘數(shù)。約束最優(yōu)化問題的解由Lagrange函數(shù)的鞍點(diǎn)決定,并且最優(yōu)化問題的解在鞍點(diǎn)處滿足對(duì)w和b的偏導(dǎo)為0,將該QP問題轉(zhuǎn)化為相應(yīng)的對(duì)偶問題即:I1IImaxQ(a)=爲(wèi)廠2荷爲(wèi)叩廠円兀Xj丿s.t.Ea汀j=0,j=1,2,l,aj三0,j=1,2,1j=1jjj解得最優(yōu)解a

25、*=(a*,a;,a*)T計(jì)算最優(yōu)權(quán)值向量W*和最優(yōu)偏置b*,分別為:*I*w=Eayxj=1jjj*I*b=yi-EFiQj(Xj-x丿因此得到最優(yōu)分類超平面(w*x)+b*=0,而最優(yōu)分類函數(shù)為:對(duì)于線性不可分情況,SVM的主要思想是將輸人向量映射到一個(gè)高維的特征向量空間,并在該特征空間中構(gòu)造最優(yōu)分類面。將x做從輸入空間Rn到特征空間H的變換,得:T(14)xf(x)=(x),;(x),,i(x)以特征向量(X)代替輸入向量X,則可以得到最優(yōu)分類函數(shù)為:*I*f(x)=sgn(w(x)+b=sgn(j$j(xj)(xj)+b在上面的對(duì)偶問題中,無論是目標(biāo)函數(shù)還是決策函數(shù)都只涉及到訓(xùn)練樣本之

26、間的內(nèi)積運(yùn)算,在高維空間避免了復(fù)雜的高維運(yùn)算而只需要進(jìn)行內(nèi)積運(yùn)算。2.3人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)是指模擬人腦神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能,運(yùn)用大量的處理部件,由人工方式建立起來的網(wǎng)絡(luò)系統(tǒng)。該網(wǎng)絡(luò)具有大規(guī)模并行協(xié)同處理能力和較強(qiáng)的容錯(cuò)能力和聯(lián)想能力,同時(shí)是一個(gè)具有較強(qiáng)學(xué)習(xí)能力的大規(guī)模自組織、自適應(yīng)性的非線性動(dòng)力系統(tǒng)。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是基本處理單元及其互連方法決定的。如圖所示,單個(gè)神經(jīng)元單元由多個(gè)輸入xi,i=1,2,.,n和一個(gè)輸出y組成。圖3-2神經(jīng)元ny=f(=1wixi-0i=1(16)式中,&為神經(jīng)元單元的偏置(閾值),wi為連接權(quán)系數(shù),n為輸入信號(hào)數(shù)目,y為神經(jīng)元輸出,f為輸出變換函數(shù),稱為激活

27、函數(shù)。BP網(wǎng)絡(luò)是一類典型的前饋網(wǎng)絡(luò)。其它前饋網(wǎng)絡(luò)有感知器(Perception)、自適應(yīng)線性網(wǎng)絡(luò)和交替投影網(wǎng)絡(luò)等。前饋網(wǎng)絡(luò)是一種具有很強(qiáng)學(xué)習(xí)能力的系統(tǒng),結(jié)構(gòu)比較簡(jiǎn)單,且易于編程。前饋網(wǎng)絡(luò)通過簡(jiǎn)單非線性單元的復(fù)合映射而獲得較強(qiáng)的非線性處理能力,實(shí)現(xiàn)靜態(tài)非線性映射。BP網(wǎng)絡(luò)主要特點(diǎn)是能夠?qū)崿F(xiàn)從n維到m維的非線性映射,它還可以采用梯度下降法實(shí)現(xiàn)快速收斂。模型如下圖所示:圖3-3反向傳播網(wǎng)絡(luò)反向傳播算法的具體流程如下:對(duì)于給定的樣本集D=(x,t),初始化網(wǎng)絡(luò)結(jié)構(gòu)dxnHXc。初始化權(quán)系數(shù)血,學(xué)習(xí)率n閾值。根據(jù)樣本集D更新權(quán)系數(shù)血:.-ndJ()/djk(17)18)jkjkjk.-ndJ(丿/doj

28、ijijiji計(jì)算/J=J叫re)J0,如果J0結(jié)束訓(xùn)練,并認(rèn)為此時(shí)的血為最優(yōu)。否則轉(zhuǎn)第2步繼續(xù)進(jìn)行循環(huán)。對(duì)于反向傳播模型的初始化如下:輸入層:?jiǎn)卧猧的輸入:xi單元數(shù)量:d單元i的輸出:xj單元i的激活函數(shù):線性函數(shù)隱層:?jiǎn)卧猨的凈輸入:netj單元數(shù)量:nH單元j的輸出:yj單元j的激活函數(shù):非線性函數(shù)輸出層:?jiǎn)卧猭的凈輸入:netk單元數(shù)量:c單元k的輸出:zk單元k的激活函數(shù):非線性函數(shù)學(xué)習(xí)速率學(xué)習(xí)速率直接影響權(quán)系數(shù)調(diào)整時(shí)的步長(zhǎng)。學(xué)習(xí)速率過小,導(dǎo)致算法收斂速度緩慢。學(xué)習(xí)速率過大,導(dǎo)致算法不收斂。學(xué)習(xí)速率的典型取備二0.1。另外學(xué)習(xí)速率可變。誤差函數(shù)的局部極小值調(diào)整權(quán)系數(shù)的目標(biāo)是使誤差函

29、數(shù)取得最小值但是,采用梯度下降法(GradientDescentProcedure)不能保證獲得最小值,而只能保證得到一個(gè)極小值。如果訓(xùn)練過程無法使誤差函數(shù)降低到預(yù)期的程度,一種常用的方法是:再一次對(duì)權(quán)系數(shù)進(jìn)行隨機(jī)初始化,并重新訓(xùn)練網(wǎng)絡(luò)。學(xué)習(xí)曲線樣本集的劃分:一般情況下,可把已知的樣本集劃分為三個(gè)子集,即訓(xùn)練集、確認(rèn)集、測(cè)試集。訓(xùn)練集:用來調(diào)整權(quán)系數(shù),使誤差函數(shù)盡可能變小。確認(rèn)集:用來初步驗(yàn)證神經(jīng)網(wǎng)絡(luò)對(duì)未來新樣本的分類能力,并據(jù)此確定最佳的權(quán)系數(shù)。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程需要采用訓(xùn)練集及確認(rèn)集共同完成。測(cè)試集:在訓(xùn)練過程最終結(jié)束后,再采用測(cè)試集對(duì)網(wǎng)絡(luò)的分類性能進(jìn)行最后測(cè)試,用以評(píng)估神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用

30、中的實(shí)際性能。2.3.3Hopfield網(wǎng)絡(luò)Hopfield網(wǎng)絡(luò)是一種動(dòng)態(tài)反饋系統(tǒng),可以用一個(gè)完備的無向圖表示,它比前饋網(wǎng)絡(luò)具有更強(qiáng)的計(jì)算能力。Hopfield網(wǎng)絡(luò)一般只有一個(gè)神經(jīng)元層次,每個(gè)神經(jīng)元的輸出都與其它神經(jīng)元的輸入相連,是一種單層全反饋網(wǎng)絡(luò)。如圖3-4所示。圖3-4Hopfield網(wǎng)絡(luò)Hopfield網(wǎng)絡(luò)中神經(jīng)元之間的權(quán)值一般是對(duì)稱的。但每個(gè)神經(jīng)元都沒有到自身的聯(lián)接。神經(jīng)元i和神經(jīng)元j之間相互連接的權(quán)值相等,即wij=wji。因此此時(shí),網(wǎng)絡(luò)一定能夠收斂到一個(gè)穩(wěn)定值。否則,則網(wǎng)絡(luò)可能會(huì)不穩(wěn)定,無法收斂。離散Hopfield網(wǎng)絡(luò)每個(gè)單元均有一個(gè)狀態(tài)值,它取兩個(gè)可能值之一。設(shè)在某一個(gè)時(shí)刻t

31、,神經(jīng)元i的狀態(tài)為Ui(t),則在t+1時(shí)刻的狀態(tài)為:U(t+1)=sign(H(t)=ii1若H(t)0i0(或-1)若H(t)0iH(t)=丫wU(t)-919)20)iijjij=i其中,wij為神經(jīng)元i何j之間的連接權(quán)值,9i為第i個(gè)神經(jīng)元的閾值。Hopfield網(wǎng)絡(luò)算法的流程如下:(1)設(shè)置互聯(lián)權(quán)值mwij乙XsXs);fori=1:ImageNumb=fread(fid,ImageRow*ImageCol,uint8);c=reshape(b,ImageRowImageCol);d=c;e=255-d;e=uint8(e);savepath=fullfile(savedirecto

32、ry,TestImage_num2str(i,%05d).bmp);imwrite(e,savepath,bmp);waitbar(i/ImageNum);endfclose(fid);close(h_w);第二步:將BMP圖片轉(zhuǎn)換為.mat文件,保存在Matlab的工作空間。預(yù)處理之后的數(shù)據(jù)集格式如下:TrainItem.matTestItem.matTrainLable.matTestLable.mat60000*78410000*78460000*110000*1圖3-2預(yù)處理之后的數(shù)據(jù)集3.4決策樹分類實(shí)驗(yàn)Step1:導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)集load(TestItem.mat);load(Tes

33、tLable.mat);load(TrainItem.mat);load(TrainLable.mat);Step2:使用訓(xùn)練數(shù)據(jù)集及其標(biāo)簽集訓(xùn)練模型,得到?jīng)Q策樹,并輸出,如圖3-3所示Tree=classregtree(TrainItem,TrainLable);圖3-3決策樹模型Step3:使用訓(xùn)練好的決策樹對(duì)測(cè)試集進(jìn)行分類,并得到分類結(jié)果value_table=round(eval(Tree,TestItem);Step:將分類得到的數(shù)據(jù)類標(biāo)簽與已知的類標(biāo)簽進(jìn)行比較,畫出預(yù)測(cè)類標(biāo)簽與實(shí)際類標(biāo)簽的對(duì)比圖,計(jì)算得到?jīng)Q策樹的準(zhǔn)確率。count=0;fori=1:1:10000ifTestLab

34、le(i)=value_table(i)count=count+1;endendprecision=count/10000本實(shí)驗(yàn)另外又將實(shí)驗(yàn)數(shù)據(jù)進(jìn)行歸一化處理,按照上述實(shí)驗(yàn)過程進(jìn)行相同的實(shí)驗(yàn),現(xiàn)將實(shí)驗(yàn)結(jié)果整理如表3-1所示:表3-1決策樹實(shí)驗(yàn)結(jié)果準(zhǔn)確率計(jì)算時(shí)間(s)無歸一化處理0.8352110.68歸一化處理0.8353108.25通過觀察發(fā)現(xiàn),歸一化處理對(duì)決策樹的分類效果影響不大。在Step4中畫出的測(cè)試集的預(yù)測(cè)類標(biāo)簽與實(shí)際類標(biāo)簽的對(duì)比圖如圖4-4所示其中,兩種標(biāo)記為重疊的部分即為預(yù)測(cè)失誤的數(shù)據(jù)。圖3-4決策樹預(yù)測(cè)類別與實(shí)際類別的對(duì)比3.5SVM分類實(shí)驗(yàn)MatlabR2012a自帶的SVM

35、工具箱只能對(duì)數(shù)據(jù)進(jìn)行二分類,實(shí)驗(yàn)結(jié)果并不理想,因此需要預(yù)先加載libSVM工具箱,對(duì)SVM的實(shí)驗(yàn)性能進(jìn)行驗(yàn)證。Stepl:導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)集load(TestItem.mat);load(TestLable.mat);load(TrainItem.mat);load(TrainLable.mat);Step2:對(duì)訓(xùn)練數(shù)據(jù)集及測(cè)試數(shù)據(jù)集進(jìn)行歸一化,將數(shù)據(jù)映射到0,1區(qū)間,這里使用的方法是將每一項(xiàng)數(shù)據(jù)除以最大值255,也可以使用Matlab自帶的歸一化函數(shù)mapminmax(),效果一樣。TrainItem=TrainItem/255;TestItem=TestItem/255;Step3:利用訓(xùn)練集

36、及其類標(biāo)簽建立分類模型,并輸出分類模型的相關(guān)參數(shù)。%訓(xùn)練模型model=svmtrain(trainlabel,traindata);%輸出模型參數(shù)modelParameters=model.ParametersLabel=model.Labelnr_class=model.nr_classtotalSV=model.totalSVnSV=model.nSVStep4:使用訓(xùn)練好的模型對(duì)測(cè)試集進(jìn)行分類,并得到SVM的準(zhǔn)確率。PredictLable,Acc,Toss=svmpredict(testlabel,testdata,model);TestAccuracy=Acc(1);實(shí)驗(yàn)開始階段并

37、未對(duì)訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集進(jìn)行歸一化處理,使用訓(xùn)練好的SVM模型對(duì)測(cè)試數(shù)據(jù)集進(jìn)行分類得到的準(zhǔn)確率為TestAccuracy=11.35%。這個(gè)結(jié)果與預(yù)期的結(jié)果相差甚遠(yuǎn),與查閱的相關(guān)資料上提到的SVM的準(zhǔn)確率也有較大的出入。仔細(xì)檢查了各項(xiàng)相關(guān)輸出之后發(fā)現(xiàn),預(yù)測(cè)類標(biāo)簽的輸出PredictLable表中的數(shù)據(jù)全部為1,即將測(cè)試數(shù)據(jù)集的每一個(gè)實(shí)例的類別均預(yù)測(cè)為1,恰好是10%的準(zhǔn)確率。因此猜想可能是未對(duì)數(shù)據(jù)集進(jìn)行歸一化處理,導(dǎo)致各個(gè)數(shù)據(jù)之間文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.的差距較大,影響了模型的準(zhǔn)確性。對(duì)數(shù)據(jù)進(jìn)行歸一化處理后,隨機(jī)抽取不同數(shù)目的訓(xùn)練集數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練實(shí)驗(yàn)

38、結(jié)果如表3-2所示:表3-2SVM實(shí)驗(yàn)結(jié)果訓(xùn)練數(shù)據(jù)集數(shù)目100002000030000400005000060000準(zhǔn)確率92.22%93.25%93.74%94.03%94.32%94.53%計(jì)算時(shí)間(S)175.05458.22810.401325.241869.792470.15實(shí)驗(yàn)結(jié)果表明,隨著使用的訓(xùn)練數(shù)據(jù)集樣本數(shù)目的增多,SVM訓(xùn)練模型的準(zhǔn)確率逐漸升高,對(duì)測(cè)試數(shù)據(jù)的預(yù)測(cè)效果越好,沒有出現(xiàn)過擬合現(xiàn)象。在時(shí)間開銷上,其增長(zhǎng)速率要高于準(zhǔn)確率的增長(zhǎng)速度,但是在可接受的范圍內(nèi)。3.6人工神經(jīng)網(wǎng)絡(luò)分類實(shí)驗(yàn)Stepl:導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)集。因?yàn)樯窠?jīng)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)進(jìn)行處理時(shí)是以一列為一個(gè)數(shù)據(jù)實(shí)例的。lo

39、ad(TestItem.mat);load(TestLable.mat);load(TrainItem.mat);load(TrainLable.mat);Step2:在命令行窗口輸入nntool,打開神經(jīng)網(wǎng)絡(luò)工具箱的操作界面。圖3-5神經(jīng)網(wǎng)絡(luò)界面Step3:點(diǎn)擊Import,將輸入數(shù)據(jù)和輸出數(shù)據(jù)導(dǎo)入工作空間。圖3-6導(dǎo)入數(shù)據(jù)Step4:點(diǎn)擊New按鈕,創(chuàng)建一個(gè)新的神經(jīng)網(wǎng)絡(luò),并設(shè)置它的名稱、類型、輸入輸出及隱層神經(jīng)元的個(gè)數(shù)等參數(shù)。確認(rèn)無誤后點(diǎn)擊Create按鈕,神經(jīng)網(wǎng)絡(luò)創(chuàng)建成功。創(chuàng)建好的神經(jīng)網(wǎng)絡(luò)抽象模型如下圖所示:圖3-7神經(jīng)網(wǎng)絡(luò)模型Step5:導(dǎo)入訓(xùn)練數(shù)據(jù)集及訓(xùn)練數(shù)據(jù)標(biāo)簽,點(diǎn)擊Train按鈕

40、使用訓(xùn)練樣本對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,訓(xùn)練過程的相關(guān)參數(shù)如下圖:圖3-8模型參數(shù)Step6:模型訓(xùn)練完成之后,點(diǎn)擊Simulate按鈕對(duì)測(cè)試數(shù)據(jù)集進(jìn)行分類,將分類結(jié)果和實(shí)驗(yàn)誤差輸出。實(shí)驗(yàn)過程中,將數(shù)據(jù)集的類標(biāo)簽用兩種形式表示,例如類標(biāo)簽3有兩種表示形式,第一種為10位表示t=0001000000;第二種為1位表示t=3,兩種表示形勢(shì)下分別進(jìn)行實(shí)驗(yàn),結(jié)果有很大的不同,現(xiàn)將實(shí)驗(yàn)結(jié)果表示如下。類標(biāo)簽表示為10位Performance神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中將訓(xùn)練數(shù)據(jù)集分為三部分:訓(xùn)練數(shù)據(jù)集Train,驗(yàn)證數(shù)據(jù)集Validation,測(cè)試數(shù)據(jù)集Test。為了防止過擬合現(xiàn)象的發(fā)生,一般將Validation

41、數(shù)據(jù)集分類效果最好時(shí)訓(xùn)練好的模型進(jìn)行輸出,如圖4-9所示,在第153次迭代時(shí),神經(jīng)網(wǎng)絡(luò)模型的效果達(dá)到最好。圖3-9性能TrainingState圖3-10顯示了神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程的相關(guān)狀態(tài),在第153次迭代時(shí),神文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.經(jīng)網(wǎng)絡(luò)梯度為0.0010172,交叉驗(yàn)證的次數(shù)為6次。該數(shù)據(jù)表示在神經(jīng)網(wǎng)絡(luò)利用訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練的過程中,驗(yàn)證數(shù)據(jù)集的誤差曲線連續(xù)6次迭代不再下降。如果隨著網(wǎng)絡(luò)的訓(xùn)練,驗(yàn)證數(shù)據(jù)集的誤差已經(jīng)不再減小,甚至增大,那么就沒有必要再去訓(xùn)練網(wǎng)絡(luò)了,因?yàn)槔^續(xù)訓(xùn)練下去的話,再利用測(cè)試測(cè)試集對(duì)模型進(jìn)行測(cè)試的話,測(cè)試數(shù)據(jù)集的誤差將同樣不會(huì)有

42、所改善,甚至?xí)霈F(xiàn)過度擬合的現(xiàn)象。圖3-10訓(xùn)練狀態(tài)Regression圖3-11回歸曲線PrecisionPrecision=0.9969(2)類標(biāo)簽表示為1位Performance圖3-12顯示,當(dāng)使用一位數(shù)據(jù)表示類標(biāo)簽是,在第257次迭代神經(jīng)網(wǎng)絡(luò)模型的效果達(dá)到最好。圖3-12性能TrainingState圖3-13顯示了神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程的相關(guān)狀態(tài),在第263次迭代時(shí),神經(jīng)網(wǎng)絡(luò)梯度為1.9263,交叉驗(yàn)證的次數(shù)為6次。圖3-13訓(xùn)練狀態(tài)Regression圖3-14回歸曲線PrecisionPrecision=0.60244結(jié)論此次實(shí)驗(yàn)利用Matlab工具箱對(duì)三種分類算法:決策樹算法、

43、SVM算法和神經(jīng)網(wǎng)絡(luò)算法進(jìn)行實(shí)現(xiàn),通過對(duì)MNIST數(shù)據(jù)集進(jìn)行分類,并且使用其真實(shí)數(shù)據(jù)標(biāo)簽與預(yù)測(cè)標(biāo)簽進(jìn)行比較,能夠得到各個(gè)分類算法的準(zhǔn)確率。通過比較發(fā)現(xiàn),三種分類算法在算法的執(zhí)行速度以及分類的準(zhǔn)確率方面表現(xiàn)出了顯著地差異。4.1三種分類算法的比較決策樹算法、SVM算法以及神經(jīng)網(wǎng)絡(luò)算法在MNIST數(shù)據(jù)集上的執(zhí)行速度以及分類的準(zhǔn)確率如表4-1所示,表中所列數(shù)據(jù)為每個(gè)算法最佳參數(shù)下十次重復(fù)實(shí)驗(yàn)數(shù)據(jù)的平均值。表4-1三種分類算法的性能比較指標(biāo)決策樹算法SVM算法神經(jīng)網(wǎng)絡(luò)算法準(zhǔn)確率83.53%94.53%99.69%執(zhí)行時(shí)間(s)108.252470.15512通過分析表4-1可以得出以下結(jié)論:(1)在分

44、類的準(zhǔn)確率方面,神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確率最高,SVM算法次之,決策樹算法的準(zhǔn)確率最低。(2)在算法的執(zhí)行速度方面,決策樹算法的的運(yùn)行速度最快,神將網(wǎng)絡(luò)算法的運(yùn)行速度較慢,SVM算法的運(yùn)行速度最慢。(3)對(duì)MNIST數(shù)據(jù)集的分類而言,綜合考慮應(yīng)該選擇神經(jīng)網(wǎng)絡(luò)算法,因?yàn)樵撍惴ǚ诸惖臏?zhǔn)確率幾乎達(dá)到100%,而執(zhí)行速度相對(duì)來說不是最慢的,在可接受的范圍內(nèi)。4.2決策樹算法的分析通過分析表4-2所示的決策樹的實(shí)驗(yàn)結(jié)果可知,決策樹分類算法的速度之快是其最顯著的特點(diǎn)。另外,雖然MNIST數(shù)據(jù)集中的數(shù)值分布較為分散,數(shù)值之間的差異較大,但是這對(duì)決策樹算法的準(zhǔn)確率并沒有影響,因此可以看出,決策樹算法對(duì)于實(shí)驗(yàn)數(shù)據(jù)的分布均勻與否并不敏感。表4-2決策樹算法的實(shí)驗(yàn)結(jié)果準(zhǔn)確率計(jì)算時(shí)間(s)無歸一化處理0.8352110.68歸一化處理0.8353108.254.3SVM算法分析在對(duì)SVM算法進(jìn)行實(shí)驗(yàn)時(shí),對(duì)其進(jìn)行了兩方面實(shí)驗(yàn):一方面探究了數(shù)據(jù)的歸一化對(duì)算法準(zhǔn)確率的影響。另一方面則探究了訓(xùn)練數(shù)據(jù)集的大小對(duì)分類準(zhǔn)確率的影響。實(shí)驗(yàn)結(jié)果表明:(1)未對(duì)數(shù)據(jù)進(jìn)行歸一化時(shí),算法的準(zhǔn)確率為11.35%,將全部數(shù)據(jù)的類別預(yù)測(cè)為1;對(duì)數(shù)據(jù)進(jìn)行歸一化之后,算法的準(zhǔn)確率達(dá)到94.53%。因此,可以得出結(jié)論:SVM算法對(duì)于分布不均的數(shù)據(jù)集是較敏感的。(2)隨著訓(xùn)練數(shù)據(jù)集樣本數(shù)目的增加,算法的準(zhǔn)確率越來越大

溫馨提示

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

評(píng)論

0/150

提交評(píng)論