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

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

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


回答:

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

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

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

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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