首页 > 解决方案 > 实现一种热编码

问题描述

我已经了解使用神经网络进行热编码的用途和概念。我的问题是如何实现这个概念。

例如,假设我有一个神经网络,它最多可以接收 10 个字母(不区分大小写)并使用一种热编码。每个输入将是每个点的某种 26 维向量。为了编写代码,我是否表现得好像我有 260 个输入,每个输入只显示 1 或 0,还是有其他标准方法来实现这些 26 维向量?

标签: neural-networkone-hot-encoding

解决方案


如果您有 10 个不同的元素(例如:a,b....j 或 1,2...10)要表示为 26 维的“一个热编码”向量,那么您的输入每个只有 10 个向量其中用 26 维向量表示。做这个:

y = torch.eye(26)      # If you want a tensor for each 'letter' of length 26.
y[torch.arange(0,10)]  #This line gives you 10 one hot-encoding vector each of dimension 26.

希望这个对你有帮助。


推荐阅读