博文翻译:Tackling the Cold Start Problem in Recommender Systems

it2025-02-05  11

博文地址:Tackling the Cold Start Problem in Recommender Systems

题目:Tackling the Cold Start Problem in Recommender Systems / 解决推荐系统中的冷启动问题

作者:Kojin Oshiba

 

当我在Wish进行机器学习实习时,我要解决推荐系统中的一个常见问题“冷启动推荐”。冷启动通常发生在新用户或新产品出现在电子商务平台时。传统的推荐方法如CF假定每个用户或产品有一些评分,因此我们可以推断相似用户或产品的评分,即使这些评分不可用。然而,对于新用户或新产品,这是很困难的,因为没有关于它们的浏览、点击或购买数据。因为,我们不能使用传统的矩阵分解方法解决冷启动问题。

幸运的是,研究者们提出了几种用于解决冷启动问题的方法。在这篇博文中,我想介绍一些我认为有趣的论文。注意这不是一项整体调查,我并没有实现它们,因此不确定在实践中是否有效。

方法

基于代表性的方法:使用用户或产品的子集代表整体用户或产品集合;基于内容的方法:使用诸如文本、社交网络等辅助信息;基于多臂老虎机的方法:在新产品推荐中考虑“探索-利用”机制;基于深度学习的方法:使用黑盒模型解决一些冷启动相关问题。

基于代表性的方法

如果我们没有关于用户和产品的足够的信息,我们可以依赖于那些具有代表性的用户和产品集合,这是基于代表性的方法的原理。

代表性是指一些用户集合,这些集合的线性组合可以近似其他用户。例如,一个著名的基于代表性的方法,RBMF是MF模型的扩展,该模型要求所有的m个产品可以表示成k个产品的线性组合,目标函数如下:

 这里,有和标准MF相似的重构误差,带有额外的限制。当新用户加入平台,我们可以让它给k个代表性产品打分,使用这些评分预测其他m-k个产品的评分。通过这种方式,仅需要少量额外成本,就可以提升新用户推荐质量。

优点

具有可解释性,因为可以将新用户表示为少量代表性产品;如果你正在使用MF方法,按照这种思路将其扩展去解决冷启动问题很容易;

缺点

需要改变用户界面和前端逻辑来让用户给代表性产品打分。

基于内容的方法

推荐系统中有很多未被充分利用的辅助信息,以论文推荐为例,我们不仅可以用到评分,还可以利用论文的文本内容,可以将这些信息作为用户的辅助信息以缓解新用户的数据稀疏性问题。对于文本信息,可以使用LDA获取用户帖子的主题向量;对于社交网络,可以使用图嵌入方法将节点嵌入向量空间。

如何在CF模型中融入这些内容呢?将经典的CF方法视为矩阵补全任务,其目标函数是重构误差,很难利用这些辅助信息。研究者们提出了混合方法,该方法融合矩阵重构的目标函数和基于内容的目标函数。这些方法不仅仅适用于冷启动场景。

优点

可以融合多种辅助信息;混合模型是MF模型的扩展;

缺点

目标函数变得混乱,可以通过深度方法解决,但有不同的缺点;依赖于特征工程,取决于你是否准备在数据库中插入用户/产品特征。

基于多臂老虎机的方法

冷启动问题可以被重新定义,并作为一个多臂老虎机问题被解决。什么是多臂老虎机问题?一个典型的例子:你在一个赌场,你的面前有k个老虎机,每个老虎机有不同的奖励分布,但是你不知道这些信息,你的目标是通过玩这些赌博机来最大化你的收益。

打个比方,想象一个电子商务场景,每天你的平台有k个新产品,这些新产品可以被视为k个老虎机,每个老虎机对应不同的收益,但是因为它们是新产品,我们不知道有多少用户会购买它们,推荐一个产品子集就像选择老虎机子集一样。

在多臂老虎机研究中,我们很关注“探索-利用”问题:如果我们发现一个新的项目卖的很好,那么我们更想把它推给用户(利用),但与此同时,你也会想到有没有其他的可以推荐的产品(探索),它们可能比你已经展示的东西更受欢迎。几种经典的实现多臂老虎机的方法如下:

 优点

容易实现:一些简单的多臂老虎机方法易于实现,尤其是与复杂的机器学习方法相比;有很好的理论保障;

缺点

太简单了吗?也行不是。多臂老虎机可能已经足够了。

基于深度学习的方法

我将深度学习视为解决冷启动问题的一大类方法,但是论文中使用深度学习的方法多种多样。最近也有许多基于深度学习的方法。

基于深度学习的Youtube推荐中的一个简单技巧

YouTube推荐中使用的深度学习模型不是特定于冷启动的,尽管如此,他们意识到了冷启动问题并提出了一个简单的技巧来解决它:处理考虑视频观看、搜索单词、人口统计学和地理学信息等相关特征外,额外考虑视频上传至今的时间。通过在训练深度神经网络时考虑这个特征,深度网络学习到了“最新的视频更重要”。

 DropoutNet

该方法的基本思路简单但强大:在训练基于神经网络的推荐系统时,我们可以通过随机丢弃一些用户和产品的评分,从而使得模型对新产品鲁棒。该方法的优点是,它可以用于任何基于深度学习的推荐系统,而且同时适用于用户冷启动和产品冷启动。

基于会话的RNN

该方法将用户的每个会话输入RNN中,特定地,训练了一个GRU变体,输入是会话的当前状态,输入是会话中下一个事件对应的产品。这种网络对于小型电子商务网站是可用的。

优点

如果能为特定领域找到一个合适的模型,那么可能会显著提升推荐性能;

缺点

实现模型及调参比较费时;部署模型费时;不能保证模型能好到什么程度。

结论

假定你已经有一个推荐系统,你想找到的冷启动推荐方案要满足以下条件:

适合你的领域;可以嵌入当前系统中,或者可以快速实现和改进。

例如,你可以从基于多臂老虎机的方法开始,然后转向深度学习方法。在行业环境中,看起来简单的模型总是更好的,它具有可维护性、可解释性,并且可以快速改进。

希望你能找到一些关于如何开始使用冷启动解决方案的好提示。

 

Wisdom of the Better Few: Cold Start Recommendation via Representative based Rating Elicitation ↩

Local Representative-Based Matrix Factorization for Cold-Start Recommendation ↩

Connecting Social Media to E-Commerce: Cold-Start Product Recommendation Using Microblogging Information ↩

Deepwalk ↩

Node2Vec ↩

SVDFeature: A Toolkit for Feature-based Collaborative Filtering ↩

Personalized recommendation via cross-domain triadic factorization ↩

Finite-time analysis of the multiarmed bandit problem ↩ ↩2 ↩3

Thompson Sampling for Contextual Bandits with Linear Payoffs ↩

RecommenderSystem-Paper ↩

Deep Neural Networks for YouTube Recommendations ↩

DropoutNet: Addressing Cold Start in Recommender Systems ↩

Session-based Recommendations with Recurrent Neural Networks 

 

最新回复(0)