tensorflow机器学习中softmax_cross_entropy_with_logits和sigmoid_cross_entropy_with_logits的比较分析

在分类问题中,交叉熵是经常选用的损失函数(loss)

关于交叉熵的详细解释请看这篇博客:https://blog.csdn.net/tsyccnh/article/details/79163834

在单分类问题中(即one-hot问题),通常使用tf.nn.softmax_cross_entropy_with_logits(logits=,labels=)函数,logits为神经网络最后一层的输出(注意是最后一层神经元的输出,不经过softmax层),大小为[batchsize,classes],labels为标签。函数会先对logits进行softmax计算,随后与labels进行交叉熵运算,作为loss。

在多酚类问题中(n-hot),使用sigmoid_cross_entropy_with_logits函数,它与前者的不同在于,会先对logits的每一个class单独进行sigmoid运算(因为是n-hot所以是单独进行),然后在进行cross_entropy运算。

上一篇:1、tf.one_hot()


下一篇:自定义promise