版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、關(guān)鍵字】論文基于MATLAB的手寫體數(shù)字識別算法的實現(xiàn)與分析摘要手寫體數(shù)字識別是利用計算機自動辨認手寫體阿拉伯?dāng)?shù)字的一種技術(shù),是光學(xué)字符識別技術(shù)的一個分支。手寫體數(shù)字識別在郵政編碼、財務(wù)報表、銀行票據(jù)、各種憑證以及調(diào)查表格的識別等等方面有著重要應(yīng)用,由于數(shù)字識別經(jīng)常涉及財會、金融領(lǐng)域,其嚴格性更是不言而喻的。所以,對識別系統(tǒng)的可靠性和識別率要求很高,構(gòu)成了手寫體數(shù)字識別面臨的主要困難,大批量數(shù)據(jù)處理對系統(tǒng)速度又有相當(dāng)高的要求。本文基于MNIST數(shù)據(jù)集,通過Matlab平臺,對決策樹算法、SVM算法和人工神經(jīng)網(wǎng)絡(luò)(ANN)算法進行實現(xiàn),并對分類算法的準確率進行評估。實驗結(jié)果表明,人工神經(jīng)網(wǎng)絡(luò)(A
2、NN)的準確率最高,為99.69%,SVM算法次之,準確率為94.53%,決策樹算法的準確率為83.53%。三種分類算法中,決策樹算法的速度最快,SVM算法的速度最慢。另外,針對每一種分類算法在MNIST數(shù)據(jù)集上的實驗結(jié)果,本文還得出以下結(jié)論:第一,MNIST數(shù)據(jù)集的歸一化與否對決策樹的分類效果幾乎沒有影響;對SVM的分類效果影響較大,未歸一化時的準確率為11.35%,歸一化之后的準確率為94.53%;對人工神經(jīng)網(wǎng)絡(luò)的分類效果影響較小,未歸一化時的準確率為82.11%,歸一化之后的準確率為99.69%。這說明三種分類算法對數(shù)據(jù)的不平衡分布的敏感程度各不相同。第二,對于SVM分類算法,當(dāng)訓(xùn)練數(shù)據(jù)
3、集的樣本容量小于60000(MNIST訓(xùn)練數(shù)據(jù)集的最大樣本容量)時,該算法對嘗試數(shù)據(jù)集分類預(yù)測的準確率隨樣本容量的增大而增大。第三,針對人工神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)類標簽的表示形式對分類預(yù)測的準確率的影響較大。使用10位數(shù)據(jù)表示類標簽是的準確率為99.69%,遠遠高于使用1位數(shù)據(jù)表示類標簽時的準確率60.24%。關(guān)鍵詞:手寫體數(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ù)字識別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 支持向量機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實驗過程與結(jié)果分析10 HYPERLINK l bookmark54 3.1實驗環(huán)境10 HYPERLINK l bookmark56 實驗數(shù)據(jù)集10 HYPERLINK l bookmark58 數(shù)據(jù)預(yù)處理10 HYPER
12、LINK l bookmark60 決策樹分類實驗111112 HYPERLINK l bookmark62 3.5SVM分類實驗131314 HYPERLINK l bookmark64 3.6人工神經(jīng)網(wǎng)絡(luò)分類實驗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 參考文獻211.引言1.1手寫數(shù)字識別手寫數(shù)字識別是模式識別領(lǐng)域的一個重要分支,它研究的核心問題是:如何利用計算機自動識別人手寫在紙張上的阿拉伯?dāng)?shù)字。手寫體數(shù)字識別問題,簡而言之就是識別出10個阿拉伯?dāng)?shù)字,由于數(shù)字的清晰程度或者是個人的寫字習(xí)慣抑或是其他,往往手寫體數(shù)字的性狀、大小、深淺、位置會不大一樣。手寫體識別一般包括3個階段:預(yù)處理、特征提取、分類識別。手寫數(shù)字識別前景廣闊,廣泛應(yīng)用于表格中數(shù)字的識別、汽車牌照的數(shù)字自動識別和成績單的識別等。實現(xiàn)數(shù)字的自動識別能夠給人們的工作和生活帶來很大的方便。對于該領(lǐng)域的研究具有重要的理論價值:一方面,阿拉伯?dāng)?shù)字是唯一的
14、被世界各國通用的符號,對手寫數(shù)字識別的研究與文化背景無關(guān),這樣就為各國、各地區(qū)的研究工作者提供了一個自由平等的舞臺,大家可以在這一領(lǐng)域施展才智,各抒己見。另一方面,由于數(shù)字識別的類別數(shù)較少(只有0到9十個類別),有助于做深入分析及驗證一些新的理論。這方面最明顯的例子就是人工神經(jīng)網(wǎng)絡(luò),相當(dāng)一部分的人工神經(jīng)網(wǎng)絡(luò)模型都以手寫數(shù)字識別作為具體的實驗平臺,驗證理論的有效性,評價各種方法的優(yōu)缺點。數(shù)字識別的算法較多,當(dāng)前運用較好的主流算法以統(tǒng)計、聚類和分類算法為主,如Bagging算法、支持向量機算法、神經(jīng)網(wǎng)絡(luò)等。手寫數(shù)字識別難度在于:一、數(shù)字相似性大,但字形相差不大;二、數(shù)字雖然只有10種,但筆劃簡單,
15、同一個數(shù)字寫法差別大;三、手寫數(shù)字存在斷筆和毛刺,對識別造成影響。本文選擇分類算法中的決策樹算法、支持向量機算法、神經(jīng)網(wǎng)絡(luò)對MNIST數(shù)據(jù)集進行數(shù)字識別,并對分類效果進行比較分析。2.分類算法分類器識別是實現(xiàn)手寫體數(shù)字識別的最終關(guān)鍵,基于距離的分類器和神經(jīng)網(wǎng)絡(luò)分類器這兩大類是目前現(xiàn)有的最主要的分類器。分類是數(shù)據(jù)挖掘的重要分支,可用于提取、描述重要數(shù)據(jù)的模型或預(yù)測未來的數(shù)據(jù)趨勢1。2.1決策樹算法決策樹也稱為判定樹,是一種有監(jiān)督的學(xué)習(xí)方法。決策樹代表著決策樹的樹形結(jié)構(gòu),可以根據(jù)訓(xùn)練集數(shù)據(jù)構(gòu)造出決策樹。如果該樹不能對所有對象給出正確的分類,就選擇一些例外加入到訓(xùn)練集數(shù)據(jù)中。重復(fù)該過程,直到形成正確
16、的決策集。決策樹方法首先對數(shù)據(jù)進行處理,利用歸納算法生成可讀的規(guī)則和決策樹,然后使用決策樹對新數(shù)據(jù)進行分析,本質(zhì)上是通過一系列規(guī)則對數(shù)據(jù)進行分類的過程。決策樹的典型算法有ID3,C4.5,等。根據(jù)訓(xùn)練集構(gòu)建決策樹,決策樹中的結(jié)點逐層展開。每展開一層子結(jié)點,并將其設(shè)為葉結(jié)點,就得到一棵決策樹,然后采用測試集對所得決策樹的分類性能進行統(tǒng)計。重復(fù)上述過程,可以得到?jīng)Q策樹在測試集上的學(xué)習(xí)曲線。根據(jù)學(xué)習(xí)曲線,選擇在測試集上性能最佳的決策樹為最終的決策樹。ID3算法J.RossQuinlan在1986年將信息論引入到?jīng)Q策樹算法中,提出了ID32算法,算法思想如下:設(shè)樣本集E共有C類訓(xùn)練集,每類樣本數(shù)為pi
17、,且i=1,2,3,,C。如果以屬性A作為測試屬性,屬性A的v個不同的值為v1,v2,vv,可以用屬性A將E劃分成v個子集E1,E2,Ev,假定Ei中含有第j類樣本的個數(shù)為pij,j=1,2,3,,C,那么子集Ei的熵為:inoSropy)十加og啟jEij=lEi1)屬性A的信息熵為:vInfor_Entropy(A)=1E將Infor_Entropy(Ei)代入公式(2)后可得:(其曲)Ei|一棵決策樹對一實例做出正確類別判斷所需的信息為: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算法存在著屬性偏向,對噪聲敏感等問題。C4.5算法在ID3算法的基礎(chǔ)上,Quinlan在1993年提出了一種改進的算法,即C4.5算法3,信息增益率計算如下:Gain(A)TOC o 1-5 h zGainratioA)=(5)宀Split(A)(5)cpijpijSplit(A)=-log(6)C4.5算法克服了ID3算屬性偏向的問題,增加了對連續(xù)屬性的處理,通過剪枝,在一定程度上避免了“過度擬合”的現(xiàn)象。但是該算法將連續(xù)屬性離散化,需要遍歷該屬性的所有值,降低了效率;要求訓(xùn)練樣本駐留
19、在內(nèi)存,不適合處理大規(guī)模數(shù)據(jù)集。CART算法CART算法可以處理無序的數(shù)據(jù),采用基尼系數(shù)作為測試屬性的選擇標準,基尼系數(shù)的計算如下:TT2G叭put(T)=可GiniiT1)+可GiniiT2)(7)其中,Gini(T)=1-工p2,pi是類別j在T中出現(xiàn)的概率。iCART算法生成的決策樹精度較高,但是當(dāng)其生成的決策樹復(fù)雜度超過一定程度后,隨著復(fù)雜度的提高,分類精確度會降低。因此,用該算法建立的決策樹不宜太復(fù)雜4。SLIQ算法決策樹分類算法研究一直朝著處理大數(shù)據(jù)集的方向進行,但大部分方法在減少了運算時間的同時也降低了算法的精度SLIQ的分類精度與其他決策樹算法不相上下,但其執(zhí)行的速度比其他決策
20、樹算法快。SLIQ算法對訓(xùn)練樣本集的樣本數(shù)量以及屬性的數(shù)量沒有限制。SLIQ算法能夠處理大規(guī)模的訓(xùn)練樣本集,具有較好的伸縮性;執(zhí)行速度快而且能夠生成較小的二叉決策樹;SLIQ算法允許多個處理器同時處理屬性表,從而實現(xiàn)并行性。但是SLIQ算法不能擺脫主存容量的限制。SPRINT算法SLIQ算法要求類表駐留內(nèi)存,當(dāng)訓(xùn)練集大到類表放不進內(nèi)存時,SLIQ算法就無法執(zhí)行。為此,IBM的研究人員提出SPRINT算法,它處理速度快,不受內(nèi)存的限制。SPRINT算法可以處理超大規(guī)模訓(xùn)練樣本集,數(shù)據(jù)樣本集數(shù)量越大,SPRINT的執(zhí)行效率越高,并且可伸縮性更好。但是,SPRINT算法存在著一些缺陷,在SLIQ的類
21、表可以存進內(nèi)存時,SPRINT算法的執(zhí)行速度比SLIQ算法慢。2.1.6經(jīng)典決策樹算法的比較基于決策樹的分類算法已經(jīng)有幾十種,各種算法在執(zhí)行速度、可擴展性、輸出結(jié)果的可理解性、分類預(yù)測的準確性方面各有所長。下面就對幾種典型的決策樹算法進行比較,結(jié)果如表2-1所示:表2-1典型決策樹算法的比較算法測試屬性選擇指標連續(xù)屬性的處理是否需要獨立測試樣本集運行剪枝時間可伸縮性并行性決策樹的結(jié)構(gòu)ID3信息增益離散化是后剪枝差差多叉樹C4.5信息增益率預(yù)排序否后剪枝差差多叉樹CARTGINI系數(shù)預(yù)排序否后剪枝差差二叉樹SLIQGINI系數(shù)預(yù)排序否后剪枝良好良好二叉樹SPRINTGINI系數(shù)預(yù)排序否后剪枝好好
22、二叉樹2.2支持向量機支持向量機(SVM)方法是通過一個非線性p,把到一個乃至無窮維的特征空間中(Hilbert空間),使得在原來的中非線性可分的問題轉(zhuǎn)化為在特征空間中的線性可分的問題.簡單地說,就是升維和線性化。升維,就是把樣本向高維空間做映射,一般情況下這會增加計算的復(fù)雜性,甚至?xí)?,因而人們很少問?但是作為分類、回歸等問題來說,很可能在低維樣本空間無法線性處理的樣本集,在高維特征空間中卻可以通過一個線性超平面實現(xiàn)線性劃分(或回歸).一般的升維都會帶來計算的復(fù)雜化,SVM方法巧妙地解決了這個難題:應(yīng)用的展開定理,就不需要知道非線性映射的顯式表達式;由于是在高維特征空間中建立線性學(xué)習(xí)機所
23、以與相比,不但幾乎不增加計算的復(fù)雜性,而且在某種程度上避免了維數(shù)災(zāi)難.這一切要歸功于核函數(shù)的展開和計算理論。選擇不同的,可以生成不同的SVM。SVM的機理是尋找一個滿足分類要求的最優(yōu)分類超平面,使得該超平面在保證分類精度的同時,能夠使超平面兩側(cè)的空白區(qū)域最大化。理論上,支持向量機能夠?qū)崿F(xiàn)對線性可分數(shù)據(jù)的最優(yōu)分類。以兩類數(shù)據(jù)分類為例,給定訓(xùn)練樣本集(xi,yi),i=1,2,l,xRn,yW社1,超平面記作(wxi)+b=0,為使分類面對所有樣本正確分類并且具備分類間隔,就要求它滿足如下約束:yi(wxi)+b1,i=1,2,.,l。圖2-1支持向量機可以計算出分類間隔為2/|w|,因此構(gòu)造最優(yōu)
24、超平面的問題就轉(zhuǎn)化為在約束式下求:min(w)=1|WII2w)8)為了解決該個約束最優(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為Lagrange乘數(shù)。約束最優(yōu)化問題的解由Lagrange函數(shù)的鞍點決定,并且最優(yōu)化問題的解在鞍點處滿足對w和b的偏導(dǎo)為0,將該QP問題轉(zhuǎn)化為相應(yīng)的對偶問題即: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計算最優(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ù)為:對于線性不可分情況,SVM的主要思想是將輸人向量映射到一個高維的特征向量空間,并在該特征空間中構(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在上面的對偶問題中,無論是目標函數(shù)還是決策函數(shù)都只涉及到訓(xùn)練樣本之
26、間的內(nèi)積運算,在高維空間避免了復(fù)雜的高維運算而只需要進行內(nèi)積運算。2.3人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)是指模擬人腦神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能,運用大量的處理部件,由人工方式建立起來的網(wǎng)絡(luò)系統(tǒng)。該網(wǎng)絡(luò)具有大規(guī)模并行協(xié)同處理能力和較強的容錯能力和聯(lián)想能力,同時是一個具有較強學(xué)習(xí)能力的大規(guī)模自組織、自適應(yīng)性的非線性動力系統(tǒng)。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是基本處理單元及其互連方法決定的。如圖所示,單個神經(jīng)元單元由多個輸入xi,i=1,2,.,n和一個輸出y組成。圖3-2神經(jīng)元ny=f(=1wixi-0i=1(16)式中,&為神經(jīng)元單元的偏置(閾值),wi為連接權(quán)系數(shù),n為輸入信號數(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ò)是一種具有很強學(xué)習(xí)能力的系統(tǒng),結(jié)構(gòu)比較簡單,且易于編程。前饋網(wǎng)絡(luò)通過簡單非線性單元的復(fù)合映射而獲得較強的非線性處理能力,實現(xiàn)靜態(tài)非線性映射。BP網(wǎng)絡(luò)主要特點是能夠?qū)崿F(xiàn)從n維到m維的非線性映射,它還可以采用梯度下降法實現(xiàn)快速收斂。模型如下圖所示:圖3-3反向傳播網(wǎng)絡(luò)反向傳播算法的具體流程如下:對于給定的樣本集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叫re)J0,如果J0結(jié)束訓(xùn)練,并認為此時的血為最優(yōu)。否則轉(zhuǎn)第2步繼續(xù)進行循環(huán)。對于反向傳播模型的初始化如下:輸入層:單元i的輸入:xi單元數(shù)量:d單元i的輸出:xj單元i的激活函數(shù):線性函數(shù)隱層:單元j的凈輸入:netj單元數(shù)量:nH單元j的輸出:yj單元j的激活函數(shù):非線性函數(shù)輸出層:單元k的凈輸入:netk單元數(shù)量:c單元k的輸出:zk單元k的激活函數(shù):非線性函數(shù)學(xué)習(xí)速率學(xué)習(xí)速率直接影響權(quán)系數(shù)調(diào)整時的步長。學(xué)習(xí)速率過小,導(dǎo)致算法收斂速度緩慢。學(xué)習(xí)速率過大,導(dǎo)致算法不收斂。學(xué)習(xí)速率的典型取備二0.1。另外學(xué)習(xí)速率可變。誤差函數(shù)的局部極小值調(diào)整權(quán)系數(shù)的目標是使誤差函
29、數(shù)取得最小值但是,采用梯度下降法(GradientDescentProcedure)不能保證獲得最小值,而只能保證得到一個極小值。如果訓(xùn)練過程無法使誤差函數(shù)降低到預(yù)期的程度,一種常用的方法是:再一次對權(quán)系數(shù)進行隨機初始化,并重新訓(xùn)練網(wǎng)絡(luò)。學(xué)習(xí)曲線樣本集的劃分:一般情況下,可把已知的樣本集劃分為三個子集,即訓(xùn)練集、確認集、測試集。訓(xùn)練集:用來調(diào)整權(quán)系數(shù),使誤差函數(shù)盡可能變小。確認集:用來初步驗證神經(jīng)網(wǎng)絡(luò)對未來新樣本的分類能力,并據(jù)此確定最佳的權(quán)系數(shù)。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程需要采用訓(xùn)練集及確認集共同完成。測試集:在訓(xùn)練過程最終結(jié)束后,再采用測試集對網(wǎng)絡(luò)的分類性能進行最后測試,用以評估神經(jīng)網(wǎng)絡(luò)在實際應(yīng)用
30、中的實際性能。2.3.3Hopfield網(wǎng)絡(luò)Hopfield網(wǎng)絡(luò)是一種動態(tài)反饋系統(tǒng),可以用一個完備的無向圖表示,它比前饋網(wǎng)絡(luò)具有更強的計算能力。Hopfield網(wǎng)絡(luò)一般只有一個神經(jīng)元層次,每個神經(jīng)元的輸出都與其它神經(jīng)元的輸入相連,是一種單層全反饋網(wǎng)絡(luò)。如圖3-4所示。圖3-4Hopfield網(wǎng)絡(luò)Hopfield網(wǎng)絡(luò)中神經(jīng)元之間的權(quán)值一般是對稱的。但每個神經(jīng)元都沒有到自身的聯(lián)接。神經(jīng)元i和神經(jīng)元j之間相互連接的權(quán)值相等,即wij=wji。因此此時,網(wǎng)絡(luò)一定能夠收斂到一個穩(wěn)定值。否則,則網(wǎng)絡(luò)可能會不穩(wěn)定,無法收斂。離散Hopfield網(wǎng)絡(luò)每個單元均有一個狀態(tài)值,它取兩個可能值之一。設(shè)在某一個時刻t
31、,神經(jīng)元i的狀態(tài)為Ui(t),則在t+1時刻的狀態(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個神經(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決策樹分類實驗Step1:導(dǎo)入實驗數(shù)據(jù)集load(TestItem.mat);load(Tes
33、tLable.mat);load(TrainItem.mat);load(TrainLable.mat);Step2:使用訓(xùn)練數(shù)據(jù)集及其標簽集訓(xùn)練模型,得到?jīng)Q策樹,并輸出,如圖3-3所示Tree=classregtree(TrainItem,TrainLable);圖3-3決策樹模型Step3:使用訓(xùn)練好的決策樹對測試集進行分類,并得到分類結(jié)果value_table=round(eval(Tree,TestItem);Step:將分類得到的數(shù)據(jù)類標簽與已知的類標簽進行比較,畫出預(yù)測類標簽與實際類標簽的對比圖,計算得到?jīng)Q策樹的準確率。count=0;fori=1:1:10000ifTestLab
34、le(i)=value_table(i)count=count+1;endendprecision=count/10000本實驗另外又將實驗數(shù)據(jù)進行歸一化處理,按照上述實驗過程進行相同的實驗,現(xiàn)將實驗結(jié)果整理如表3-1所示:表3-1決策樹實驗結(jié)果準確率計算時間(s)無歸一化處理0.8352110.68歸一化處理0.8353108.25通過觀察發(fā)現(xiàn),歸一化處理對決策樹的分類效果影響不大。在Step4中畫出的測試集的預(yù)測類標簽與實際類標簽的對比圖如圖4-4所示其中,兩種標記為重疊的部分即為預(yù)測失誤的數(shù)據(jù)。圖3-4決策樹預(yù)測類別與實際類別的對比3.5SVM分類實驗MatlabR2012a自帶的SVM
35、工具箱只能對數(shù)據(jù)進行二分類,實驗結(jié)果并不理想,因此需要預(yù)先加載libSVM工具箱,對SVM的實驗性能進行驗證。Stepl:導(dǎo)入實驗數(shù)據(jù)集load(TestItem.mat);load(TestLable.mat);load(TrainItem.mat);load(TrainLable.mat);Step2:對訓(xùn)練數(shù)據(jù)集及測試數(shù)據(jù)集進行歸一化,將數(shù)據(jù)映射到0,1區(qū)間,這里使用的方法是將每一項數(shù)據(jù)除以最大值255,也可以使用Matlab自帶的歸一化函數(shù)mapminmax(),效果一樣。TrainItem=TrainItem/255;TestItem=TestItem/255;Step3:利用訓(xùn)練集
36、及其類標簽建立分類模型,并輸出分類模型的相關(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)練好的模型對測試集進行分類,并得到SVM的準確率。PredictLable,Acc,Toss=svmpredict(testlabel,testdata,model);TestAccuracy=Acc(1);實驗開始階段并
37、未對訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集進行歸一化處理,使用訓(xùn)練好的SVM模型對測試數(shù)據(jù)集進行分類得到的準確率為TestAccuracy=11.35%。這個結(jié)果與預(yù)期的結(jié)果相差甚遠,與查閱的相關(guān)資料上提到的SVM的準確率也有較大的出入。仔細檢查了各項相關(guān)輸出之后發(fā)現(xiàn),預(yù)測類標簽的輸出PredictLable表中的數(shù)據(jù)全部為1,即將測試數(shù)據(jù)集的每一個實例的類別均預(yù)測為1,恰好是10%的準確率。因此猜想可能是未對數(shù)據(jù)集進行歸一化處理,導(dǎo)致各個數(shù)據(jù)之間文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.的差距較大,影響了模型的準確性。對數(shù)據(jù)進行歸一化處理后,隨機抽取不同數(shù)目的訓(xùn)練集數(shù)據(jù)對模型進行訓(xùn)練實驗
38、結(jié)果如表3-2所示:表3-2SVM實驗結(jié)果訓(xùn)練數(shù)據(jù)集數(shù)目100002000030000400005000060000準確率92.22%93.25%93.74%94.03%94.32%94.53%計算時間(S)175.05458.22810.401325.241869.792470.15實驗結(jié)果表明,隨著使用的訓(xùn)練數(shù)據(jù)集樣本數(shù)目的增多,SVM訓(xùn)練模型的準確率逐漸升高,對測試數(shù)據(jù)的預(yù)測效果越好,沒有出現(xiàn)過擬合現(xiàn)象。在時間開銷上,其增長速率要高于準確率的增長速度,但是在可接受的范圍內(nèi)。3.6人工神經(jīng)網(wǎng)絡(luò)分類實驗Stepl:導(dǎo)入實驗數(shù)據(jù)集。因為神經(jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)進行處理時是以一列為一個數(shù)據(jù)實例的。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:點擊Import,將輸入數(shù)據(jù)和輸出數(shù)據(jù)導(dǎo)入工作空間。圖3-6導(dǎo)入數(shù)據(jù)Step4:點擊New按鈕,創(chuàng)建一個新的神經(jīng)網(wǎng)絡(luò),并設(shè)置它的名稱、類型、輸入輸出及隱層神經(jīng)元的個數(shù)等參數(shù)。確認無誤后點擊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ù)標簽,點擊Train按鈕
40、使用訓(xùn)練樣本對神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,訓(xùn)練過程的相關(guān)參數(shù)如下圖:圖3-8模型參數(shù)Step6:模型訓(xùn)練完成之后,點擊Simulate按鈕對測試數(shù)據(jù)集進行分類,將分類結(jié)果和實驗誤差輸出。實驗過程中,將數(shù)據(jù)集的類標簽用兩種形式表示,例如類標簽3有兩種表示形式,第一種為10位表示t=0001000000;第二種為1位表示t=3,兩種表示形勢下分別進行實驗,結(jié)果有很大的不同,現(xiàn)將實驗結(jié)果表示如下。類標簽表示為10位Performance神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中將訓(xùn)練數(shù)據(jù)集分為三部分:訓(xùn)練數(shù)據(jù)集Train,驗證數(shù)據(jù)集Validation,測試數(shù)據(jù)集Test。為了防止過擬合現(xiàn)象的發(fā)生,一般將Validation
41、數(shù)據(jù)集分類效果最好時訓(xùn)練好的模型進行輸出,如圖4-9所示,在第153次迭代時,神經(jīng)網(wǎng)絡(luò)模型的效果達到最好。圖3-9性能TrainingState圖3-10顯示了神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程的相關(guān)狀態(tài),在第153次迭代時,神文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.經(jīng)網(wǎng)絡(luò)梯度為0.0010172,交叉驗證的次數(shù)為6次。該數(shù)據(jù)表示在神經(jīng)網(wǎng)絡(luò)利用訓(xùn)練數(shù)據(jù)集進行訓(xùn)練的過程中,驗證數(shù)據(jù)集的誤差曲線連續(xù)6次迭代不再下降。如果隨著網(wǎng)絡(luò)的訓(xùn)練,驗證數(shù)據(jù)集的誤差已經(jīng)不再減小,甚至增大,那么就沒有必要再去訓(xùn)練網(wǎng)絡(luò)了,因為繼續(xù)訓(xùn)練下去的話,再利用測試測試集對模型進行測試的話,測試數(shù)據(jù)集的誤差將同樣不會有
42、所改善,甚至?xí)霈F(xiàn)過度擬合的現(xiàn)象。圖3-10訓(xùn)練狀態(tài)Regression圖3-11回歸曲線PrecisionPrecision=0.9969(2)類標簽表示為1位Performance圖3-12顯示,當(dāng)使用一位數(shù)據(jù)表示類標簽是,在第257次迭代神經(jīng)網(wǎng)絡(luò)模型的效果達到最好。圖3-12性能TrainingState圖3-13顯示了神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程的相關(guān)狀態(tài),在第263次迭代時,神經(jīng)網(wǎng)絡(luò)梯度為1.9263,交叉驗證的次數(shù)為6次。圖3-13訓(xùn)練狀態(tài)Regression圖3-14回歸曲線PrecisionPrecision=0.60244結(jié)論此次實驗利用Matlab工具箱對三種分類算法:決策樹算法、
43、SVM算法和神經(jīng)網(wǎng)絡(luò)算法進行實現(xiàn),通過對MNIST數(shù)據(jù)集進行分類,并且使用其真實數(shù)據(jù)標簽與預(yù)測標簽進行比較,能夠得到各個分類算法的準確率。通過比較發(fā)現(xiàn),三種分類算法在算法的執(zhí)行速度以及分類的準確率方面表現(xiàn)出了顯著地差異。4.1三種分類算法的比較決策樹算法、SVM算法以及神經(jīng)網(wǎng)絡(luò)算法在MNIST數(shù)據(jù)集上的執(zhí)行速度以及分類的準確率如表4-1所示,表中所列數(shù)據(jù)為每個算法最佳參數(shù)下十次重復(fù)實驗數(shù)據(jù)的平均值。表4-1三種分類算法的性能比較指標決策樹算法SVM算法神經(jīng)網(wǎng)絡(luò)算法準確率83.53%94.53%99.69%執(zhí)行時間(s)108.252470.15512通過分析表4-1可以得出以下結(jié)論:(1)在分
44、類的準確率方面,神經(jīng)網(wǎng)絡(luò)的準確率最高,SVM算法次之,決策樹算法的準確率最低。(2)在算法的執(zhí)行速度方面,決策樹算法的的運行速度最快,神將網(wǎng)絡(luò)算法的運行速度較慢,SVM算法的運行速度最慢。(3)對MNIST數(shù)據(jù)集的分類而言,綜合考慮應(yīng)該選擇神經(jīng)網(wǎng)絡(luò)算法,因為該算法分類的準確率幾乎達到100%,而執(zhí)行速度相對來說不是最慢的,在可接受的范圍內(nèi)。4.2決策樹算法的分析通過分析表4-2所示的決策樹的實驗結(jié)果可知,決策樹分類算法的速度之快是其最顯著的特點。另外,雖然MNIST數(shù)據(jù)集中的數(shù)值分布較為分散,數(shù)值之間的差異較大,但是這對決策樹算法的準確率并沒有影響,因此可以看出,決策樹算法對于實驗數(shù)據(jù)的分布均勻與否并不敏感。表4-2決策樹算法的實驗結(jié)果準確率計算時間(s)無歸一化處理0.8352110.68歸一化處理0.8353108.254.3SVM算法分析在對SVM算法進行實驗時,對其進行了兩方面實驗:一方面探究了數(shù)據(jù)的歸一化對算法準確率的影響。另一方面則探究了訓(xùn)練數(shù)據(jù)集的大小對分類準確率的影響。實驗結(jié)果表明:(1)未對數(shù)據(jù)進行歸一化時,算法的準確率為11.35%,將全部數(shù)據(jù)的類別預(yù)測為1;對數(shù)據(jù)進行歸一化之后,算法的準確率達到94.53%。因此,可以得出結(jié)論:SVM算法對于分布不均的數(shù)據(jù)集是較敏感的。(2)隨著訓(xùn)練數(shù)據(jù)集樣本數(shù)目的增加,算法的準確率越來越大
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025產(chǎn)品經(jīng)銷商合同模板
- 2025保安公司員工勞務(wù)派遣合同
- 2025財貿(mào)系統(tǒng)經(jīng)營管理責(zé)任制的合同范本
- 2025年度高科技農(nóng)業(yè)作物損壞賠償與修復(fù)合同3篇
- 二零二五年度養(yǎng)殖場地承包與農(nóng)業(yè)科技研發(fā)合同3篇
- 2025年度房屋買賣合同房地產(chǎn)交易服務(wù)平臺接入合同3篇
- 2025年度農(nóng)村房屋租賃與農(nóng)村文化傳承保護合同
- 二零二五年度住宅電梯加裝工程監(jiān)理合同2篇
- 2025年度兼職協(xié)議書-城市綠化養(yǎng)護兼職人員服務(wù)合同3篇
- 二零二五年度水產(chǎn)養(yǎng)殖場養(yǎng)殖權(quán)及經(jīng)營權(quán)轉(zhuǎn)讓協(xié)議3篇
- 水質(zhì)監(jiān)測方案案例
- 2024年02月上海滬劇藝術(shù)傳習(xí)所(上海滬劇院)招考聘用筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
- 婚姻家庭關(guān)系心理講座
- 三叉苦種植技術(shù)規(guī)程-征求意見稿
- 七上-動點、動角問題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 2023年軟件主管年終業(yè)務(wù)工作總結(jié)
- 2023版設(shè)備管理體系標準
- 外來人員車輛入廠安全須知
- 01S201室外消火栓安裝圖集
- 浪潮入職培訓(xùn)考試題目
評論
0/150
提交評論