版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
百度文庫-讓每個(gè)人平等地提升自我百度文庫-讓每個(gè)人平等地提升自我PAGEPAGE21百度文庫-讓每個(gè)人平等地提升自我PAGE基于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)格性更是不言而喻的。所以,對識(shí)別系統(tǒng)的可靠性和識(shí)別率要求很高,構(gòu)成了手寫體數(shù)字識(shí)別面臨的主要困難,大批量數(shù)據(jù)處理對系統(tǒng)速度又有相當(dāng)高的要求。本文基于MNIST數(shù)據(jù)集,通過Matlab平臺(tái),對決策樹算法、SVM算法和人工神經(jīng)網(wǎng)絡(luò)(ANN)算法進(jìn)行實(shí)現(xiàn),并對分類算法的準(zhǔn)確率進(jìn)行評估。實(shí)驗(yàn)結(jié)果表明,人工神經(jīng)網(wǎng)絡(luò)(ANN)的準(zhǔn)確率最高,為99.69%,SVM算法次之,準(zhǔn)確率為94.53%,決策樹算法的準(zhǔn)確率為83.53%。三種分類算法中,決策樹算法的速度最快,SVM算法的速度最慢。另外,針對每一種分類算法在MNIST數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,本文還得出以下結(jié)論:第一,MNIST數(shù)據(jù)集的歸一化與否對決策樹的分類效果幾乎沒有影響;對SVM的分類效果影響較大,未歸一化時(shí)的準(zhǔn)確率為11.35%,歸一化之后的準(zhǔn)確率為94.53%;對人工神經(jīng)網(wǎng)絡(luò)的分類效果影響較小,未歸一化時(shí)的準(zhǔn)確率為82.11%,歸一化之后的準(zhǔn)確率為99.69%。這說明三種分類算法對數(shù)據(jù)的不平衡分布的敏感程度各不相同。第二,對于SVM分類算法,當(dāng)訓(xùn)練數(shù)據(jù)集的樣本容量小于60000(MNIST訓(xùn)練數(shù)據(jù)集的最大樣本容量)時(shí),該算法對測試數(shù)據(jù)集分類預(yù)測的準(zhǔn)確率隨樣本容量的增大而增大。第三,針對人工神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)類標(biāo)簽的表示形式對分類預(yù)測的準(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ò)算法ABSTRACTHandwrittennumeralrecognitionisatechniquethatusescomputertorecognizehandwrittenArabicnumeralsautomaticallyandisabranchofopticalcharacterrecognitiontechnology.Handwrittennumeralrecognitionhasimportantapplicationsinpostalcodes,financialstatements,banknotes,variouskindsofvouchersandtheidentificationofsurveyforms.Sincedigitalidentificationofteninvolvesaccountingandfinance,itsstrictnessisself-evident.Thedemandforidentificationsystemofthereliabilityandrecognitionrateisveryhigh,constitutingahandwrittendigitalidentificationfacingmajordifficulties,high-volumedataprocessingonthesystemspeedandaveryhighdemand.Inthispaper,weuseMatlabtoimplementdecisiontreealgorithm,SVMalgorithmandartificialneuralnetwork(ANN)algorithmbasedonMNISTdataset,andtheaccuracyofclassificationalgorithmsiscalculatedbyusingtherealdatatag.Experimentalresultsshowthattheartificialneuralnetwork(ANN)thehighestaccuracyratefor99.69%,SVMalgorithm,followedby94.53percentaccuracyrate,decisiontreealgorithmaccuracyis83.53%.Intermsofspeed,decisiontreealgorithmisthefastest,SVMalgorithmistheslowest.Inaddition,foreachclassificationalgorithmwealsoconcludedthat:Firstly,whetherornottheMNISTdatasetisnormalizedhasnoeffectintheclassificationtree;WhileithasagreatimpactonSVMclassification.Whenitisnotnormalizedtheaccuracyis11.35%,andafternormalizedtheaccuracyis94.53%;Theartificialneuralnetworkclassificationislessaffected,andwhenitisnotnormalizedtheaccuracyis82.11%whileafternormalizedtheaccuracyis99.69%.Thisshowsthesensitivityofthethreeclassificationalgorithmstounbalanceddistributionofdata.Secondly,fortheSVMclassificationalgorithm,whenthesamplesizeislessthan60,000(maximumsizeofMNISTtestdataset),theaccuracyincreaseswiththeincreasingofsamplesize.Thirdly,fortheartificialneuralnetwork,theimpactofclasslabelrepresentationislargeontheclassificationaccuracy.Whenusing10bitstorepresentclasslabels,theaccuracyis99.69%,farhigherthantheaccuracyof60.24%whenusing1bittorepresentdatalabels.KEYWORDS:Handwrittennumeralrecognition;Decisiontreealgorithm;SVMalgorithm;Artificialneuralnetworkalgorithm目錄ABSTRACT II1. 引言 11.1 手寫數(shù)字識(shí)別 12. 分類算法 12.1 決策樹算法 22.1.1ID3算法 22.1.2C4.5算法 32.1.3CART算法 32.1.4SLIQ算法 32.1.5SPRINT算法 32.1.6經(jīng)典決策樹算法的比較 42.2 支持向量機(jī) 42.3 人工神經(jīng)網(wǎng)絡(luò) 62.3.1人工神經(jīng)網(wǎng)絡(luò)的原理 62.3.2反向傳播網(wǎng)絡(luò)(BP) 62.3.3Hopfield網(wǎng)絡(luò) 83 實(shí)驗(yàn)過程與結(jié)果分析 103.1實(shí)驗(yàn)環(huán)境 103.2實(shí)驗(yàn)數(shù)據(jù)集 103.3數(shù)據(jù)預(yù)處理 103.4決策樹分類實(shí)驗(yàn) 113.4.1實(shí)驗(yàn)過程 113.4.2實(shí)驗(yàn)結(jié)果 123.5SVM分類實(shí)驗(yàn) 133.5.1實(shí)驗(yàn)過程 133.5.2實(shí)驗(yàn)結(jié)果 143.6人工神經(jīng)網(wǎng)絡(luò)分類實(shí)驗(yàn) 143.6.1實(shí)驗(yàn)過程 143.6.2實(shí)驗(yàn)結(jié)果 154 結(jié)論 194.1三種分類算法的比較 194.2決策樹算法的分析 194.3SVM算法分析 194.4神經(jīng)網(wǎng)絡(luò)算法分析 20參考文獻(xiàn) 21
引言手寫數(shù)字識(shí)別手寫數(shù)字識(shí)別是模式識(shí)別領(lǐng)域的一個(gè)重要分支,它研究的核心問題是:如何利用計(jì)算機(jī)自動(dòng)識(shí)別人手寫在紙張上的阿拉伯?dāng)?shù)字。手寫體數(shù)字識(shí)別問題,簡而言之就是識(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í)別和成績單的識(shí)別等。實(shí)現(xiàn)數(shù)字的自動(dòng)識(shí)別能夠給人們的工作和生活帶來很大的方便。對于該領(lǐng)域的研究具有重要的理論價(jià)值:一方面,阿拉伯?dāng)?shù)字是唯一的被世界各國通用的符號(hào),對手寫數(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)證理論的有效性,評價(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種,但筆劃簡單,同一個(gè)數(shù)字寫法差別大;三、手寫數(shù)字存在斷筆和毛刺,對識(shí)別造成影響。本文選擇分類算法中的決策樹算法、支持向量機(jī)算法、神經(jīng)網(wǎng)絡(luò)對MNIST數(shù)據(jù)集進(jìn)行數(shù)字識(shí)別,并對分類效果進(jìn)行比較分析。分類算法分類器識(shí)別是實(shí)現(xiàn)手寫體數(shù)字識(shí)別的最終關(guān)鍵,基于距離的分類器和神經(jīng)網(wǎng)絡(luò)分類器這兩大類是目前現(xiàn)有的最主要的分類器。分類是數(shù)據(jù)挖掘的重要分支,可用于提取、描述重要數(shù)據(jù)的模型或預(yù)測未來的數(shù)據(jù)趨勢[1]。決策樹算法決策樹也稱為判定樹,是一種有監(jiān)督的學(xué)習(xí)方法。決策樹代表著決策樹的樹形結(jié)構(gòu),可以根據(jù)訓(xùn)練集數(shù)據(jù)構(gòu)造出決策樹。如果該樹不能對所有對象給出正確的分類,就選擇一些例外加入到訓(xùn)練集數(shù)據(jù)中。重復(fù)該過程,直到形成正確的決策集。決策樹方法首先對數(shù)據(jù)進(jìn)行處理,利用歸納算法生成可讀的規(guī)則和決策樹,然后使用決策樹對新數(shù)據(jù)進(jìn)行分析,本質(zhì)上是通過一系列規(guī)則對數(shù)據(jù)進(jìn)行分類的過程。決策樹的典型算法有ID3,C4.5,等。根據(jù)訓(xùn)練集構(gòu)建決策樹,決策樹中的結(jié)點(diǎn)逐層展開。每展開一層子結(jié)點(diǎn),并將其設(shè)為葉結(jié)點(diǎn),就得到一棵決策樹,然后采用測試集對所得決策樹的分類性能進(jìn)行統(tǒng)計(jì)。重復(fù)上述過程,可以得到?jīng)Q策樹在測試集上的學(xué)習(xí)曲線。根據(jù)學(xué)習(xí)曲線,選擇在測試集上性能最佳的決策樹為最終的決策樹。2.1.1ID3算法J.RossQuinlan在1986年將信息論引入到?jīng)Q策樹算法中,提出了ID3[2]算法,算法思想如下:設(shè)樣本集E共有C類訓(xùn)練集,每類樣本數(shù)為pi,且i=1,2,3,…,C。如果以屬性A作為測試屬性,屬性A的v個(gè)不同的值為{v1,v2,…,vv},可以用屬性A將E劃分成v個(gè)子集{E1,E2,…,Ev},假定Ei中含有第j類樣本的個(gè)數(shù)為pij,j=1,2,3,…,C,那么子集Ei的熵為:(1)屬性A的信息熵為:(2)將Infor_Entropy(E(3)一棵決策樹對一實(shí)例做出正確類別判斷所需的信息為:(4)信息增益:InforID3算法存在著屬性偏向,對噪聲敏感等問題。2.1.2C4.5算法在ID3算法的基礎(chǔ)上,Quinlan在1993年提出了一種改進(jìn)的算法,即C4.5算法[3],信息增益率計(jì)算如下:(5)(6)C4.5算法克服了ID3算屬性偏向的問題,增加了對連續(xù)屬性的處理,通過剪枝,在一定程度上避免了“過度擬合”的現(xiàn)象。但是該算法將連續(xù)屬性離散化,需要遍歷該屬性的所有值,降低了效率;要求訓(xùn)練樣本駐留在內(nèi)存,不適合處理大規(guī)模數(shù)據(jù)集。2.1.3CART算法CART算法可以處理無序的數(shù)據(jù),采用基尼系數(shù)作為測試屬性的選擇標(biāo)準(zhǔn),基尼系數(shù)的計(jì)算如下:(7)其中,,pi是類別j在T中出現(xiàn)的概率。CART算法生成的決策樹精度較高,但是當(dāng)其生成的決策樹復(fù)雜度超過一定程度后,隨著復(fù)雜度的提高,分類精確度會(huì)降低。因此,用該算法建立的決策樹不宜太復(fù)雜[4]。2.1.4SLIQ算法決策樹分類算法研究一直朝著處理大數(shù)據(jù)集的方向進(jìn)行,但大部分方法在減少了運(yùn)算時(shí)間的同時(shí)也降低了算法的精度。SLIQ的分類精度與其他決策樹算法不相上下,但其執(zhí)行的速度比其他決策樹算法快。SLIQ算法對訓(xùn)練樣本集的樣本數(shù)量以及屬性的數(shù)量沒有限制。SLIQ算法能夠處理大規(guī)模的訓(xùn)練樣本集,具有較好的伸縮性;執(zhí)行速度快而且能夠生成較小的二叉決策樹;SLIQ算法允許多個(gè)處理器同時(shí)處理屬性表,從而實(shí)現(xiàn)并行性。但是SLIQ算法不能擺脫主存容量的限制。2.1.5SPRINT算法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的類表可以存進(jìn)內(nèi)存時(shí),SPRINT算法的執(zhí)行速度比SLIQ算法慢。2.1.6經(jīng)典決策樹算法的比較基于決策樹的分類算法已經(jīng)有幾十種,各種算法在執(zhí)行速度、可擴(kuò)展性、輸出結(jié)果的可理解性、分類預(yù)測的準(zhǔn)確性方面各有所長。下面就對幾種典型的決策樹算法進(jìn)行比較,結(jié)果如表2-1所示:表2-1典型決策樹算法的比較算法測試屬性選擇指標(biāo)連續(xù)屬性的處理是否需要獨(dú)立測試樣本集運(yùn)行剪枝時(shí)間可伸縮性并行性決策樹的結(jié)構(gòu)ID3信息增益離散化是后剪枝差差多叉樹C4.5信息增益率預(yù)排序否后剪枝差差多叉樹CARTGINI系數(shù)預(yù)排序否后剪枝差差二叉樹SLIQGINI系數(shù)預(yù)排序否后剪枝良好良好二叉樹SPRINTGINI系數(shù)預(yù)排序否后剪枝好好二叉樹支持向量機(jī)支持向量機(jī)(SVM)方法是通過一個(gè)非線性p,把到一個(gè)乃至無窮維的特征空間中(Hilbert空間),使得在原來的中非線性可分的問題轉(zhuǎn)化為在特征空間中的線性可分的問題.簡單地說,就是升維和線性化。升維,就是把樣本向高維空間做映射,一般情況下這會(huì)增加計(jì)算的復(fù)雜性,甚至?xí)?",因而人們很少問津.但是作為分類、回歸等問題來說,很可能在低維樣本空間無法線性處理的樣本集,在高維特征空間中卻可以通過一個(gè)線性超平面實(shí)現(xiàn)線性劃分(或回歸).一般的升維都會(huì)帶來計(jì)算的復(fù)雜化,SVM方法巧妙地解決了這個(gè)難題:應(yīng)用的展開定理,就不需要知道非線性映射的顯式表達(dá)式;由于是在高維特征空間中建立線性學(xué)習(xí)機(jī),所以與相比,不但幾乎不增加計(jì)算的復(fù)雜性,而且在某種程度上避免了"維數(shù)災(zāi)難".這一切要?dú)w功于核函數(shù)的展開和計(jì)算理論。選擇不同的,可以生成不同的SVM。SVM的機(jī)理是尋找一個(gè)滿足分類要求的最優(yōu)分類超平面,使得該超平面在保證分類精度的同時(shí),能夠使超平面兩側(cè)的空白區(qū)域最大化。理論上,支持向量機(jī)能夠?qū)崿F(xiàn)對線性可分?jǐn)?shù)據(jù)的最優(yōu)分類。以兩類數(shù)據(jù)分類為例,給定訓(xùn)練樣本集(xi,yi),i=1,2,???,l,x∈Rn,y∈{±1},超平面記作(w·xi)+b=0,為使分類面對所有樣本正確分類并且具備分類間隔,就要求它滿足如下約束:yi[(w·xi)+b]≥1,i=1,2,…,l。圖2-1支持向量機(jī)可以計(jì)算出分類間隔為2/||w||,因此構(gòu)造最優(yōu)超平面的問題就轉(zhuǎn)化為在約束式下求:(8)為了解決該個(gè)約束最優(yōu)化問題,引入Lagrange函數(shù):(9)式中,ai>0為Lagrange乘數(shù)。約束最優(yōu)化問題的解由Lagrange函數(shù)的鞍點(diǎn)決定,并且最優(yōu)化問題的解在鞍點(diǎn)處滿足對w和b的偏導(dǎo)為0,將該QP問題轉(zhuǎn)化為相應(yīng)的對偶問題即:(10)解得最優(yōu)解(11)計(jì)算最優(yōu)權(quán)值向量w*和最優(yōu)偏置b*,分別為:(12)因此得到最優(yōu)分類超平面(w*·x)+b*=0,而最優(yōu)分類函數(shù)為:(13)對于線性不可分情況,SVM的主要思想是將輸人向量映射到一個(gè)高維的特征向量空間,并在該特征空間中構(gòu)造最優(yōu)分類面。將x做從輸入空間Rn到特征空間H的變換Φ,得:(14)以特征向量Φ(x)代替輸入向量x,則可以得到最優(yōu)分類函數(shù)為:(15)在上面的對偶問題中,無論是目標(biāo)函數(shù)還是決策函數(shù)都只涉及到訓(xùn)練樣本之間的內(nèi)積運(yùn)算,在高維空間避免了復(fù)雜的高維運(yùn)算而只需要進(jìn)行內(nèi)積運(yùn)算。人工神經(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)。2.3.1人工神經(jīng)網(wǎng)絡(luò)的原理神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是基本處理單元及其互連方法決定的。如圖所示,單個(gè)神經(jīng)元單元由多個(gè)輸入xi,i=1,2,...,n和一個(gè)輸出y組成。圖3-2神經(jīng)元(16)式中,為神經(jīng)元單元的偏置(閾值),wi為連接權(quán)系數(shù),n為輸入信號(hào)數(shù)目,y為神經(jīng)元輸出,f為輸出變換函數(shù),稱為激活函數(shù)。2.3.2反向傳播網(wǎng)絡(luò)(BP)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)比較簡單,且易于編程。前饋網(wǎng)絡(luò)通過簡單非線性單元的復(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ò)反向傳播算法的具體流程如下:(1)對于給定的樣本集,初始化網(wǎng)絡(luò)結(jié)構(gòu)。初始化權(quán)系數(shù),學(xué)習(xí)率η,閾值。(2)根據(jù)樣本集D更新權(quán)系數(shù):(17)(18)(3)計(jì)算,如果結(jié)束訓(xùn)練,并認(rèn)為此時(shí)的為最優(yōu)。否則轉(zhuǎn)第2步繼續(xù)進(jìn)行循環(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ù)(1)學(xué)習(xí)速率學(xué)習(xí)速率直接影響權(quán)系數(shù)調(diào)整時(shí)的步長。學(xué)習(xí)速率過小,導(dǎo)致算法收斂速度緩慢。學(xué)習(xí)速率過大,導(dǎo)致算法不收斂。學(xué)習(xí)速率的典型取值。另外學(xué)習(xí)速率可變。誤差函數(shù)的局部極小值調(diào)整權(quán)系數(shù)的目標(biāo)是使誤差函數(shù)取得最小值。但是,采用梯度下降法(GradientDescentProcedure)不能保證獲得最小值,而只能保證得到一個(gè)極小值。如果訓(xùn)練過程無法使誤差函數(shù)降低到預(yù)期的程度,一種常用的方法是:再一次對權(quán)系數(shù)進(jìn)行隨機(jī)初始化,并重新訓(xùn)練網(wǎng)絡(luò)。(2)學(xué)習(xí)曲線樣本集的劃分:一般情況下,可把已知的樣本集劃分為三個(gè)子集,即訓(xùn)練集、確認(rèn)集、測試集。 訓(xùn)練集:用來調(diào)整權(quán)系數(shù),使誤差函數(shù)盡可能變小。
確認(rèn)集:用來初步驗(yàn)證神經(jīng)網(wǎng)絡(luò)對未來新樣本的分類能力,并據(jù)此確定最佳的權(quán)系數(shù)。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程需要采用訓(xùn)練集及確認(rèn)集共同完成。測試集:在訓(xùn)練過程最終結(jié)束后,再采用測試集對網(wǎng)絡(luò)的分類性能進(jìn)行最后測試,用以評估神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中的實(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)值一般是對稱的。但每個(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,神經(jīng)元i的狀態(tài)為Ui(t),則在t+1時(shí)刻的狀態(tài)為:(19)其中,wij為神經(jīng)元i何j之間的連接權(quán)值,i為第i個(gè)神經(jīng)元的閾值。Hopfield網(wǎng)絡(luò)算法的流程如下:(1)設(shè)置互聯(lián)權(quán)值(20)式中,xis為S類采樣的第i個(gè)分量,可為+1或-1;采樣類別數(shù)為m,節(jié)點(diǎn)數(shù)為(2)對未知類別的采樣初始化yi(0)=xi式中,yi(t)為節(jié)點(diǎn)i在時(shí)刻t的輸出;當(dāng)t=0時(shí),yi(0)就是節(jié)點(diǎn)i的初始值,xi為輸入采樣的第i個(gè)分量,也可為+1或-1。(3)迭代運(yùn)算(21)(4)重復(fù)迭代直至每個(gè)輸出單元不變?yōu)橹?,即Uj(t+1)=Uj(t)
實(shí)驗(yàn)過程與結(jié)果分析3.1實(shí)驗(yàn)環(huán)境Windows10專業(yè)版,64位,CPUi5-3.3GHz,內(nèi)存8GMatlabR2012a3.2實(shí)驗(yàn)數(shù)據(jù)集MNIST數(shù)據(jù)集是一個(gè)被廣泛用于訓(xùn)練各種圖像處理系統(tǒng)的大型手寫數(shù)字?jǐn)?shù)據(jù)庫,同時(shí),該數(shù)據(jù)庫也常用于人工智能、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等領(lǐng)域,對分類、聚類和回歸模型進(jìn)行訓(xùn)練,并測試模型的準(zhǔn)確性。MNIST數(shù)據(jù)集包含60000個(gè)訓(xùn)練樣本和10000個(gè)測試樣本,每個(gè)樣本都是一個(gè)28*28像素的BMP圖片。因?yàn)槊恳粋€(gè)樣本都具有類標(biāo)簽,所以該數(shù)據(jù)集既可以用于有監(jiān)督的學(xué)習(xí)和無監(jiān)督的學(xué)習(xí),并可以使用其類標(biāo)簽來計(jì)算模型的準(zhǔn)確度?,F(xiàn)在,已經(jīng)有許多學(xué)者使用該數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),并試圖使他們的算法在該數(shù)據(jù)集上表現(xiàn)出更低的錯(cuò)誤率。到目前為止,KNN算法、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、決策樹算法已經(jīng)在該數(shù)據(jù)集上真實(shí)實(shí)驗(yàn)過,表現(xiàn)出不同的計(jì)算性能。據(jù)統(tǒng)計(jì),一種基于DropConnect方法的神經(jīng)網(wǎng)絡(luò)在MNIST數(shù)據(jù)集的實(shí)驗(yàn)上能夠達(dá)到0.21%的錯(cuò)誤率,是至今為止分類效果最好的。3.3數(shù)據(jù)預(yù)處理MNIST數(shù)據(jù)集是NIST的一個(gè)子集,一共包含四個(gè)文。MNIST數(shù)據(jù)的原始數(shù)據(jù)為Ubyte文件,上述四個(gè)文件中,train-images,和train-labels用來訓(xùn)練模型,t10k-images和t10k-labels用來評估所訓(xùn)練模型的準(zhǔn)確性。如圖所示,Matlab無法直接處理該數(shù)據(jù)集,因此需要對數(shù)據(jù)集進(jìn)行預(yù)處理。圖3-1MNIST數(shù)據(jù)集的原始文件將Ubyte文件轉(zhuǎn)換成.mat文件的主要過程分為兩步,第一步:將Ubyte文件轉(zhuǎn)換為BMP圖片格式。源代碼如下:%讀取訓(xùn)練圖片數(shù)據(jù)文件[FileName,PathName]=uigetfile('*.*','選擇測試圖片數(shù)據(jù)文件t10k-images.idx3-ubyte');TrainFile=fullfile(PathName,FileName);fid=fopen(TrainFile,'r');a=fread(fid,16,'uint8');MagicNum=((a(1)*256+a(2))*256+a(3))*256+a(4);ImageNum=((a(5)*256+a(6))*256+a(7))*256+a(8);ImageRow=((a(9)*256+a(10))*256+a(11))*256+a(12);ImageCol=((a(13)*256+a(14))*256+a(15))*256+a(16);%提取Ubyte數(shù)據(jù)集的相關(guān)參數(shù)savedirectory=uigetdir('','選擇測試圖片路徑:');h_w=waitbar(0,'請稍候,處理中>>');fori=1:ImageNumb=fread(fid,ImageRow*ImageCol,'uint8');c=reshape(b,[ImageRowImageCol]);d=c';e=255-d;e=uint8(e);savepath=fullfile(savedirectory,['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.mat60000*784TestItem.mat10000*784TrainLable.mat60000*1TestLable.mat10000*1圖3-2預(yù)處理之后的數(shù)據(jù)集3.4決策樹分類實(shí)驗(yàn)3.4.1實(shí)驗(yàn)過程Step1:導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)集load(‘TestItem.mat’);load(‘TestLable.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)練好的決策樹對測試集進(jìn)行分類,并得到分類結(jié)果value_table=round(eval(Tree,TestItem));Step4:將分類得到的數(shù)據(jù)類標(biāo)簽與已知的類標(biāo)簽進(jìn)行比較,畫出預(yù)測類標(biāo)簽與實(shí)際類標(biāo)簽的對比圖,計(jì)算得到?jīng)Q策樹的準(zhǔn)確率。count=0;fori=1:1:10000ifTestLable(i)==value_table(i)count=count+1;endendprecision=count/100003.4.2實(shí)驗(yàn)結(jié)果本實(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),歸一化處理對決策樹的分類效果影響不大。在Step4中畫出的測試集的預(yù)測類標(biāo)簽與實(shí)際類標(biāo)簽的對比圖如圖4-4所示,其中,兩種標(biāo)記為重疊的部分即為預(yù)測失誤的數(shù)據(jù)。圖3-4決策樹預(yù)測類別與實(shí)際類別的對比3.5SVM分類實(shí)驗(yàn)3.5.1實(shí)驗(yàn)過程MatlabR2012a自帶的SVM工具箱只能對數(shù)據(jù)進(jìn)行二分類,實(shí)驗(yàn)結(jié)果并不理想,因此需要預(yù)先加載libSVM工具箱,對SVM的實(shí)驗(yàn)性能進(jìn)行驗(yàn)證。Step1:導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)集load(‘TestItem.mat’);load(‘TestLable.mat’);load(‘TrainItem.mat’);load(‘TrainLable.mat’);Step2:對訓(xùn)練數(shù)據(jù)集及測試數(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)練集及其類標(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)練好的模型對測試集進(jìn)行分類,并得到SVM的準(zhǔn)確率。[PredictLable,Acc,Toss]=svmpredict(testlabel,testdata,model);TestAccuracy=Acc(1);3.5.2實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)開始階段并未對訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集進(jìn)行歸一化處理,使用訓(xùn)練好的SVM模型對測試數(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ù)測類標(biāo)簽的輸出PredictLable表中的數(shù)據(jù)全部為1,即將測試數(shù)據(jù)集的每一個(gè)實(shí)例的類別均預(yù)測為1,恰好是10%的準(zhǔn)確率。因此猜想可能是未對數(shù)據(jù)集進(jìn)行歸一化處理,導(dǎo)致各個(gè)數(shù)據(jù)之間的差距較大,影響了模型的準(zhǔn)確性。對數(shù)據(jù)進(jìn)行歸一化處理后,隨機(jī)抽取不同數(shù)目的訓(xùn)練集數(shù)據(jù)對模型進(jìn)行訓(xùn)練,實(shí)驗(yàn)結(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)確率逐漸升高,對測試數(shù)據(jù)的預(yù)測效果越好,沒有出現(xiàn)過擬合現(xiàn)象。在時(shí)間開銷上,其增長速率要高于準(zhǔn)確率的增長速度,但是在可接受的范圍內(nèi)。3.6人工神經(jīng)網(wǎng)絡(luò)分類實(shí)驗(yàn)3.6.1實(shí)驗(yàn)過程Step1:導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)集。因?yàn)樯窠?jīng)網(wǎng)絡(luò)模型對數(shù)據(jù)進(jìn)行處理時(shí)是以一列為一個(gè)數(shù)據(jù)實(shí)例的。load(‘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按鈕使用訓(xùn)練樣本對神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,訓(xùn)練過程的相關(guān)參數(shù)如下圖:圖3-8模型參數(shù)Step6:模型訓(xùn)練完成之后,點(diǎn)擊Simulate按鈕對測試數(shù)據(jù)集進(jìn)行分類,將分類結(jié)果和實(shí)驗(yàn)誤差輸出。3.6.2實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)過程中,將數(shù)據(jù)集的類標(biāo)簽用兩種形式表示,例如類標(biāo)簽3有兩種表示形式,第一種為10位表示t=[0001000000];第二種為1位表示t=[3],兩種表示形勢下分別進(jìn)行實(shí)驗(yàn),結(jié)果有很大的不同,現(xiàn)將實(shí)驗(yàn)結(jié)果表示如下。(1)類標(biāo)簽表示為10位a.Performance神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中將訓(xùn)練數(shù)據(jù)集分為三部分:訓(xùn)練數(shù)據(jù)集Train,驗(yàn)證數(shù)據(jù)集Validation,測試數(shù)據(jù)集Test。為了防止過擬合現(xiàn)象的發(fā)生,一般將Validation數(shù)據(jù)集分類效果最好時(shí)訓(xùn)練好的模型進(jìn)行輸出,如圖4-9所示,在第153次迭代時(shí),神經(jīng)網(wǎng)絡(luò)模型的效果達(dá)到最好。圖3-9性能b.TrainingState圖3-10顯示了神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程的相關(guān)狀態(tài),在第153次迭代時(shí),神經(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)練下去的話,再利用測試測試集對模型進(jìn)行測試的話,測試數(shù)據(jù)集的誤差將同樣不會(huì)有所改善,甚至?xí)霈F(xiàn)過度擬合的現(xiàn)象。圖3-10訓(xùn)練狀態(tài)c.Regression圖3-11回歸曲線d.PrecisionPrecision=0.9969(2)類標(biāo)簽表示為1位a.Performance圖3-12顯示,當(dāng)使用一位數(shù)據(jù)表示類標(biāo)簽是,在第257次迭代神經(jīng)網(wǎng)絡(luò)模型的效果達(dá)到最好。圖3-12性能b.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)c.Regression圖3-14回歸曲線d.PrecisionPrecision=0.6024
結(jié)論此次實(shí)驗(yàn)利用Matlab工具箱對三種分類算法:決策樹算法、SVM算法和神經(jīng)網(wǎng)絡(luò)算法進(jìn)行實(shí)現(xiàn),通過對MNIST數(shù)據(jù)集進(jìn)行分類,并且使用其真實(shí)數(shù)據(jù)標(biāo)簽與預(yù)測標(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)在分類的準(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)對MNIST數(shù)據(jù)集的分類而言,綜合考慮應(yīng)該選擇神經(jīng)網(wǎng)絡(luò)算法,因?yàn)樵撍惴ǚ诸惖臏?zhǔn)確率幾乎達(dá)到100%,而執(zhí)行速度相對來說不是最慢的,在可接受的范圍內(nèi)。4.2決策樹算法的分析通過分析表4-2所示的決策樹的實(shí)驗(yàn)結(jié)果可知,決策樹分類算法的速度之快是其最顯著的特點(diǎn)。另外,雖然MNIST數(shù)據(jù)集中的數(shù)值分布較為分散,數(shù)值之間的差異較大,但是這對決策樹算法的準(zhǔn)確率并沒有影響,因此可以看出,決策樹算法對于實(shí)驗(yàn)數(shù)據(jù)的分布均勻與否并不敏感。表4-2決策樹算法的實(shí)驗(yàn)結(jié)果準(zhǔn)確率計(jì)算時(shí)間(s)無歸一化處理0.83521
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版消費(fèi)分期合同-利率透明化與利息還款計(jì)劃4篇
- 2025年度5G基站建設(shè)與維護(hù)合同3篇
- 2025年個(gè)人魚塘智能養(yǎng)殖系統(tǒng)研發(fā)與應(yīng)用合同范本2篇
- 二零二五年度泥工班組建筑垃圾資源化利用施工合同4篇
- 二零二五版校園食堂節(jié)能改造與設(shè)備更新合同2篇
- 2025年充電樁充電站投資合作合同范本4篇
- 2025年度電梯門禁系統(tǒng)設(shè)計(jì)與施工合同4篇
- 2025年度水利工程總承包合同范本4篇
- 二零二五年度畜牧養(yǎng)殖行業(yè)數(shù)據(jù)安全保障合同4篇
- 2025年度民用爆破工程爆破作業(yè)安全生產(chǎn)信息化合同4篇
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 2024年度窯爐施工協(xié)議詳例細(xì)則版B版
- 幼兒園籃球課培訓(xùn)
- 【企業(yè)盈利能力探析的國內(nèi)外文獻(xiàn)綜述2400字】
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項(xiàng)訓(xùn)練單選(部分答案)
- 護(hù)理查房高鉀血癥
- 項(xiàng)目監(jiān)理策劃方案匯報(bào)
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
評論
0/150
提交評論