Softmax 的交叉熵是不是适用于多标签分类?
Posted
技术标签:
【中文标题】Softmax 的交叉熵是不是适用于多标签分类?【英文标题】:is Cross Entropy With Softmax proper for Multi-label Classification?Softmax 的交叉熵是否适用于多标签分类? 【发布时间】:2017-06-01 13:19:58 【问题描述】:如here 所述,交叉熵不是多标签分类的合适损失函数。我的问题是“这个事实也适用于 softmax 的交叉熵吗?”。如果是,如何与文档的this part 匹配。
我应该提到我的问题范围在cntk。
【问题讨论】:
【参考方案1】:多标签分类通常意味着“许多二元标签”。考虑到这个定义,带有 softmax 的交叉熵不适合多标签分类。您提供的第二个链接中的文档讨论的是多类问题而不是多标签问题。带有 softmax 的交叉熵适用于多类分类。对于多标签分类,一个常见的选择是使用每个标签的二进制交叉熵之和。可以使用 Brainscript 中的 Logistic
或 Python 中的 binary_cross_entropy
计算二进制交叉熵。
另一方面,如果您对许多多类标签有问题,那么您可以对每个标签使用 cross_entropy_with_softmax,CNTK 会自动对所有这些损失值求和。
【讨论】:
链接文档的标题是“训练一个多标签分类器”,那么您怎么说“您链接的文档谈论的是多类问题而不是多标签问题”? 您的问题中有两个链接。我指的是另一个。更新了答案以澄清这一点。以上是关于Softmax 的交叉熵是不是适用于多标签分类?的主要内容,如果未能解决你的问题,请参考以下文章