用户产品正面(点击数据)可用。如何生成负数(无点击数据)?

数据挖掘 机器学习 数据挖掘
2021-10-12 07:31:45

在推荐器中很常见的是我们有用户产品数据,其标签为例如“点击”。为了学习模型,我需要点击和非点击数据。

最简单的生成方法是获取点击数据中没有的用户产品对。但是,这可能会产生误导。例子:

user1, product1 (click) user2, product2 (click) user2, product3 (click) user3, product2 (click)

我可以将 user1 与除 product1 之外的所有产品一起使用,并将它们标记为“no_click”等等。但这可能不是真的。如果向用户显示 product2,也许 user1 会点击 product2。但仅仅因为他看到了其他的产品集——他没有机会决定点击/不点击产品2。

那么如何解决一元数据问题呢?

1个回答

所以,有两个问题。

  1. 记录印象(节目)
  2. 如何处理非展示次数

对于 (1),您应该记录此信息。如果当前未记录,则应开始记录此信息。鉴于您没有此信息,您想提供建议。幸运的是,只需单击数据,您仍然可以创建效用矩阵,请参见9.1.1

然后,您可以使用本文中描述的基于用户或基于项目的协同过滤。这基本上是填充效用矩阵并尝试为未点击项目找到“分数”的练习。您的推荐将是得分最高的未点击项目。

对于 (2),您仍然会对未点击的项目提出建议。因此,仅此一点都不是问题。但是,您将希望优化您的印象。您也无法完全了解用户可以看到所有可能选项的位置。您需要记录印象并了解许多事情。

  • 显示项目的费率
  • 项目的点击率
  • 如何合并新项目
  • 如何优化显示哪些项目

这是一个巨大的话题,基本上这是在线广告的问题领域。然而,推荐引擎试图在长尾中找到感兴趣的项目,这与广告优化有点不同。这是一个用于评估您的推荐的反馈循环。A/B 测试很常见。您需要测试当前系统和新系统之间的点击率和推荐错误。

另请参阅此处此处