专栏名称: HULK一线技术杂谈
HULK是360的私有云平台,丰富的一线实战经验,为你带来最有料的技术分享
目录
相关文章推荐
铅笔道  ·  重磅!广州首个智能体加速器落成 ·  昨天  
创伙伴  ·  创伙伴知识星球内容最新更新... ·  2 天前  
半岛都市报  ·  夏季睡觉务必调整一下 ·  2 天前  
半岛都市报  ·  夏季睡觉务必调整一下 ·  2 天前  
51好读  ›  专栏  ›  HULK一线技术杂谈

用TensorFlow轻松识别手写数字

HULK一线技术杂谈  · 公众号  ·  · 2017-06-20 18:38

正文

请到「今天看啥」查看全文


大家知道,电脑识别图片是从最基本的单元--像素开始的,为了将上面的手写数字转换成电脑能够识别的信号,我们引入灰度概念,将28*28个像素点转换成灰度值(0到1区间内的一个值)。下图是将标签为1的图片转换成28乘以28的矩阵。

数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。同时,训练的数据将是一个55000*10的张量,第一个维度数字用来索引图片,第二个维度是label的向量。比如数字0,对应的label就是[1,0,0,0,0,0,0,0,0,0]。

这篇文章的主要任务是建立一个模型,能够识别手写的数字图片,得到0~9之间的值,即进行分类。目前实现MNIST模型有很多种,有的准确率超过90%以上,但是我们需要从最简单的Softmax Regression来开始。

Softmax Regression模型

使用模型:Softmax Regression介绍

我们知道MNIST的每一张图片都表示一个数字,从0到9。我们希望得到给定图片代表每个数字的概率。比如说,我们的模型可能推测一张包含9的图片代表数字9的概率是80%但是判断它是其他数字的概率比80%的概率要低。softmax模型可以用来给不同的对象分配概率,即使在之后,我们训练更加精细的模型时,最后一步也需要用softmax来分配概率。

Softmax Regression的工作原理很简单,将特征相加,然后将这些特征转化为判定是这类的概率。比如,某个像素的灰度值大代表很可能是数字n时,这个像素的权值就会很大;相反,如果不太可能是n,则权重有可能是负数。

我们可以将这些特征写出如下的公式,i代表第i类(0到9的值),j代表一张图片的第j个像素,bi是一个误差项。

得到所有像素的和以后,我们用softmax函数可以把这些证据转换成概率y。







请到「今天看啥」查看全文