有用过 TensorFlow 的 V2er 吗?

2016-01-02 16:23:35 +08:00
 zwpaper

最近试着学了一下 TensorFlow ,正在做 Tutorial 呢
但是碰到了个问题不知道怎么解决

这个教程:
http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_tf.html

我已经根据教程做到能训练,评估了,但是我想知道,
教程中用的是 1000X784 的训练集,然后也用 1000X784 的测试集,
那如果我有一个单一的数据,就是 1X784 的,我也想用这个算法求出来可能的结果,
那我应该怎么做?

我自己试过了,只要输入的训练集大小不一样,就会报错,真是不会了

1903 次点击
所在节点    机器学习
9 条回复
sleeperqp
2016-01-02 18:21:13 +08:00
zwpaper
2016-01-02 21:48:26 +08:00
@sleeperqp 谢谢你!
在你的提醒下,我能求出来结果了,但是结果应该是一个 0 和 1 的数组,我却只能得到 float 的数组,也不是约等于 0 或 1 的。
我看在评估测试集的时候,用的了一个 tf.nn.in_top_k(logits, labels, 1),得到的结果居然也是 90%左右
tf.nn.in_top_k(logits, labels, 1) 应该就是要找预测结果在正确的可能性是前 K 的,这时 K 是 1 ,那就应该是完全符合才对的
那为什么得到的结果不是 0 , 1 数组呢?
sleeperqp
2016-01-02 22:36:25 +08:00
不知道是不是十个数的数组
如果是的话 应该对应是 0-9 的概率数组
如果你要得到这个结果可以 argmax 这样就可以得到预测是哪个数字了
zwpaper
2016-01-03 20:53:13 +08:00
@sleeperqp 对,用 argmax 可以找到这个数组最大的那个数,好像是代表结果
但是我现在不理解的是,在学习的过程中目标值 y 一直是 0 1 数组,但是训练出来的结果虽说也是最大值的序号代表结果,但是为什么会是一些不随机数呢?
这个应该是和 FNN 这个算法相关的了吧?
sleeperqp
2016-01-03 22:39:12 +08:00
@zwpaper 不太懂你说的随机数指什么?
首先虽然训练集中的 y 等于 label 一般为整数,但是其实实质上在训练过程中转换成(0,0,0...1...0,0,0)^T 其中 1 处在第 y 位上 比如一共有 3 类 数据点的 y 值为 2(从 0 开始) 则训练过程中转化为 (0,0,1)

另外
你可以看下 softmax 一般在神经网络的隐含层到输出层用的是 softmax 目的是归一化多类别的输出
比如 logistic regression 是解决二类分类问题,将实数集投射到(-1,1)上
而 softmax 则是将类别的输出(output1,output2...outputn)投射到(p1,p2...pn) 其中 p1+p2+..Pn=1 且 0<=pi<=1 这个就是你看到 10 个数的数组

我也是新手 不知道能不能解决你的问题
zwpaper
2016-01-04 12:06:08 +08:00
@sleeperqp 我终于明白了!太感谢你了!
当时不明白的就是我觉得本应该输出的也是 (0,0,0...1...0,0,0)^T 这样的结果
但是得到的总是 (2.00172349e-06, 9.99997973e-01, ...)^T 这样的结果,也是最大的数的序号表示结果。
当时一直在想为什么不是只有 0 和 1 ,现在看来就是这个算法的结果就是这样的

softmax 一句话讲解,赞!
sleeperqp
2016-01-04 14:26:35 +08:00
@zwpaper 客气了 我也是新手 共同进步~~ 嘿嘿~~
microhan
2016-03-17 15:27:46 +08:00
哥们,留个联系方式,或者加我 QQ ,赠书给你。
microhan
2016-03-17 15:28:09 +08:00
295164745

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/247816

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX