分类loss cross-entropy

为了训练网络,都需要定义一个loss function来描述模型对问题的求解精度。loss越小,代表模型的结果和真实值偏差越小。对于分类问题,通常使用cross-entropy来定义loss  function。该概念最早用在信息论中,后来被用到很多地方。其中,y是预测的概率分布,即softmax输出的结果,y'是真实的概率分布,即label的one-hot编码,模型对真实概率分布的准确程度公式如下:



在Tensorflow中定义cross-entropy代码如下:

y _= tf.placeholder(tf.float32, [None, 10])


cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_*tf.log(y), reduce_indices=[1]))


先定义一个placeholder,输入真实的label。y_*tf.log(y)即使y'log(y), tf.reduce_sum是求和, tf.reduce_mean则用来对每个batch数据结果求均值。

你可能感兴趣的:(深度学习-不同层)