超越 Keras 中 LSTM 模型的 one-hot 编码

数据挖掘 神经网络 喀拉斯 lstm 一热编码
2022-01-20 22:26:43

我在 Keras 中有一个用于分类分类的 LSTM 模型(20 个可能的类别)。在许多情况下,我的数据可以适合多个类别。

显然,我当前的模型使用 one-hot 编码并适合它——这给了我 50-60% 的准确率和验证率,但我想通过比较模型与算法选择的前 3 个类别的表现来改进这一点。

现在,我使用带有 categorical_crossentropy 的 Keras。我认为这会检查标签是否是最匹配的,并将准确性基于该匹配。如何修改模型的拟合/训练以允许标记的类别位于准确度得分的前 3 个(或前 X 个)匹配项中?

2个回答

您正在寻找前 k 个分类准确度。这实际上是在 keras 中实现的,但是您可能想要更改 k,这可以通过偏函数来完成。这是相关链接

如果你在做多标签,你应该binary-crossentropysigmoid最后一层做。您必须单独为标签评分。这是一个例子