-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
基于svm的手寫數(shù)字識別(基于svm的手寫數(shù)字識別是一對一還是一對多)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于基于svm的手寫數(shù)字識別的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、圖像識別 | 基于Keras的手寫數(shù)字識別(含代碼)
前沿
人工智能的浪潮已經(jīng)席卷全球,深度學(xué)習(xí)(Deep Learning)和人工智能(Artificial Intelligence, AI)等詞匯也不斷地充斥在我們身邊。人工智能的發(fā)展是一個三起兩落的變化,90年代期間,知識推理>神經(jīng)網(wǎng)絡(luò)>機(jī)器學(xué)習(xí);2005年左右,機(jī)器學(xué)習(xí)>知識(語義網(wǎng))>神經(jīng)網(wǎng)絡(luò);而從2017年之后,基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)>知識(知識圖譜)>機(jī)器學(xué)習(xí)。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)作為深度學(xué)習(xí)中的代表,最早的靈感是來源于1961年Hubel和Wiesel兩位神經(jīng)生物學(xué)家,在對貓視覺皮層細(xì)胞的實驗中,發(fā)現(xiàn)大腦可視皮層是分層的(CNN中的分層網(wǎng)絡(luò)結(jié)構(gòu)與其如出一轍)。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)(ML)的一個子領(lǐng)域,由于計算機(jī)能力的提高和大量數(shù)據(jù)的可用性,得到了戲劇性的復(fù)蘇。但是,深度學(xué)習(xí)是否能等同或代表人工智能,這一點筆者認(rèn)為有待商榷,深度學(xué)習(xí)可以認(rèn)為是目前人工智能發(fā)展階段的重要技術(shù)。由于本文主要撰寫關(guān)于深度學(xué)習(xí)的入門實戰(zhàn),關(guān)于細(xì)節(jié)概念不做深入研究,下面筆者從實際案例,介紹深度學(xué)習(xí)處理圖像的大致流程。
目錄:
以手寫識別數(shù)字為例,作為深度學(xué)習(xí)的入門項目,本文以Keras深度學(xué)習(xí)庫為基礎(chǔ)。其中使用的tensorflow等模塊需要提前配置好,同時注意模型,圖片保存、載入的文件路徑問題。在自己的計算機(jī)上運行時,需要創(chuàng)建或修改。下面的流程包括:使用Keras載入MNIST數(shù)據(jù)集,構(gòu)建Lenet訓(xùn)練網(wǎng)絡(luò)模型,使用Keras進(jìn)行模型的保存、載入,使用Keras實現(xiàn)對手寫數(shù)字?jǐn)?shù)據(jù)集的訓(xùn)練和預(yù)測,最后畫出誤差迭代圖。
手寫數(shù)字?jǐn)?shù)據(jù)集介紹:
手寫數(shù)字識別幾乎是深度學(xué)習(xí)的入門數(shù)據(jù)集了。在keras中內(nèi)置了MNIST數(shù)據(jù)集,其中測試集包含60000條數(shù)據(jù),驗證集包含10000條數(shù)據(jù),為單通道的灰度圖片,每張圖片的像素大小為28 28.一共包含10個類別,為數(shù)字0到9。
導(dǎo)入相關(guān)模塊:
載入MNIST數(shù)據(jù)集
Keras可實現(xiàn)多種神經(jīng)網(wǎng)絡(luò)模型,并可以加載多種數(shù)據(jù)集來評價模型的效果,下面我們使用代碼自動加載MNIST數(shù)據(jù)集。
顯示MNIST訓(xùn)練數(shù)據(jù)集中的前面6張圖片:
數(shù)據(jù)的預(yù)處理
首先,將數(shù)據(jù)轉(zhuǎn)換為4維向量[samples][width][height][pixels],以便于后面模型的輸入
為了使模型訓(xùn)練效果更好,通常需要對圖像進(jìn)行歸一化處理
最后,原始MNIST數(shù)據(jù)集的數(shù)據(jù)標(biāo)簽是0-9,通常要將其表示成one-hot向量。如訓(xùn)練數(shù)據(jù)標(biāo)簽為1,則將其轉(zhuǎn)化為向量[0,1,0,0,0,0,0,0,0,0]
模型的建立與計算
訓(xùn)練模型的參數(shù)設(shè)置:
本文使用Lenet網(wǎng)絡(luò)架構(gòu),下面定義Lenet網(wǎng)絡(luò)結(jié)構(gòu),若要更改網(wǎng)絡(luò)結(jié)構(gòu),如用VGGNet,GoogleNet,Inception,ResNets或自己構(gòu)建不同的網(wǎng)絡(luò)結(jié)構(gòu),可以直接在這一塊函數(shù)內(nèi)進(jìn)行修改。
再附上兩個經(jīng)典的模型:
VGG16:
GoogleNet:
設(shè)置優(yōu)化方法,loss函數(shù),并編譯模型:
本文使用生成器以節(jié)約內(nèi)存:
結(jié)果分析
作出訓(xùn)練階段的損失、精確度迭代圖,本文將epoch設(shè)置為10,已達(dá)到0.98的準(zhǔn)確率(代碼、圖像如下所示)。
公眾號:帕帕 科技 喵
歡迎關(guān)注與討論~
二、(2012, AlexNet) ImageNet Classification with Deep Convolutional Neural Networks
上一篇文章中的LeNet-5是第一個廣為人知的經(jīng)典CNN網(wǎng)絡(luò),但那是20年前提出的CNN網(wǎng)絡(luò),最成功的案例是解決了手寫數(shù)字識別的問題,當(dāng)時被廣泛應(yīng)用于郵局/銀行的手寫郵編/支票數(shù)字自動識別系統(tǒng)。但直到2012年之前,在這14年間,CNN網(wǎng)絡(luò)在圖像識別領(lǐng)域的地位逐漸被其他分類模型如SVM取代。其中主要的原因有(事后諸葛亮......):
經(jīng)過十幾年的發(fā)展,以上制約CNN網(wǎng)絡(luò)發(fā)展的主要限制因素一個個被解決,結(jié)果在2012年的ImageNet競賽中,繼LeNet-5之后的第二個經(jīng)典CNN網(wǎng)絡(luò)—AlexNet橫空出世。以超出第二名10%以上的top-5準(zhǔn)確率,勇奪ImageNet2012分類比賽的冠軍,從此, 深度學(xué)習(xí) 重新回到人們的視野,并一發(fā)不可收拾。
下面從一些直觀的數(shù)據(jù)比較1998年的LeNet-5和2012年的AlexNet的區(qū)別:
AlexNet網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
論文中由于使用了2塊GPU,將網(wǎng)絡(luò)結(jié)構(gòu)布置成了上下兩部分,看著很不方便,上圖是在網(wǎng)上找的簡易版本。
下面總結(jié)AlexNet的主要特點:
3.1. 使引入Relu激活函數(shù)減輕深度網(wǎng)絡(luò)難以訓(xùn)練的問題
關(guān)于CNN網(wǎng)絡(luò)的激活函數(shù)的討論,SigAI公眾號這篇文章總結(jié)的挺好:
另外,下面這篇論文對深度網(wǎng)絡(luò)難以訓(xùn)練的問題進(jìn)行了分析:
之前的CNN網(wǎng)絡(luò),包括前面著名的LeNet-5,都使用tanh/Sigmoid作為激活函數(shù),這類激活函數(shù)具有飽和性,在訓(xùn)練深層網(wǎng)絡(luò)時會造成梯度消失問題,而AlexNet引入了非飽和的Relu激活函數(shù),有效地緩解了梯度消失問題。
3.2. 解決深度網(wǎng)絡(luò)的過擬合問題
一方面,近幾年來,人們越來越意識到構(gòu)建龐大的數(shù)據(jù)集的重要性,于是出現(xiàn)了像ImageNet這樣超過1500萬張標(biāo)注圖片,2200多種類別的數(shù)據(jù)集,ILSVRC2012中,AlexNet使用了150萬張圖片的龐大訓(xùn)練集,使得擁有6000萬個參數(shù)的AlexNet也沒出現(xiàn)嚴(yán)重過擬合問題;
另外,AlexNet在訓(xùn)練時使用了數(shù)據(jù)增強(qiáng)(data augmentation)策略,相當(dāng)于進(jìn)一步擴(kuò)大了訓(xùn)練數(shù)據(jù)集;
最后,AlexNet在全連接層部分引入了一個dropout層,同樣能有效防止模型出現(xiàn)過擬合。
3.3. 計算能力問題
盡管AlexNet的模型復(fù)雜度很大,但其利用了英偉達(dá)GPU強(qiáng)大的計算能力,在GPU面前,模型復(fù)雜度不是問題。
從模型的設(shè)計思路來看,其實AlexNet遵循了LeNet-5的思想,即使用交替的卷積層和池化層用于提取圖像的高級語義特征,同時降低特征尺寸。然后使用全連接層/MLP作為分類層。
但是,在細(xì)節(jié)部分,ALexNet引入了很多新的元素,用于解決以上提到的CNN網(wǎng)絡(luò)遇到的諸多問題,使得CNN網(wǎng)絡(luò)開始重新散發(fā)光芒。
三、車上svm是什么意思
SVM(360度全景影像)。
用SVM在線比對可以恢復(fù)車輛電腦的編碼等數(shù)據(jù),再比如要更換某些電腦,備件定會來裝上是沒法直接使用的需要編碼,而有SVM在線比對后就不用修理工選擇編碼直接一比對原車的編碼就編上了。
SVM是一種基于統(tǒng)計學(xué)習(xí)理論的模式識別方法,主要應(yīng)用于模式識別領(lǐng)域.由于當(dāng)時這些研究尚不十分完善,在解決模式識別問題中往往趨于保守,且數(shù)學(xué)上比較艱澀,因此這些研究一直沒有得到充的重視。
直到90年代:
一個較完善的理論體系—統(tǒng)計學(xué)習(xí)理論( StatisticalLearningTheory,簡稱SLT)的實現(xiàn)和由于神經(jīng)網(wǎng)絡(luò)等較新興的機(jī)器學(xué)習(xí)方法的研究遇到一些重要的困難,比如如何確定網(wǎng)絡(luò)結(jié)構(gòu)的問題、過學(xué)習(xí)與欠學(xué)習(xí)問題、局部極小點問題等,使得SVM迅速發(fā)展和完善,在解決小樣本、非線性及高維模式識別問題中表現(xiàn)出許多特有的優(yōu)勢。
并能夠推廣應(yīng)用到函數(shù)擬合等其他機(jī)器學(xué)習(xí)問題中.從此迅速的發(fā)展起來,現(xiàn)在已經(jīng)在許多領(lǐng)域(生物信息學(xué),文本和手寫識別等)都取得了成功的應(yīng)用。
SVM的關(guān)鍵在于核函數(shù),這也是最喜人的地方。低維空間向量集通常難于劃分,解決的方法是將它們映射到高維空間。但這個辦法帶來的困難就是計算復(fù)雜度的增加,而核函數(shù)正好巧妙地解決了這個問題。也就是說,只要選用適當(dāng)?shù)暮撕瘮?shù),我們就可以得到高維空間的分類函數(shù)。
四、matlab的數(shù)字差異和結(jié)合原理
基于MATLAB的數(shù)字識別
計算機(jī)與信息工程學(xué)院 本科生畢業(yè)論文 基于BP神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別算法的設(shè)計與實現(xiàn) 班 級: 13漢班 學(xué) 號: 姓 名: 江曉雪 指導(dǎo)教師: 李艷玲 2017 年 3 月 31 日 畢 業(yè) 論 文 目 錄 1 緒論1 1.1 圖像識別的提出1 1.2 圖像識別的現(xiàn)狀與發(fā)展趨勢1 2 BP神經(jīng)網(wǎng)絡(luò)的概述2 3 手寫體數(shù)字識別的實現(xiàn)過程4 3.1 整體線路圖4 3.2 算法流程5 3.3 圖像預(yù)處理10 3.4 結(jié)果分析10 4 結(jié)論11 參考文獻(xiàn)12 全文共 13 頁 4834 字 基于BP神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別算法的設(shè)計與實現(xiàn) 計算機(jī)與信息工程學(xué)院 2013級漢班 江曉雪 指導(dǎo)教師 李艷玲 副教授 摘要 本文實現(xiàn)了基于MATLAB關(guān)于神經(jīng)網(wǎng)絡(luò)的手寫數(shù)字識別算法的設(shè)計過程,采用神經(jīng)網(wǎng)絡(luò)中反向傳播神經(jīng)網(wǎng)絡(luò)(即BP神經(jīng)網(wǎng)絡(luò))對手寫數(shù)字的識別,由MATLAB對圖片進(jìn)行讀入、灰度化以及二值化等處理,通過神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測試。實驗證明:該神經(jīng)網(wǎng)絡(luò)對手寫數(shù)字的識別可以達(dá)到95.65%。 關(guān)鍵詞 手寫數(shù)字識別;BP神經(jīng)網(wǎng)絡(luò);MATLAB語言 1 緒論 1.1 圖像識別的提出 圖像識別在信息技術(shù)發(fā)達(dá)的今天已經(jīng)占據(jù)了很重要的地位,在我們實際生活中也有很多應(yīng)用。所謂的圖像識別,就是指通過計算機(jī)對圖像進(jìn)行相應(yīng)的處理、分析,來達(dá)到識別不同模型的目標(biāo)和任務(wù)的一種技術(shù)。對于它的提出,簡單的來說,它的發(fā)展經(jīng)歷了三個階段:第一個是文字識別 、第二個是數(shù)字圖像處理與識別、第三個是物體識別。第一種相對來說比較簡單,它的研究是從1950年開始的,一般情況是識別字母、符號和數(shù)字,無論是印刷體識別還是手寫體識別,它的應(yīng)用都非常廣泛,但是也伴隨著,這個識別的過程會更加的耗時、費力,無論是人力還是物力,都會有很大的損失;第二種就是我們所說的數(shù)字圖像處理與識別,在圖片的識別過程中,圖片識別會有一定的誤差,也會帶來小小的麻煩;第三就是物體識別,而物體的識別主要指的是:在三維世界中,對于個體、環(huán)境的感知和認(rèn)識進(jìn)行識別,這不同于二維世界的認(rèn)知,相對來說是更高級的計算機(jī)圖像識別,它是以二維世界中對數(shù)字圖像和模擬圖像處理的辦法為依據(jù),進(jìn)行更高一級的,并且結(jié)合了現(xiàn)代人工智能技術(shù)等學(xué)科的研究目標(biāo),研究成果已經(jīng)被廣泛的應(yīng)用在各種工業(yè)探測機(jī)器人上,為人們的安全提供了很大的幫助。 1.2 圖像識別的現(xiàn)狀與發(fā)展趨勢 隨著網(wǎng)絡(luò)的發(fā)達(dá)、電子的信息化,圖像識別的應(yīng)用已經(jīng)非常廣泛,而主要的研究工作也包括各行各業(yè),整理以下幾點對其應(yīng)用的廣泛度進(jìn)行說明: ⒈在生物學(xué)中,對生物的原型進(jìn)行研究。從生物的腦細(xì)胞結(jié)構(gòu)、物體解剖等其他科學(xué)研究的方向?qū)ι锏捏w系結(jié)構(gòu)、神經(jīng)結(jié)構(gòu)、神經(jīng)細(xì)胞組織等生物的原型結(jié)構(gòu)及其功能機(jī)理進(jìn)行研究,增強(qiáng)對生物學(xué)更加全面的理解。 ⒉在實際應(yīng)用中,建立我們需要的理論模型。根據(jù)需要應(yīng)用的信息在生物學(xué)中的應(yīng)用,建立需要的生物原型,也可以建立類似神經(jīng)元、神經(jīng)網(wǎng)絡(luò)這樣不可見的理論模型,以便可以讓其更加有效的應(yīng)用在生活中。建立我們生活中不能直觀表現(xiàn)的事物模型,以便我們可以更方便的、更直觀的理解事物的本質(zhì)。 ⒊在信息時代中,建立網(wǎng)絡(luò)模型以及算法研究。就是通過上面所說的,建立相應(yīng)的理論模型,在這個基礎(chǔ)上加以理解,建立我們所需要的網(wǎng)絡(luò)模型,實現(xiàn)計算機(jī)應(yīng)用,主要應(yīng)用在網(wǎng)絡(luò)學(xué)習(xí)算法的研究,這方面的研究工作也被人們稱為技術(shù)模型研究。 ⒋信息時代的發(fā)展,讓我們在生活中有很多的應(yīng)用,例如:完成某種函數(shù)圖像的繪制以及對其變化的形式進(jìn)行分析、對圖片信號的處理、模式識別等功能,建立需要的應(yīng)用系統(tǒng)、制造機(jī)器人等等。 通過上面的說明,也就是說從開始根據(jù)生物學(xué)原理的應(yīng)用,直到建立需要的神經(jīng)網(wǎng)絡(luò)模型,最后應(yīng)用到圖像識別當(dāng)中,可以看出其模型的建立是在生活中實例的基礎(chǔ)上,其可靠性和準(zhǔn)確性是顯而易見的,這樣就大大的增加了可信度,與此同時,也減少了工作中不必要的麻煩與困擾。而在網(wǎng)絡(luò)信息發(fā)達(dá)的今天,人類在基本粒子、宇宙空間、生命起源等科學(xué)領(lǐng)域方面都已經(jīng)顯現(xiàn)出很高的興趣度,而這其中難免會有圖像提取后的處理工作,所以圖像識別的應(yīng)用就會越來越廣泛。 2 BP神經(jīng)網(wǎng)絡(luò)的概述 反向傳播(Back-Propagation,BP)學(xué)習(xí)算法簡稱BP算法,采用BP算法的前饋型神經(jīng)網(wǎng)絡(luò)簡稱BP網(wǎng)絡(luò)。BP網(wǎng)絡(luò)是多層感知器的一種,它具備多層感知器的特點,同時也有自己的特點。多層感知器包括輸入層、隱藏層、輸出層,其中隱藏層可以有多個,而我們BP網(wǎng)絡(luò)中隱藏層只有一個,其簡單構(gòu)造如圖所示: 圖1 多層感知器結(jié)構(gòu)圖 而我們用到的BP網(wǎng)絡(luò)中的具體信號流如圖所示,它有一個反向傳播的過程,這也是對傳播進(jìn)行調(diào)整,使精確度更高的一種辦法。如圖所示,其中有兩種信號流通: 圖2 多層感知器的信號流 第一:函數(shù)信號 簡單來說就是信號進(jìn)入輸入層,然后通過隱藏層到達(dá)輸入層,通過輸出層輸出所得值,就可以完成一個函數(shù)信號。 第二:誤差信號 誤差信號就是在逆向的傳播的過程中傳輸?shù)男盘?。其中,有兩個重要參數(shù)。一個是函數(shù)信號即sigmoid函數(shù),還有一個就是權(quán)值的梯度運算即梯度向量。(注:sigmoid函數(shù)、權(quán)重的修正函數(shù),如圖所示。) (1) (2) 通過對兩個參數(shù)的調(diào)整,完成整個算法的應(yīng)用。 3 手寫體數(shù)字識別的實現(xiàn)過程 3.1 整體線路圖 整體流程圖如圖3所示: 圖像測試 損失函數(shù)的設(shè)計與應(yīng)用 可視化測試數(shù)據(jù) 神經(jīng)網(wǎng)絡(luò)的設(shè)計與訓(xùn)練 sigmoid函數(shù) 圖3 整體流程圖 部分文件調(diào)用流程圖如圖4所示: sigmoid checkNNGradients nnCostFunction 第八部分:實現(xiàn)正規(guī)化 第八部分:訓(xùn)練NN fmincg nnCostFunction sigmoidGradient sigmoid nnCostFunction sigmoidGradient randInitializeWeights checkNNGradients debugInitializeWeights nnCostFunction computeNumericalGradient 第五部分:sigmoid函數(shù) 第六部分:初始化參數(shù) 第七部分:實現(xiàn)反向傳播 第三部分:前饋網(wǎng)絡(luò) 第四部分:前饋正規(guī)化 圖4 整體流程圖 3.2 算法流程
以上就是關(guān)于基于svm的手寫數(shù)字識別相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
基于自然的景觀設(shè)計(基于自然的景觀設(shè)計作品)
基于味覺的景觀設(shè)計手法(基于味覺的景觀設(shè)計手法是什么)
谷歌端對端的翻譯是基于大數(shù)據(jù)(谷歌端對端的翻譯是基于大數(shù)據(jù)翻譯嗎)
二建考試時間2023報名時間(二建考試時間2023考試時間)