输出标签的一位有效编码

4

我了解在输入数据中需要进行独热编码的必要性,但是独热编码输出标签有什么帮助呢?TensorFlow MNIST教程鼓励对输出标签进行独热编码。然而,斯坦福大学CS231n的第一个作业并未建议对输出标签进行独热编码。选择/不选择独热编码输出标签背后的原理是什么?

编辑:不太确定为什么会被点踩,但是为了更详细说明,我错过了提及与交叉熵损失函数一起使用的Softmax函数,这通常用于多项分类问题中。这是否与交叉熵损失函数有关? 话虽如此,在不对输出标签进行独热编码的情况下,也可以计算损失。


1
我投票关闭此问题,因为它不属于编程范畴,这已在帮助中心中得到确认。但是,您可以考虑进行额外的多类分类和逻辑回归研究。 - E net4
1
这可能会有所帮助。 - mattdns
1个回答

3
在输出不是基数的情况下,使用独热向量。假设您将输出编码为整数,为每个标签分配一个数字。这些整数值之间存在自然有序关系,机器学习算法可能能够理解和利用这种关系,但您的标签可能无关。标签之间可能没有相似性。对于不存在这种序数关系的分类变量,整数编码并不好。
事实上,使用此编码并允许模型假定类别之间存在自然顺序可能导致意外结果,其中模型预测处于类别之间。这意味着什么?
这意味着如果我们训练一个机器学习算法(例如神经网络),它会认为猫(表示为1)在狗和鸟之间,因为它们分别表示为0和2。我们不想要那个;这不是真的,也是算法需要学习的额外内容。
当数据在n维空间中编码且向量具有连续值时,同样的情况可能发生。结果可能很难解释并映射回标签。
在这种情况下,可以将独热编码应用于标签表示,因为它具有明确的解释,并且其值分别位于不同的维度中。
如果您需要更多信息或想从损失函数的角度了解独热编码的原因,请参见 https://www.linkedin.com/pulse/why-using-one-hot-encoding-classifier-training-adwin-jahn/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接