如何管理多个正向隐式反馈?

在没有评级的情况下,常见的做法是使用隐式反馈(购买的商品、页面浏览量、点击量等)来提供推荐建议。我正在使用基于模型的方法,并且想知道如何处理多个相同的反馈。

举个例子,假设消费者多次购买同一种商品。我是否应该将反馈的数量(页面浏览量、购买的商品等)视为评级,还是计算一个自定义值?


回答:

为了建模隐式反馈,我们通常有一个映射过程,将隐式用户反馈映射到显式评级。我认为在大多数领域中,用户对同一项目的重复行为表明用户对该项目的偏好在增加。如果领域是音乐或视频推荐,这一点无疑是正确的。在购物网站上,这种行为可能表明该项目是定期消费的,例如尿布或打印机墨水。

我知道的一种建模这种多重隐式反馈的方法是创建一个数值评级映射函数。当隐式反馈的次数(k)增加时,映射的评级值也应该增加。在k = 1时,你有一个最小的正反馈评级,例如0.6;当k增加时,它接近1。当然,你不需要映射到[0,1];你可以使用整数评级,0,1,2,3,4,5。

为了给你一个具体的映射示例,这里是他们在音乐推荐领域所做的。他们简短地使用了每个用户的项目统计信息来定义映射函数。

我们假设用户听某个艺术家的次数越多,用户就越喜欢那个特定的艺术家。请注意,用户的听歌习惯通常呈现幂律分布,这意味着少数艺术家在用户的个人资料中有很多播放次数,而其他艺术家的播放次数显著减少。因此,我们计算用户个人资料中艺术家播放的互补累积分布。位于分布顶部80-100%的艺术家被分配5分,而位于60-80%范围内的艺术家被分配4分。

我在文献中看到的另一种方法是除了二进制评级变量外,创建另一个变量。他们称之为置信水平。详细信息请参见这里

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注