深度学习入门笔记系列 ( 五 )

本文通过使用TensorFlow实现手写数字识别,介绍了MNIST数据集的特性及其在深度学习中的应用。文章详细解释了如何利用MNIST数据集进行训练,并讨论了one-hot向量和Softmax函数在分类任务中的作用。

基于 tensorflow 的手写数字的识别(简单版本)

本系列将分为 8 篇 。本次为第 5 篇 ,结合上一篇的应用实例 ,将前边学到一些基础知识用到手写数字的识别分类上 。

1.关于 MNIST 数据集

首先 ,我们得了解 MNIST 数据集 。这是一个手写数字数据集 ,在深度学习入门学习中极具代表性 。可以从官网下载该数据集 ,但事实上 TensorFlow 中提供了一个类来处理 MNIST 数据 ,这个类会自动下载并转化格式 ,将数据从原始的数据包中解析成训练和测试神经网络时使用的格式 ,具体相关函数在接下来代码中介绍 。
MNIST 数据集被分为训练数据集(60000张手写数字图片)和测试数据集(10000张手写数字图片)。
每一张图片包含 2828 个像素 ,图片里的某个像素的强度值介于0-1之间。例如 ,数字 1 对应一个 2828 像素图片 ,其像素强度如下 :

 

image

我们把这一个数组展开成一个向量 ,长度是 28*28=784 。因此在MNIST训练数据集中 mnist.train.images 是一个形状为 [60000, 784] 的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。

image

2.one-hot 向量和 Softmax 函数

MNIST 数据集标签为 0-9 十个数字 ,我们用 one-hot 向量来表示 。以MNIST 数据集为例 ,one-hot 向量指的是除了某一位数字为 1 ,其他维度都为 0 ,比如数字 1 对应 [0,1,0,0,0,0,0,0,0,0] 。
那么我们就可以得到数据集中对应的标签(labels)是若干个 one-hot 向量组成的矩阵 。以训练集为例 ,是一个 [60000,10] 的数字矩阵 。

转载于:https://my.oschina.net/u/3611008/blog/1923819

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值