基于CNN卷積神經(jīng)網(wǎng)絡的minst數(shù)據(jù)庫手寫字識別matlab仿真

1.算法描述

深度學習(DL, Deep Learning)是機器學習(ML, Machine Learning)領域中一個新的研究方向澎灸,它被引入機器學習使其更接近于最初的目標——人工智能(AI, Artificial Intelligence)检碗。深度學習是學習樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,這些學習過程中獲得的信息對諸如文字辕近,圖像和聲音等數(shù)據(jù)的解釋有很大的幫助。它的最終目標是讓機器能夠像人一樣具有分析學習能力略号,能夠識別文字摇展、圖像和聲音等數(shù)據(jù)。 深度學習是一個復雜的機器學習算法瓤球,在語音和圖像識別方面取得的效果融欧,遠遠超過先前相關(guān)技術(shù)。深度學習在搜索技術(shù)卦羡,數(shù)據(jù)挖掘噪馏,機器學習,機器翻譯绿饵,自然語言處理欠肾,多媒體學習,語音拟赊,推薦和個性化技術(shù)刺桃,以及其他相關(guān)領域都取得了很多成果。深度學習使機器模仿視聽和思考等人類的活動吸祟,解決了很多復雜的模式識別難題瑟慈,使得人工智能相關(guān)技術(shù)取得了很大進步。


深度學習是一類模式分析方法的統(tǒng)稱欢搜,就具體研究內(nèi)容而言封豪,主要涉及三類方法:

(1)基于卷積運算的神經(jīng)網(wǎng)絡系統(tǒng),即卷積神經(jīng)網(wǎng)絡(CNN)炒瘟。

(2)基于多層神經(jīng)元的自編碼神經(jīng)網(wǎng)絡吹埠,包括自編碼( Auto encoder)以及近年來受到廣泛關(guān)注的稀疏編碼兩類( Sparse Coding)。

(3)以多層自編碼神經(jīng)網(wǎng)絡的方式進行預訓練疮装,進而結(jié)合鑒別信息進一步優(yōu)化神經(jīng)網(wǎng)絡權(quán)值的深度置信網(wǎng)絡(DBN)缘琅。

通過多層處理,逐漸將初始的“低層”特征表示轉(zhuǎn)化為“高層”特征表示后廓推,用“簡單模型”即可完成復雜的分類等學習任務刷袍。由此可將深度學習理解為進行“特征學習”(feature learning)或“表示學習”(representation learning)。

以往在機器學習用于現(xiàn)實任務時樊展,描述樣本的特征通常需由人類專家來設計呻纹,這成為“特征工程”(feature engineering)。眾所周知专缠,特征的好壞對泛化性能有至關(guān)重要的影響雷酪,人類專家設計出好特征也并非易事;特征學習(表征學習)則通過機器學習技術(shù)自身來產(chǎn)生好特征涝婉,這使機器學習向“全自動數(shù)據(jù)分析”又前進了一步哥力。

近年來,研究人員也逐漸將這幾類方法結(jié)合起來,如對原本是以有監(jiān)督學習為基礎的卷積神經(jīng)網(wǎng)絡結(jié)合自編碼神經(jīng)網(wǎng)絡進行無監(jiān)督的預訓練吩跋,進而利用鑒別信息微調(diào)網(wǎng)絡參數(shù)形成的卷積深度置信網(wǎng)絡寞射。與傳統(tǒng)的學習方法相比,深度學習方法預設了更多的模型參數(shù)锌钮,因此模型訓練難度更大桥温,根據(jù)統(tǒng)計學習的一般規(guī)律知道,模型參數(shù)越多轧粟,需要參與訓練的數(shù)據(jù)量也越大策治。



在無監(jiān)督預訓練出現(xiàn)之前,訓練深度神經(jīng)網(wǎng)絡通常非常困難兰吟,而其中一個特例是卷積神經(jīng)網(wǎng)絡通惫。卷積神經(jīng)網(wǎng)絡受視覺系統(tǒng)的結(jié)構(gòu)啟發(fā)而產(chǎn)生。第一個卷積神經(jīng)網(wǎng)絡計算模型是在Fukushima(D的神經(jīng)認知機中提出的混蔼,基于神經(jīng)元之間的局部連接和分層組織圖像轉(zhuǎn)換履腋,將有相同參數(shù)的神經(jīng)元應用于前一層神經(jīng)網(wǎng)絡的不同位置,得到一種平移不變神經(jīng)網(wǎng)絡結(jié)構(gòu)形式惭嚣。后來遵湖,Le Cun等人在該思想的基礎上,用誤差梯度設計并訓練卷積神經(jīng)網(wǎng)絡晚吞,在一些模式識別任務上得到優(yōu)越的性能延旧。至今,基于卷積神經(jīng)網(wǎng)絡的模式識別系統(tǒng)是最好的實現(xiàn)系統(tǒng)之一槽地,尤其在手寫體字符識別任務上表現(xiàn)出非凡的性能迁沫。

————————————————


MNIST是在機器學習領域中的一個經(jīng)典問題。該問題解決的是把28x28像素的灰度手寫數(shù)字圖片識別為相應的數(shù)字捌蚊,其中數(shù)字的范圍從0到9.下載后得到四個文件:


train-images-idx3-ubyte.gz集畅,訓練集,共 60,000 幅(28*28)的圖像數(shù)據(jù)缅糟;

train-labels-idx1-ubyte.gz挺智,訓練集的標簽信息(取值為 0-9),60,000*1

t10k-images-idx3-ubyte.gz窗宦,測試集(t: test, 10k: 10,000)赦颇,共 10,000 副(28*28)的圖像數(shù)據(jù)

t10k-labels-idx1-ubyte.gz,測試集的標簽呢信息(取值為 0-9)赴涵,10,000*1


2.仿真效果預覽

matlab2022a仿真結(jié)果如下:



3.MATLAB核心程序

load mnist_uint8;

%該模型采用的數(shù)據(jù)為mnist_uint8.mat沐扳,?

%含有70000個手寫數(shù)字樣本其中60000作為訓練樣本,10000作為測試樣本句占。?把數(shù)據(jù)轉(zhuǎn)成相應的格式,并歸一化躯嫉。

train_x = double(reshape(train_x',28,28,60000))/255;

test_x = double(reshape(test_x',28,28,10000))/255;

train_y = double(train_y');

test_y = double(test_y');


%% ex1 Train a 6c-2s-12c-2s Convolutional neural network

%will run 1 epoch in about 200 second and get around 11% error.

%With 100 epochs you'll get around 1.2% error

%設置網(wǎng)絡結(jié)構(gòu)及訓練參數(shù)

rand('state',0)

cnn.layers = {

struct('type', 'i') %input layer

struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer

struct('type', 's', 'scale', 2) %sub sampling layer

struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer

struct('type', 's', 'scale', 2) %subsampling layer

};

%訓練選項纱烘,alpha學習率(不用)杨拐,batchsize批訓練中樣本的數(shù)量,numepochs迭代次數(shù)擂啥。

opts.alpha = 1;

opts.batchsize = 50;

opts.numepochs = 5;

%初始化網(wǎng)絡哄陶,對數(shù)據(jù)進行批訓練,驗證模型準確率

cnn = cnnsetup(cnn, train_x, train_y);

cnn = cnntrain(cnn, train_x, train_y, opts);

[er, bad] = cnntest(cnn, test_x, test_y)

1-er

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哺壶,一起剝皮案震驚了整個濱河市屋吨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌山宾,老刑警劉巖至扰,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異资锰,居然都是意外死亡敢课,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門绷杜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來直秆,“玉大人,你說我怎么就攤上這事鞭盟』幔” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵齿诉,是天一觀的道長筝野。 經(jīng)常有香客問我,道長鹃两,這世上最難降的妖魔是什么遗座? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮俊扳,結(jié)果婚禮上途蒋,老公的妹妹穿的比我還像新娘。我一直安慰自己馋记,他們只是感情好号坡,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梯醒,像睡著了一般宽堆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茸习,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天畜隶,我揣著相機與錄音,去河邊找鬼。 笑死籽慢,一個胖子當著我的面吹牛浸遗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播箱亿,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼跛锌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了届惋?” 一聲冷哼從身側(cè)響起髓帽,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脑豹,沒想到半個月后郑藏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡晨缴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年译秦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片击碗。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡筑悴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稍途,到底是詐尸還是另有隱情阁吝,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布械拍,位于F島的核電站突勇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坷虑。R本人自食惡果不足惜甲馋,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迄损。 院中可真熱鬧定躏,春花似錦、人聲如沸芹敌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氏捞。三九已至碧聪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間液茎,已是汗流浹背逞姿。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工辞嗡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人滞造。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓欲间,卻偏偏與公主長得像,于是被迫代替她去往敵國和親断部。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容