MNIST 数字识别之softmax

本文介绍了如何在TensorFlow中使用Softmax回归算法进行MNIST数字识别。内容包括获取和解析数据集、定义算法公式、选择损失函数(交叉熵)、选择优化算法(随机梯度下降)以及进行迭代训练。最终在测试集上获得91.7%的识别准确率。
摘要由CSDN通过智能技术生成

这篇文章介绍tensorflow里面一个简单的机器学习算法 Softmax Regression,如果知道神经网络概念,可以把它当作是一个没有隐含层的、最浅的神经网络。基于softmax实现数字识别这里分四个部分来实现。tensorflow越来越强大,盖过了其他同类项目,迟早像android一样风靡全球,应用各种行业。

一、定义算法公式。

1.先获取数据集并查看数据集情况

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/dataset",one_hot=True)

通过上面代码获取数据集,

数据集共包含四个IDX格式文件,IDX格式是一种用来存储向量与多维度矩阵的文件格式:

  • train-images-idx3-ubyte.gz: 训练集图片 - 55000 个 训练样本, 验证集有5000 个样本
  • train-labels-idx1-ubyte.gz: 训练集图片对应的数字标签
  • t10k-images-idx3-ubyte.gz: 测试集图片 - 10000 个样本
  • t10k-labels-idx1-ubyte.gz: 测试集图片对应的数字标签
    每个集合包含图片和标签两部分内容,图片为28*28点阵图;标签为0-9之间数字。
    这些文件本身并没有使用标准的图片格式储存。使用时需要进行解压和重构。

每个样本图片是28像素*28像素大小的灰度图片,如下图;这里定空白部分全部为0,有笔迹部分根据颜色深浅可以在(0,1]之间取值,不过这个是一个简单的神经网络,有笔迹部分全部点为1。图片是二维图片,把它转变成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值