TensorFlow实例 3 ---MNIST机器学习入门

经过几天的学习,tensorflow 终于迈近一步了, minist 传说中的 tensorflow hello world。本人也是程序员出身,学过c++ 、c 等语言相对于这些语言,本人 认为 tensorflow 主要的难点是数学,因为毕业几年后大学数学早已还给老师了。

先上一个简单的 y=wx+b  例子

然后说下minist 入门几个要点

1 归一化函数 softmax

假设一个数组z,softmax  意思是z 中的元素的指数 与指数和 的比,并且所有比值之和 等于1

2 argmax   获取1 所在的索引

3. 交叉熵损失函数

真实的y 值与预测值的对数 的乘积

4.  图片信息

训练模型 是 y=w*x+b

为28x28=784 所有  输入的 x 定义 是 x=tf.placeholder(tf.float32,[None,784])

因为 每个像素有 784 有 10 种数字的可能 所有 权重 w 定义 为 W = tf.Variable(tf.zeros([784,10]))

 偏移量  b = tf.Variable(tf.zeros([10]))

5 矩阵相乘

矩阵相乘 比如 a [1,2]  b [[2,4],[1,2]] 两个相乘 需要 a 的列 (2)等于b 的行 结果是 1行(等于a 行)2列(等于b 列)

所有  预测的值 y=tf.nn.softmax(tf.matmul(x,w)+b) 

这里注意是 tf.matmul(x,w)    不是 tf.matmul(w,x)

因为 输入 x 大概是 一个 [1,2,3,4,5,......784]   

w大概是

根据矩阵的乘法,并且我们需要得到的是类似[1,2,3,4,5,6,7,8,9,10] 的值 就是 mnist 案例中的数据形式

总的代码如下:

 

 

posted @ 2019-03-19 21:51  追逐星月  阅读(137)  评论(0)    收藏  举报