MNIST数据集
MNIST是一个入门级的计算机视觉数据集。它包含各种手写数字图片,在TensorFlow的mnist这个demo就是是通过Softmax Regression模型来训练预测mnist数据集。
TensorFlow的Tutorial里提供了一份python源代码用于自动下载和安装MNIST数据集。
from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets
mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)
下载后的数据集就存放在制定的data_dir下面。
每一个MNIST单元都有两部分组成,一张手写图片和一个对应的标签,可以把图片设为xs,标签设为ys,可以通过mnist.test.images,mnist.test.labels分别得到图片和标签。数据集中的图片其实讲图片的像素点放到了一个行向量中,每一个图片都是28*28=784个像素,则行向量有784维。,标签lable是10维的向量。如果label是1,那标签向量就为{0,1,0,0,0,0,0,0,0,0,0}。
SoftMax Regression分类器模型
Softmax模型可以用来给不同对象分配概率。不管多复杂的分类器模型,例如卷积神经网络,循环神经网络,一般最后一步都需要用Softmax来分配概率。
对于一个输入图片属于数字i的证据可以表示为:
evidencei=∑jWi,jxj+bi
其中 Wi表示权重,bi表示数字属于i类的偏置量,j代表给定