将“3.5”编码为“[1, 1, 1, 0.5, 0, ..., 0]”的向量编码的正确名称是什么?

What's the proper name for the vector encoding that encodes "3.5" as "[1, 1, 1, 0.5, 0, ..., 0]"?

提问人:David Seiler 提问时间:11/7/2023 更新时间:11/7/2023 访问量:56

问:

昨天做一个ML的事情,我的团队发现我们想将一些数字编码为向量,这些向量由长度等于整个部分的1的运行组成,加上一个小数部分的元素,加上一些填充0。因此,例如,数字 3.5 被解压缩到一个向量中,如下所示:(我保证,这在上下文中是有道理的)。所以,现在我们有一些函数用于将数字打包和解压缩到这个表示形式,我们想以标准方式命名它们,只是我们无法弄清楚那是什么。[1, 1, 1, 0.5, 0, ..., 0]

这有点像一个热编码,但它不是那么相似:我们有多个热位,通常也有一个热位。它很像一元数表示,除了小数部分和填充零。在实践中,实现只是一个向量填充。这些联系都没有让我在谷歌上找到任何地方。

这种表示在我们的领域中是很自然的,我敢肯定我们不是第一个想到它的人,所以一定在某个地方有一些现有技术。但是在哪里呢?

机器学习 数学

评论

0赞 Mike 'Pomax' Kamermans 11/8/2023
这些数字的限制是多少?
0赞 David Seiler 11/8/2023
@Mike'Pomax'Kamermans,我们只对 0 到 366 之间的数字感兴趣。
0赞 Mike 'Pomax' Kamermans 11/9/2023
所以它始终是一个 366 元素向量,但它是用零而不是左填充的右填充,因此每个元素都必须是浮点数,而不仅仅是最后一个元素?(如果是这样,请记得将这些详细信息放在帖子中)。因为如果它是左填充的,它将是“一种奇怪的 X 点 Y”格式,其中你的 X 是 366 而不是 9,而你的 Y 是 1,即使它实际上是你的浮动精度位数。(例如,16.16 格式是一个 32 位值,其中前 16 位编码整数,后 16 位编码 1/2¹⁶ 分数的整数分子)

答: 暂无答案