参考论文Metadata Embeddings for User and Item Cold-start Recommendations中的 LightFM 模型,模型尝试学习维用户和项目特征嵌入和对于每个功能(是用户集,是项目集)。
用户的潜在表征由其特征的潜在向量之和给出:
项目也是如此:
将潜在嵌入相加来表示一组特征(用户或项目)真的有意义吗?
参考论文Metadata Embeddings for User and Item Cold-start Recommendations中的 LightFM 模型,模型尝试学习维用户和项目特征嵌入和对于每个功能(是用户集,是项目集)。
用户的潜在表征由其特征的潜在向量之和给出:
项目也是如此:
将潜在嵌入相加来表示一组特征(用户或项目)真的有意义吗?
将总和视为平均值,这个模型听起来让人想起连续词袋(CBOW)词嵌入(即 word2vec)。在这种情况下,句子中的单词用于使用嵌入向量的平均值来预测缺失的单词(参见这个问题)。这种方法非常适用于单词,因此您可以将其扩展到其他类型的嵌入(例如用户/项目兼容性)可能是有意义的。
当您考虑比较时,平均值具有一些直观的意义。要将用户/项目放置在嵌入空间中,您可以平均特征嵌入。如果用户/项目具有不同但相似的特征,则他们的平均值应该将用户/项目置于嵌入空间的相似区域中。如果特征编号是固定的,总和应该是一样的。
如果特征编号不固定,就会出现总和问题。用户/项目可能看起来不同,因为它们的嵌入向量长度不同,即使它具有相同的方向。按特征编号规范化将解决此问题。
使用总和而不是平均值的另一个可能问题是用户/项目嵌入向量与特征嵌入向量不具有可比性。这对作者来说似乎无关紧要,因为他们不会尝试直接将用户/项目向量与特征向量进行比较。
TL;DR 是的,总和可能对表示一组特征有意义,但平均值可能更好。