DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness、SVM、NN各自的准确率
DL之NN/Average_Darkness/SVM:手寫數字圖片識別(本地數據集50000訓練集+數據集加4倍)比較3種算法Average_Darkness、SVM、NN各自的準確率
?
?
目錄
?數據集下載以及展示
代碼實現
設計思路及代碼
1、圖片灰度平均值識別分類
2、SVM算法
3、神經網絡
4、總結
?
?數據集下載以及展示
?
? ? ? 在上圖中右側顯示了一張數字1的圖片,而右側顯示了這個圖片所對應的像素矩陣,MNIST數據集提供了4個下載文件。
? ? ? 對手寫數據集50000張圖片實現阿拉伯數字0~9識別,并且對結果進行分析準確率。從這個頁面獲得的手寫數字的MNIST數據庫具有60000個示例,包括50000張圖片訓練集和10000張圖片測試集。它是從NIST獲得的更大集合的子集。數字已被規格化,并以固定大小的圖像為中心。
? ? ?手寫數字識別也是比較常見的例子了,這個數據集包含有60000張用于訓練的手寫數字的圖片,10000張用于測試的圖片,所有圖片的尺寸都已經被標準化了,并且,尺寸為2828.每個像素值0~1區間內的值,其中0代表白色,1代表黑色,區間內的值表示灰色。為了簡化,每張圖片已經被轉換成一個 1728的一維數組,表示784個特征(28'28)。?
手寫數字數據集下載:http://yann.lecun.com/exdb/mnist/
代碼實現
#查看手寫數字圖片數據集的大小等參數 import mnist_loader import networktraining_data, validation_data, test_data = mnist_loader.load_data_wrapper() #調用mnist_loader文件的load_data_wrapper函數,加載data/mnist.pkl.gz數據集 print("training_data") print(type(training_data)) print(list(training_data)) #list print(len(training_data)) #長度 print(training_data[0][0].shape) #x的維度784 print(training_data[0][1].shape) #y的維度10?
設計思路及代碼
1、圖片灰度平均值識別分類
首先,利用圖片本身的屬性,圖片的灰度平均值進行識別分類,我運行出來的準確率是22%左右
利用圖片的灰度平均值來進行分類實現手寫圖片識別(數據集50000張圖片)——Jason niu
?
2、SVM算法
其次,利用SVM算法,我運行出來的準確率是93%左右,具體代碼請點擊
SVM:利用SVM算法實現手寫圖片識別(數據集50000張圖片)—Jason niu?
?
3、神經網絡
最后,利用深度學習之神經網絡,我運行出來的準確率是94%左右,具體代碼請點擊
NN:利用深度學習之神經網絡實現手寫數字識別(數據集50000張圖片)—Jason niu
1、神經網絡進行手寫數字圖片識別原理
損失函數
?
?
?
?
4、總結
最后,我們發現神經網絡和SVM的算法學習質量非常高,而傳統的灰度平均值算法則差強人意!
相關文章
DL之NN:利用調用自定義神經網絡network.py文件(調用mnist_loader.py文件的load_data_wrapper函數,加載mnist.pkl.gz數據集)實現手寫圖片識別,準確率94%
Average_Darkness/SVM:手寫數字識別(數據集50000張圖片訓練集)比較Average_Darkness、SVM各自的準確率
?
?
總結
以上是生活随笔為你收集整理的DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness、SVM、NN各自的准确率的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成功解决AttributeError:
- 下一篇: DL之NN:NN算法(本地数据集5000