首页 > 解决方案 > Tensorflow/Keras - 如何暴露类别之间的关系?

问题描述

我有标有 5 个类别的数据。

每个类别代表物理世界中不同强度的同一事件。

这一事实的重要性在于,类别 5 基本上是与类别 1 相同的事件(例如地震)的更强版本。

有人可以提供一个想法如何使模型(TF/Keras)可以使用这些知识吗?

标签: tensorflowmachine-learningkerasdeep-learning

解决方案


One-Hot Encoding 在多类分类问题中很常见。在您的情况下,类别 3 事件标签将被编码为 [0, 0, 1, 0, 0]。您将创建一个具有 softmax 激活的密集输出层的模型,然后为了获得预测,您将采用输出层的 argmax 来获得类别。

如果您要问如何体现所有类别都是同一类的变体这一事实,您可能需要查看嵌入层。基本上,嵌入层将分类(稀疏)向量转换为密集向量,并允许该转换成为模型的可学习参数。它允许模型在向量空间中将相似的类组合在一起。它通常用于语言建模中,用于将相似的单词分组在一起。例如,在嵌入向量中,Woman、Lady、Queen 比 Man、Lord、King 更靠近。在您的情况下,类 1,2,3 可能比 4,5 更接近,并且嵌入层将允许您的模型学习这一点。


推荐阅读