【推荐算法】冷启动

2022/1/20 14:11:35

本文主要是介绍【推荐算法】冷启动,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

具体地讲,根据数据匮乏情况的不同,冷启动问题主要分为 3 类:

  • 用户冷启动:新用户注册后,没有历史行为数据。
  • 物品冷启动:新物品上架后,没有用户对该物品的交互数据。主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题。
  • 系统冷启动:新系统上线时,缺乏所有历史相关数据。如何在一个新开发的网站上(还没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。

可以把主流的冷启动策略归纳为以下三类:

  • 基于规则的冷启动过程;
  • 丰富冷启动过程中可获得的用户和物品特征;
  • 利用主动学习、迁移学习和“探索与利用”机制。

一、基于规则的冷启动过程

有以下几种策略策略:

  • 提供非个性化的推荐:“热门排行榜”、“最近流行趋势”、“最高评分”等;
  • 利用用户注册时提供的年龄、性别等信息做粗粒度的个性化推荐;
  • 利用用户的社交网络账号登录(需要授权),导入用户在社交网站上的好友信息。为其推荐其好友喜欢的物品;
  • 要求用户在登录时对一些物品进行反馈,收集用户对这些物品的偏好信息,然后给用户推荐那些和这些物品相似的物品;
  • 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户;
  • 在系统冷启动时,可以引入专家知识,通过一定的高效方式迅速建立起物品的相关度表。

二、 丰富冷启动过程中可获得的用户和物品特征

改进的主要方法就是在模型中加入更多用户或物品的属性特征,而非历史数据特征。

可获得的用户和物品特征可能包括以下几类:

  • 用户的注册信息:包括基本的人口属性信息和通过IP地址、GPS信息等推断出的地理信息;
  • 第三方数据管理平台提供的用户信息;
  • 物品的内容特征:物品固有的或者由专家定义的特征信息;
  • 引导用户输入的冷启动特征:evidence candidates。

三、利用主动学习、迁移学习和“探索与利用”机制

1. 主动学习

被动学习是在已有的数据集上建模,学习过程中不对数据集进行更改,也不会加入新的数据,而主动学习不仅利用已有的数据集进行建模,而且可以“主动”发现哪些数据是最急需的,主动向外界发出询问、获得反馈,从而加速学习过程。基于主动学习的冷启动推荐要定义推荐系统的损失函数,从而精确地评估推荐不同影片获得的损失下降收益。

2. 迁移学习

迁移学习是在某领域知识不足的情况下,迁移其他领域的数据或知识,用于本领域的学习。基于迁移学习的冷启动推荐将其他领域的数据用于支持本领域的冷启动推荐。

例如在ESMM模型中,阿里巴巴利用CTR数据生成了用户和物品的embedding,然后共享给CVR模型,这就是的CVR模型在没有转化数据时能够用CTR模型的知识完成冷启动过程。

其它比较实用的迁移学习的方法是在领域A和领域B的模型结构和特征工程相同的前提下,若领域A的模型已经得到充分的训练,则可以直接讲领域A模型的参数作为领域B模型的参数的初始值。随着领域B数据的不断积累,增量更新模型B。这样做的目的是在领域B数据不足的情况下,也能获得个性化的、较合理的初始推荐。该方法的局限性是要求领域A和领域B所用的特征必须基本一致。

3. “探索与利用”机制

“探索与利用”机制是在“探索新数据”和“利用旧数据”之间进行平衡,使系统既能够利用旧数据进行推荐,达到推荐系统的商业目标,又能高效地探索冷启动的物品是否是“优质”物品,使得冷启动物品获得曝光的倾向,快速收集冷启动数据。

具体见:【推荐算法】探索与利用

参考资料

  1. 深度学习推荐系统 王喆编著 中国工信出版集团
  2. 推荐系统冷启动问题


这篇关于【推荐算法】冷启动的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程