Tensorflow | MNIST手写字识别

这篇博客总结了使用Tensorflow理解MNIST手写数字识别案例的过程,包括数据处理、模型建立、训练和评估。通过softmax回归方法,实现了对28x28像素的手写数字图像进行分类,最终在测试数据集上达到了91.23%的准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次对最近学习tensorflow的总结,以理解MNIST手写字识别案例为例来说明

原始的网址:https://www.tensorflow.org/versions/r0.12/tutorials/mnist/beginners/index.html#mnist-for-ml-beginners

0、数据解释

数据为图片,每个图片是28像素*28像素,带有标签,类似于X和Y,X为28像素*28像素的数据,Y为该图片的真实数字,即标签。

1、数据的处理
以一个图片为例
示例:1

先转为上图右方的矩阵,然后将矩阵摊平为1*784的向量,28*28 = 784,这里的X有784个特征。

标签数据为0-9这10个数,为了方便处理,也将数据向量化,例如,3处理为 [0,0,0,1,0,0,0,0,0,0] ,5处理为 [0,0,0,0,1,0,0,0,0,0]

2、数据的读入

用代码来下载数据并读取

#加载tensorflow包 
import tensorflow as tf 
#加载读取函数
from tensorflow.examples.tutorials.mnist import input_data 
#读数据,one_hot表示将矩阵处理为行向量,即28*28 => 1*784
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting MNIST_data/train-images-idx3-ubyte.gz
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Extracting MNIST_data/train-labels-idx1-ubyte.gz
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Extracting MNIST_data/t10k-images-idx3-ubyte.gz
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz

表示下载成功了。

训练数据集有55,000 条,即X为55,000 * 784的矩阵,那么Y为55,000 * 10的矩阵

3、模型
这里采用softmax 回归的方法,下面介绍softmax模型:

我们知道MNIST的每一张图片都表示一个数字,从0到9。我们希望得到给定图片代表每个数字的概率。比如说,我们的模型可能推测一张包含9的图片代表数字9的概率是80%但是判断它是8的概率是5%(因为8和9都有上半部分的小圆),然后给予它代表其他数字的概率更小的值。

这是一个使用softmax回归(softmax regression)模型的经典案例。softmax模型可以用来给不同的对象分配概率。即使在之后,我们训练更加精细的模型时,最后一步也需要用softmax来分配概率。

softmax回归(softmax regression)分两步:第一步

为了得到一张给定图片属于某个特定数字类的证据(evidence),我们对图片像素值进行加权求和。如果这个像素具有很强的证据说明这张图片不属于该类,那么相应的权值为负数,相反如果这个像素拥有有利的证据支持这张图片属于这个类,那么权值是正数。

我们也需要加入一个额外的偏置量(bias),因为输入往往会带有一些无关的干扰量。因此对于给定的输入图片 x 它代表的是数字 i 的证据可以表示为

evidencei=jWi,jxj+b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值