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、总结



数据集下载以及展示

image.png

     在上图中右侧显示了一张数字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 network

training_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

image.png


2、SVM算法


其次,利用SVM算法,我运行出来的准确率是93%左右,具体代码请点击

SVM:利用SVM算法实现手写图片识别(数据集50000张图片)—Jason niu


3、神经网络


最后,利用深度学习之神经网络,我运行出来的准确率是94%左右,具体代码请点击

NN:利用深度学习之神经网络实现手写数字识别(数据集50000张图片)—Jason niu

image.png



1、神经网络进行手写数字图片识别原理


image.png


损失函数

image.png




4、总结


最后,我们发现神经网络和SVM的算法学习质量非常高,而传统的灰度平均值算法则差强人意!


相关文章

DL之NN:利用调用自定义神经网络network.py文件(调用mnist_loader.py文件的load_data_wrapper函数,加载mnist.pkl.gz数据集)实现手写图片识别,准确率94%

Average_Darkness/SVM:手写数字识别(数据集50000张图片训练集)比较Average_Darkness、SVM各自的准确率

相关文章
|
1月前
|
机器学习/深度学习 算法 数据库
KNN和SVM实现对LFW人像图像数据集的分类应用
KNN和SVM实现对LFW人像图像数据集的分类应用
33 0
|
3月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
57 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
1月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的支持向量机(SVM)算法
【2月更文挑战第20天】 在数据科学与人工智能的领域中,支持向量机(SVM)是一种强大的监督学习算法,它基于统计学习理论中的VC维理论和结构风险最小化原理。本文将深入探讨SVM的核心概念、工作原理以及实际应用案例。我们将透过算法的数学原理,揭示如何利用SVM进行有效的数据分类与回归分析,并讨论其在处理非线性问题时的优势。通过本文,读者将对SVM有更深层次的理解,并能够在实践中应用这一算法解决复杂的数据问题。
18 0
|
6天前
|
机器学习/深度学习 数据采集 算法
|
25天前
|
XML 机器学习/深度学习 算法
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
28 1
|
1月前
|
机器学习/深度学习 数据采集 算法
Python基础算法解析:支持向量机(SVM)
Python基础算法解析:支持向量机(SVM)
35 0
Python基础算法解析:支持向量机(SVM)
|
1月前
|
机器学习/深度学习 数据采集 运维
高效处理异常值的算法:One-class SVM模型的自动化方案
高效处理异常值的算法:One-class SVM模型的自动化方案
28 1
|
3月前
|
人工智能 算法 安全
训练数据集污染与模型算法攻击将成为AI新的棘手问题
【1月更文挑战第11天】训练数据集污染与模型算法攻击将成为AI新的棘手问题
66 3
训练数据集污染与模型算法攻击将成为AI新的棘手问题
|
3月前
|
搜索推荐 算法 C++
小朋友的游戏(训练排序算法)
小朋友的游戏(训练排序算法)
15 0
|
4月前
|
机器学习/深度学习 算法
SVM算法、朴素贝叶斯算法讲解及对iris数据集分类实战(附源码)
SVM算法、朴素贝叶斯算法讲解及对iris数据集分类实战(附源码)
40 0