Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我最近了解了自动编码器,并计划构建一个作为具有隐式反馈的推荐系统的一部分。
根据经典自动编码器的工作原理,它们似乎可用于重构分量不一定为 0 或 1 的向量。然而,所有介绍性材料似乎都表明自动编码器对二进制向量进行操作,x = [0,1] ^d,如此处,或本文第 2.2 节。
为了将自动编码器用于非二进制向量,在我看来唯一的区别是应该使用 L2 误差函数而不是适用于二进制情况的交叉熵。
如果有人可以为我澄清这一点,我将不胜感激。
你混淆了符号
x e [0, 1]^d
表示“x 属于作为 d 维单位超立方体的空间”。要说“x 是长度为 d 的二进制向量”,你会写
x e {0, 1}^d
注意不同的括号。[0, 1]是一个区间,而不是一组 2 个元素。
[0, 1]
因此,没有人声称自动编码器需要二进制输入,但它不需要,它是在整个 R^d 空间中定义的(但是由于各种原因,使用来自某个有限子集的值更容易,因此 [0, 1] 超立方体,我们有很好的初始化启发式方法)。