分类问题,例如逻辑回归或多项式逻辑回归,优化 交叉熵 损失。通常,交叉熵层跟随 softmax 层,产生概率分布。
在tensorflow中,至少有十几种不同的 交叉熵损失函数:
tf.losses.softmax_cross_entropy
tf.losses.sparse_softmax_cross_entropy
tf.losses.sigmoid_cross_entropy
tf.contrib.losses.softmax_cross_entropy
tf.contrib.losses.sigmoid_cross_entropy
tf.nn.softmax_cross_entropy_with_logits
tf.nn.sigmoid_cross_entropy_with_logits
- ...
哪个适用于仅二元分类,哪些适用于多类问题?何时应使用 sigmoid
而不是 softmax
?sparse
函数与其他函数有何不同,为什么只有 softmax
?
相关(更加数学化)讨论:Keras 和 TensorFlow 中所有这些交叉熵损失之间的区别是什么?.
tf.losses.log_loss
,实际上它只适用于二元交叉熵。此外,请参阅https://github.com/tensorflow/tensorflow/issues/2462。 - mrgloom