2017-03-21 47 views
-1

识别MNIST数据库的网络输出是对10个类的预测,即对于1000个图像,我们将具有尺寸矩阵(1000,10)。哪种方式代表成本函数更好(以及为什么?):什么是计算MNIST的错误的正确方法

  • 简单tf.squared_difference(Y_pred, Y_pred)
  • 表示随批次tf.reduce_mean(tf.tf.squared_difference(Y_pred, Y_pred), axis=0)
  • 或以上等级,然后在批次tf.reduce_men(tf.reduce_mean(tf.tf.squared_difference(Y_pred, Y_pred), axis=1))

感谢

+0

欢迎来到StackOverflow。请阅读并遵守帮助文档中的发布准则。 [在主题](http://stackoverflow.com/help/on-topic)和[如何提问](http://stackoverflow.com/help/how-to-ask)适用于此处。 StackOverflow不是一个设计,编码或教程服务。展示您的工作,将开放问题减少到一个小点,然后您就可以在本网站上寻求帮助。 – Prune

回答

0

意味着由于你的目标是类别(数字0〜9),最好是使用cross entropy cost function ,做这样的事情:

cross_entropy = -tf.reduce_sum(Y * tf.log(Y_pred + 1e-10)) 
optimizer = tf.train.AdamOptimizer(0.001).minimize(cross_entropy) 

这里Y是真正的目标值,而Y_pred是预测的目标值。 这是一个discussion交叉熵超过均方误差的分类问题的好处。

相关问题