Google开源框架之MNIST入门
本博客基于google开源框架tensorflow所做的笔记,便于以后参考。这段代码放在github中github/hadxu。
- 介绍tensorflow
- 入门MNIST
2015年11月,google公司开源了人工智能框架Tensorflow,发布当天,其github就超过10k的star,可见nb程度。本人抱着学习的心态,入门一下该开源框架的学习,如有不足之处,还望大家评论。
MNIST数据集入门
MNIST是计算机视觉的入门数据集 —— [ MNIST ]
人眼直接看图片直接就可以知道数字为多少,我们的任务就是让计算机能够看懂数字。
MNIST数据集
这里官方提供了一个获取数据的脚本,我将其放在我的github中input_data.py。
那么你就可以像下面的代码一样使用该脚本
import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
这段代码作用将数据集分为训练集和测试集,分别为60000与10000。
Softmax回归介绍
这里我引用极客学院的关于这个回归的介绍:
我们知道MNIST的每一张图片都表示一个数字,从0到9。我们希望得到给定图片代表每个数字的概率。比如说,我们的模型可能推测一张包含9的图片代表数字9的概率是80%但是判断它是8的概率是5%(因为8和9都有上半部分的小圆),然后给予它代表其他数字的概率更小的值。
这是一个使用softmax回归(softmax regression)模型的经典案例。softmax模型可以用来给不同的对象分配概率。即使在之后,我们训练更加精细的模型时,最后一步也需要用softmax来分配概率。
softmax回归(softmax regression)分两步:第一步
为了得到一张给定图片属于某个特定数字类的证据(evidence),我们对图片像素值进行加权求和。如果这个像素具有很强的证据说明这张图片不属于该类,那么相应的权值为负数,相反如果这个像素拥有有利的证据支持这张图片属于这个类,那么权值是正数。
evidencei=∑jWi, jxj