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各自的准确率

相关文章
|
4月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
245 6
|
2月前
|
机器学习/深度学习 算法 数据可视化
利用SVM(支持向量机)分类算法对鸢尾花数据集进行分类
本文介绍了如何使用支持向量机(SVM)算法对鸢尾花数据集进行分类。作者通过Python的sklearn库加载数据,并利用pandas、matplotlib等工具进行数据分析和可视化。
192 70
|
5月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
221 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
4月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
5月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
5月前
|
算法 Java C++
【贪心算法】算法训练 ALGO-1003 礼物(C/C++)
【贪心算法】算法训练 ALGO-1003 礼物(C/C++)
【贪心算法】算法训练 ALGO-1003 礼物(C/C++)
|
5月前
|
算法 C++
蓝桥 算法训练 共线(C++)
蓝桥 算法训练 共线(C++)
|
7月前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
134 1
|
7月前
|
算法 搜索推荐
支付宝商业化广告算法问题之基于pretrain—>finetune范式的知识迁移中,finetune阶段全参数训练与部分参数训练的效果如何比较
支付宝商业化广告算法问题之基于pretrain—>finetune范式的知识迁移中,finetune阶段全参数训练与部分参数训练的效果如何比较
|
7月前
|
存储 算法
【C算法】编程初学者入门训练140道(1~20)
【C算法】编程初学者入门训练140道(1~20)

热门文章

最新文章