哪种深度学习模型可以对不互斥的类别进行分类


9

示例:我的职位描述中有一句话:“英国Java高级工程师”。

我想使用深度学习模型将其预测为2类:EnglishIT jobs。如果我使用传统的分类模型,则只能预测softmax最后一层具有功能的标签。因此,我可以使用2个模型神经网络来预测两个类别的“是” /“否”,但是如果我们有更多类别,那就太贵了。那么,我们是否有任何深度学习或机器学习模型可以同时预测2个或更多类别?

“编辑”:使用传统方法使用3个标签,它将由[1,0,0]编码,但在我的情况下,它将由[1,1,0]或[1,1,1]编码

示例:如果我们有3个标签,并且所有这些标签都适合一个句子。因此,如果softmax函数的输出为[0.45,0.35,0.2],我们应该将其分类为3个标签或2个标签,或者可以是一个?我们这样做的主要问题是:分类为1个,2个或3个标签的最佳阈值是多少?


我们必须使用Sigmoid函数而不是softmax函数。它可以为数据点分配多个类。
NITISH MAHAJAN

Answers:


6

您可以通过使用S型激活代替softmax并使用二进制交叉熵而不是分类交叉熵作为损失函数来实现softmax的多标签分类。这样一来,您只需要一个网络,其中的输出单元/神经元与标签一样多。

一世Ĵ

大号一世=-ĴŤ一世Ĵ日志p一世Ĵ

Ť一世Ĵ=0大号一世=-ĴŤ一世Ĵ日志p一世Ĵ-Ĵ1个-Ť一世Ĵ日志1个-p一世Ĵ


为什么我们需要使用二进制交叉熵而不是分类交叉熵作为损失函数?你能解释更多吗?现在我正在使用S形激活@robintibor
voxter'4

我在答案@voxter中添加了解释
robintibor

太棒了!谢谢。另外,您能否提供一些文档或教程,像您向我解释的那样,解释有关深度学习函数的更多数学知识?
voxter

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.