【发布时间】:2014-08-04 15:57:30
【问题描述】:
当没有评分时,一种常见的情况是使用隐式反馈(购买的商品、浏览量、点击次数等)来提出建议。我正在使用基于模型的方法,我想知道如何处理多个相同的反馈。
例如,假设消费者不止一次购买商品。我应该将反馈的数量(浏览量、购买的商品...)作为评分还是计算自定义值?
【问题讨论】:
标签: algorithm machine-learning recommendation-engine collaborative-filtering
当没有评分时,一种常见的情况是使用隐式反馈(购买的商品、浏览量、点击次数等)来提出建议。我正在使用基于模型的方法,我想知道如何处理多个相同的反馈。
例如,假设消费者不止一次购买商品。我应该将反馈的数量(浏览量、购买的商品...)作为评分还是计算自定义值?
【问题讨论】:
标签: algorithm machine-learning recommendation-engine collaborative-filtering
为了模拟隐式反馈,我们通常有一个映射过程来将隐式用户反馈映射到显式评级。我猜在大多数领域中,对同一项目的重复用户操作表明用户对该项目的偏好正在增加。 如果领域是音乐或视频推荐,这当然是正确的。在购物网站中,这种行为可能表明该物品是定期消耗的,例如尿布或打印机墨水。
我知道对这种多重隐式反馈建模的一种方法是创建一个数字评分映射函数。当隐式反馈的次数(k)增加时,评分的映射值应该增加。在k = 1,您的正面反馈评分最低,例如 0.6;当k 增加时,它接近1。当然,您不需要映射到[0,1];你可以有整数等级,0,1,2,3,4,5。
为了给您一个具体的映射示例,这是他们在music recommendation 域中所做的。简而言之,他们使用每个用户的项目的统计信息来定义映射函数。
我们假设越多 用户听艺术家的次数越多,用户越多 喜欢那个特别的艺术家。注意用户的收听习惯 通常呈现幂律分布,这意味着一些 艺术家在用户个人资料中有很多戏剧,而其余的 的艺术家的播放次数明显减少。所以, 我们计算互补累积分布 艺术家在用户的个人资料中播放。位于顶部的艺术家 80-100% 的分布被分配了 5 分,而 60-80% 范围内的艺术家分配 4 分。
我在文献中看到的另一种方法是创建除二元评级变量之外的另一个变量。他们称之为置信水平。有关详细信息,请参阅here。
【讨论】:
可能不再对 OP 有帮助,但可能对同一条船上的其他人有用。
如果有人知道更多论文/方法,请分享,因为我目前正在寻找解决此问题的最先进方法。提前致谢。
【讨论】:
您通常使用点击总和或事件的加权总和,作为隐式反馈系统中每个用户-项目对的“分数”。这不是评级,这不仅仅是语义上的区别。如果您将这些值输入到期望类似于评级并试图最小化平方误差损失的过程中,您将不会得到好的结果。
您将 3 次点击视为将 1 次点击的值添加到用户-项目交互强度的 3 倍。其他事件(例如购买)的权重可能远高于点击。但最终它也增加了一个总和。
【讨论】: