嵌入总和有意义吗?

数据挖掘 机器学习 神经网络 推荐系统 嵌入
2022-02-16 01:03:45

参考论文Metadata Embeddings for User and Item Cold-start Recommendations中的 LightFM 模型,模型尝试学习d维用户和项目特征嵌入efUefI对于每个功能f(U是用户集,I是项目集)。

用户的潜在表征u由其特征的潜在向量之和给出:

qu=jfuejU

项目也是如此i

pi=jfiejI

将潜在嵌入相加来表示一组特征(用户或项目)真的有意义吗?

1个回答

将总和视为平均值,这个模型听起来让人想起连续词袋(CBOW)词嵌入(即 word2vec)。在这种情况下,句子中的单词用于使用嵌入向量的平均值来预测缺失的单词(参见这个问题)。这种方法非常适用于单词,因此您可以将其扩展到其他类型的嵌入(例如用户/项目兼容性)可能是有意义的。

当您考虑比较时,平均值具有一些直观的意义。要将用户/项目放置在嵌入空间中,您可以平均特征嵌入。如果用户/项目具有不同但相似的特征,则他们的平均值应该将用户/项目置于嵌入空间的相似区域中。如果特征编号是固定的,总和应该是一样的。

如果特征编号不固定,就会出现总和问题。用户/项目可能看起来不同,因为它们的嵌入向量长度不同,即使它具有相同的方向。按特征编号规范化将解决此问题。

使用总和而不是平均值的另一个可能问题是用户/项目嵌入向量与特征嵌入向量不具有可比性。这对作者来说似乎无关紧要,因为他们不会尝试直接将用户/项目向量与特征向量进行比较。

TL;DR 是的,总和可能对表示一组特征有意义,但平均值可能更好。