gpt4 book ai didi

machine-learning - 机器学习多分类: Why use 'one-hot' encoding instead of a number

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

我目前正在研究 tensorflow 的分类问题,我是机器学习领域的新手,但我没有得到任何东西。

我已成功尝试训练输出 y 张量的模型,如下所示:

y = [0,0,1,0]

但我无法理解其背后的原理......

为什么不直接训练相同的模型来输出 y = 3y = 4 等类

这看起来更加灵活,因为我可以想象有一个包含 200 万个可能类别的多分类问题,并且输出 0-2,000,000 之间的数字比为每个类别输出 2,000,000 个项目的张量要高效得多结果。

我错过了什么?

最佳答案

理想情况下,您可以训练模型对输入实例进行分类并生成单个输出。类似的东西

y=1 表示 input=dogy=2 表示 input=airplane。然而,这样的方法会带来很多问题:

  1. 如何解释输出 y=1.5
  2. 为什么我要尝试回归一个数字,就像我在处理连续数据一样,而实际上我在处理离散数据?

事实上,您正在做的是将多类分类问题视为回归问题。这是局部错误的(除非您正在进行二元分类,在这种情况下,正输出和负输出就是您所需要的一切)。

为了避免这些(和其他)问题,我们使用最后一层神经元,并将高激活与正确的类别相关联。

one-hot 编码代表这样一个事实:当存在特定输入时,您希望强制网络具有单个高激活输出。

这样,每个 input=dog 都会有 1, 0, 0 作为输出,依此类推。

通过这种方式,您可以正确处理离散分类问题,产生离散输出并且可以很好地解释(事实上,您始终可以使用 tf.argmax 提取具有最高激活值的输出神经元) ,即使您的网络尚未学会生成完美的 one-hot 编码,您也将能够毫无疑问地提取最可能的正确输出)

关于machine-learning - 机器学习多分类: Why use 'one-hot' encoding instead of a number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44760064/

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