基于MNIST数据集的手写数字识别可以看作是机器学习领域的 “Hello World” 任务。
MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片及对应的标签,图片的大小为28×28,且只包含灰度值信息:
TensorFlow的一些入门知识主要参考了黄文坚所著的那本《TensorFlow实战》以及TensorFlow中文社区,里面已经将的非常详细了,所以就不再赘述。
Softmax Regression 是一个基本的多分类模型,我们用它对手写数字进行分类。当单纯地只使用Softmax Regression时,可以看作是一个没有隐含层的最浅的神经网络。
使用TensorFlow进行Softmax Regression分类的流程为:
- 定义算法公式,也就是神经网络forward时的计算。
- 定义loss,选定优化器,并指定优化器优化loss。
- 迭代地对数据进行训练。
- 在测试集或验证集上对准确率进行评测。
程序运行版本为:python-->3.7.3,tensorflow-->1.13.1
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
# move warning
import os