0

我正在从头开始构建一个高度个性化的推荐系统,其中没有用户和项目之间交互的历史数据。尽管如此,用户在添加到系统时必须提供项目的标签列表:

  1. 他真的很喜欢;
  2. 他没有意见;
  3. 他不喜欢

然后,基于这些标签,我可以匹配组 1.、2. 和 3 的一些项目。

因此,我正在考虑从组 1.、2. 和 3. 中采样项目,并分别为它们分配目标值 1、0 和 -1,以训练我的神经网络。在训练步骤之后,我将为每个用户获得一个高度个性化的神经网络,这将允许我开始推荐一些符合每个用户偏好的项目,尽管没有历史数据。

当然,当用户开始为推荐项目提供反馈时,我会更新网络以匹配他的新偏好。

话虽如此,这种方法是否有意义,或者神经网络不是最适合这种特定情况?

4

1 回答 1

5

首先,您没有足够清楚地解释您的具体问题或问题,这通常会导致您可能没想到的答案,但我会尝试提供一些有意义的信息,而不是简单的 42。

您没有指定,您希望推荐系统实现什么。现在还不清楚您计划向用户提供建议的具体内容。这是用户 A 的偏好与所有其他应该建议产品的用户偏好之间的相关性,而用户 A 看不到他可能喜欢的产品吗?

根据描述,这似乎是最有可能的情况。所以你正在寻找某种解决Netflix 挑战的方法,通常称为协同过滤. 您所描述的模型比 Netflix 或 Amazon 拥有的数据要简单得多,但它仍然无法在没有任何数据的情况下运行,因此最初的猜测将完全落空并惹恼用户。我的一个朋友经常对喜欢这部电影的其他人也看过的推荐感到恼火——他说即使 Netflix 拥有大量数据和全面的推荐引擎,这总是错误的。因此,预计会有很多挫败感,甚至可能遭到破坏(例如,由于推荐质量差,用户故意提供不正确的反馈)。避免它的唯一方法是首先通过征求反馈来收集数据,并在收集到足够数量的样本后才给出建议。

如前所述,我们正在慢慢解决实际问题:神经网络是否是这项工作的好工具。如果您有足够数量的数据可以拟合一个简单模型,如您所描述的那样,其中包含少量误报(糟糕的推荐)和大量的真阳性(正确推荐)。您需要多少数据取决于产品的数量以及它们被喜欢和不喜欢的相关性强度。如果你有两个没有相关性的产品,那么无论你收集多少数据都没有好处。如果您将非常相似的产品放在一起,则相关性会很强,但在所有产品之间分布均匀,因此在您收集大量数据之前您将无法提供任何有用的建议,而这些数据只会过滤掉一些劣质商品。最好的情况是一种高度相关但又非常不同的产品(比如高端山地自行车和 go-pro cam)。这些应该基于其他用户偏好可靠地链接。

因此,如果没有更多信息,您将不会获得太多有用的见解。您所描述的内容,如果空白已被正确填写是有道理的,但它是否有效以及您需要多少数据将真正取决于所涉及的产品和用户的具体情况。

我希望它有所帮助。

于 2018-11-13T06:10:22.670 回答