gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 08:41:07 25 4
gpt4 key购买 nike

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

我想使用深度学习模型将其预测为 2 个类别:英语IT 工作。如果我使用传统的分类模型,它只能在最后一层使用 Softmax 函数预测 1 个标签。因此,我可以使用 2 个模型神经网络来预测两个类别的"is"/“否”,但如果我们有更多类别,那就太昂贵了。那么我们是否有深度学习或机器学习模型来同时预测 2 个或更多类别?

“编辑”:传统方法有3个标签,它将由[1,0,0]编码,但在我的例子中,它将由[1,1,0]或[1,1,1编码]

示例:如果我们有 3 个标签,并且一个句子可能适合所有这些标签。因此,如果 softmax 函数的输出是 [0.45 , 0.35 , 0.2 ],我们应该将其分类为 3 个标签或 2 个标签,或者可能是一个?

我们这样做时的主要问题是:分类为 1、2、3 个标签的良好阈值是多少?

最佳答案

如果您有 n 个不同的类别,并且可以同时为真,则在输出层中具有 n 个具有 sigmoid 激活函数的输出。这将为每个输出独立提供一个介于 0 和 1 之间的值。

您的损失函数应该是输出的负对数似然的平均值。在 tensorflow 中,这是:

linear_output = ...  # the output layer before applying activation function
loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(
logits=linear_output, labels=correct_outputs))
output = tf.sigmoid(linear_output) # 0 to 1 for each category

关于machine-learning - 哪种深度学习模型可以对不互斥的类别进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43316270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com