我刚刚完成了TensorFlow教程(https://www.tensorflow.org/versions/r0.8/tutorials/mnist/pros/index.html#deep-mnist-for-experts).
我有两个问题:
它为什么用cost function with y_ * log(y)?不应该y_ * log(y) + (1-y_) * log(1-y)吗?
如何TensorFlow知道如何计算gradient的的cost function我用?难道我们不应该在某处告诉TensorFlow如何计算gradient?
谢谢!
当y = 1或0时,您可以使用y_*log(y)+(1-y_)*log(1-y),但当y是一热编码时,y = [0 1]或[1 0] ,我们使用y_*log(y).实际上,它们是一样的.
一切都是TensorFlow中的图表,包括您的成本函数.
因此每个节点都知道它们的操作和局部梯度.Tensorflow使用反向传播(链规则)使用图形计算梯度.
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |