推荐系统之冷启动问题

转自http://blog.csdn.net/zhangjunjie789/article/details/51379127

如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题。

冷启动问题主要分为三类: 
(1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使用网站的时候,系统并没有他的行为数据; 
(2) 物品冷启动:解决如何将新的物品推荐给可能对它感兴趣的用户; 
(3) 系统冷启动:如何在新开发网站设计个性化推荐系统,此时网站上用户很少,用户行为也少,只有一些商品的信息。

冷启动的主要解决方案: 
(1) 提供非个性化推荐:如热门排行榜推荐,等到用户数据收集到一定程度时,切换到个性化推荐; 
   用户的注册信息分为3种: 
  1)人口统计学信息:年龄、性别、职业、民族、学历和居住地等;典型代表是Bruce Krulwich开发的Lifestyle Finder 
  2)用户兴趣的描述:有些网站要求用户填写; 
  3)从其他网站导入的用户站外行为数据。 
   有两个推荐系统数据集包含了人口统计学信息:BookCrossing数据集和Lastfm数据集。 
   利用的用户人口统计学特征越多,越能准确地预测用户兴趣。 
(2) 利用用户注册信息:如性别,年龄,做粗粒度的个性化; 
   基于注册信息的个性化推荐流程: 
  1) 获取用户的注册信息; 
  2) 根据用户的注册信息对用户分类; 
  3) 给用户推荐他所属分类中用户喜欢的物品。 
   基于用户注册信息的推荐算法其核心问题是计算每种特征的用户喜欢的物品。也就是说,对于每种特征f,计算具有这种特征的用户对各个物品的喜好程度 
    可以简单定义为物品i在具有f的特征的用户的热门程度: 
    
   其中, 是喜欢物品i的用户集合, 是具有特征f的用户集合。 
   但是在这种定义下,热门的物品会在各种特征的用户中都具有比较高的权重,给用户推荐热门物品并不是推荐系统的主要任务,推荐系统应该帮助用户发现他们不容易发现的物品。因此,我们可以把 定义为喜欢物品i的用户中具有特征f的比例:

这里分母中的 的目的是解决数据稀疏的问题。如果有一个用户只被1个用户喜欢过,而这个用户刚好有特征f,那么p(f,i)=1.但是这种情况并没有统计意义。我们为分母加上一个比较大的数字,可以避免对这样的物品产生比较大的权重。 
(3) 利用用户的社交网络账号登录(需要用户进行授权),导入用户在社交网站上的好友信息,然后给用户推荐其好友喜欢的物品; 
(4) 选择合适的物品启动用户的兴趣:要求用户在登录时对一些物品进行反馈,收集用户对这些物品的兴趣信息,然后给用户推荐那些和这些物品相似的物品; 
   一般来说,能够用来启动用户兴趣的物品需要具有以下特点: 
  1) 比较热门:用户需要知道这个物品是什么东西,才会做出准确地反馈; 
  2) 具有代表性和区分性; 
  3) 启动物品集合需要有多样性:因为用户的兴趣的可能性可能非常多。 
  Nadav Golbandi在论文中探讨了一个基于决策树算法的选择启动物品集合的系统。 
(5) 利用物品的内容信息:对于新加入的物品,可以利用内容信息,将他们推荐给喜欢过和它们相似的物品的用户; 
物品冷启动对诸如新闻网站等时效性很强的网站的推荐非常重要,因为那些网站中时时刻刻都有新加入的物品,而且每个物品必须能够在第一时间展现给用户,否则经过一段时间后,物品的价值就大大降低了。 
UCF对物品冷启动问题并不非常敏感。只要有一小部分人能够发现并喜欢新的物品,UCF就能将这些物品扩散到更多的用户中。但是对于主要靠推荐列表获取信息的用户,解决第一推动力(即第一个用户)的最简单的方法是将新的物品随机展示给用户,也可以考虑将新物品先投放给曾经喜欢过和它内容相似的其它物品的用户。 
对于ICF来说,物品冷启动就是一个比较严重的问题了,因为ICF的原理是给用户推荐与他之前喜欢的物品相似的物品。需要频繁更新物品相似度表,由于用户行为日志非常庞大,通过行为日志是计算不出包含新物品的相关矩阵的,只有利用物品的内容信息计算物品相关表,并且频繁地更新相关表。 
一般来说,物品的内容可以通过内容向量空间模型表示,该模型会将物品表示成一个关键词向量。 
对于物品d,它的内容表示成一个关键词向量如下: 
 
其中, 是关键词, 是关键词对应的权重,如果物品是文本,我们可以用信息检索领域著名的TF-IDF公式计算词的权重: 
 
如果物品是电影,我们可以根据演员在剧中的重要程度赋予他们权重。 
向量空间模型的优点是简单,缺点是丢失了一些信息,比如关键词之间的关系信息。 
在给定物品内容的关键词向量后,物品的内容相似度可以通过向量之间的余弦相似度计算: 
 
但是这种算法的时间复杂度很高,假设有N个物品,每个物品平均有m个实体表示,那么这个算法的复杂度是 ,我们可以首先建立关键词-物品的倒排表加速这一计算过程。 
内容过滤算法ContentItemKNN忽视用户行为,物品的流行度以及用户行为中所包含的规律,所以在一些数据集上它的精度较低,但是新颖度却比较高。 
所数据集中有比较强的内容特征,算法的各项指标会比较好。 
向量空间模型在内容数据丰富时可以获得比较好的效果。 
代表性的话题模型有LDA。话题模型的基本思想是,一个人在写一篇文档的时候,会首先想这篇文章要讨论哪些话题,然后思考这些话题应该用什么词描述,从而用词写一篇文章。因此,文章和词之间是通过话题联系的。LDA有三种元素:文档、话题和词语,每一篇文档都会表现为词的集合,这称为词袋模型(bag of words)。每个词在一篇文章中属于一个话题。令D为文档集合,D[i]是第i篇文档。W[i][j]是第i篇文档中的第j个词。Z[i][j]是第i篇文档中第j个词属于的话题。LDA的计算包括初始化和迭代两部分。LDA可以很好地将词组组合成不同的话题。在使用LDA计算物品的内容相似度时间,我们可以先计算物品在话题上的分布,然后利用话题的分布计算物品的相似度。比如,两个物品的话题分布相似,我们则认为两个物品具有较高的相似度,反之则认为两个物品的相似度较低。计算分布的相似度可以利用KL散度: 
 
其中,p和q是两个分布,KL散度越大说明分布的相似性越低。 
6) 发挥专家的作用:在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表。 
代表系统是个性化网络电台Pandora和电影推荐网站Jinni。 
音乐之间的相似度是比较难计算的,技术门槛比较高,Pandora雇佣了一些懂计算机的音乐人进行了一项称为音乐基因的项目,他们使用了400维的向量。 
Jinni通过专家系统和机器学习相结合的方法进行电影基因工程以解决系统冷启动问题。

时间: 2024-10-04 21:18:17

推荐系统之冷启动问题的相关文章

如何解决推荐系统中的冷启动问题?

当新用户或新项目进入内容平台时,就会出现冷启动(Cold Start)问题. 以协同过滤这样的经典推荐系统为例,假设每个用户或项目都有评级,这样我们就可以推断出类似用户/项目的评级,即使这些评级没办法调用.但是,对于新进入的用户/项目,实现这一点很困难,因为我们没有相关的浏览.点击或下载等数据,也就没办法使用矩阵分解技术来"填补空白". 不过,研究人员已经提出了各种方法来解决冷启动问题.在这篇文章中,我们会简单介绍一些解决推荐系统中冷启动问题的方法,至于这些方法在实践工作中是否奏效,尚

推荐系统实践整体化总结

这一阵子在找实习,总的情况来看,一点都不理想,做了总结,主要是由于我的理论不够扎实,实践又不多导致的,其实这两者是有一定的联系的,因为实践的不多,所以理论上的提升就非常的有限.最近比较喜欢推荐系统相关的内容,因此就找了项亮的<推荐系统实践>来看,心想现在终于可以理论和实践相结合了. 刚开始读这本书,就觉得写的非常的简单易懂,因此我是一口气读完整本书的,好久没有一次性读完200页的书了,在这期间当然我也敲了一些代码,因为我的python功底确实没有,所以看着伪代码就总是怀疑它的正确性,只有自己敲

机器学习案例 特征组合——高帅富 冷启动——从微博等其他渠道搜集数据进行机器学习 用户年龄——线性分段处理

摘自:http://www.infoq.com/cn/articles/user-portrait-collaborative-filtering-for-recommend-systems 我们会从一个真实的案例出发,虽然我们做了很多的推荐系统的案例,但毕竟不能把客户的数据给大家看,所以我们用了一份公开的数据,这份数据和我们之前讲的场景是相似的.这份数据来自于 Kaggle,叫做 Criteo 点击率预估比赛. 数据预览 首先我们看数据的样子,第 1 列 col_1 代表的是广告有没有被点击,

阿里、腾讯、京东、微软,各家算法&amp;数据挖掘岗位面经大起底!

阿里.腾讯.京东.微软,各家算法&数据挖掘岗位面经大起底! 2016-02-24 36大数据 36大数据 作者: 江少华 摘要: 从2015年8月到2015年10月,花了3个月时间找工作,先后通过内推参加了美团.阿里蚂蚁金服.京东.腾讯.今日头条.Growing IO.微软这7个公司的面试,同时参加了网易游戏.LinkedI In中国这2个公司的笔试,拿到比较优 … 从2015年8月到2015年10月,花了3个月时间找工作,先后通过内推参加了美团.阿里蚂蚁金服.京东.腾讯.今日头条.Growin

一文详解达观数据知识图谱技术与应用——技术直播回顾

讲师 | 桂洪冠来源 | AI科技大本营在线公开课 本文根据达观数据桂洪冠在"达观杯"文本智能处理挑战赛期间的技术直播分享整理而成,内容略有删减. ▌一.知识图谱的概述 我们先直观的来看一下什么是知识图谱,下面有一张图,从这张图里可以看到,这个图里圆圈是节点,节点之间有一些带箭头的边来连成,这个节点实际上相当于知识图谱里的实体或者概念,边连线表示实体之间的关系. 知识图谱本质上是一种大型的语义网络,它旨在描述客观世界的概念实体事件以及及其之间的关系.以实体概念为节点,以关系为边,提供一

推荐系统读书笔记(三)推荐系统冷启动问题

3.1 冷启动问题简介 主要分三类: 1.用户冷启动:如何给新用户做个性化推荐. 2.物品冷启动:如何将新的物品推荐给可能对它感兴趣的用户这一问题. 3.系统冷启动:如何在一个新开发的网站上设计个性化推荐系统. 解决方案: 1.提供非个性化的推荐:热门排行榜,当用户数据收集到一定的时候,再切换为个性化推荐 2.利用用户注册时提供的年龄.性别等数据做粗粒度的个性化 3.利用用户的社交网络帐号登录,导入用户在社交网站上的好友信息,然后给用户推荐其好友喜欢的物品 4.要求用户在登录时对一些物品进行反馈

项亮《推荐系统实践》读书笔记2-推荐系统冷启动问题

推荐系统冷启动问题 如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题. 冷启动问题主要分为三类: (1) 用户冷启动:如何给新用户做个性化推荐的问题,新用户刚使用网站的时候,系统并没有他的行为数据: (2) 物品冷启动:解决如何将新的物品推荐给可能对它感兴趣的用户: (3) 系统冷启动:如何在新开发网站设计个性化推荐系统,此时网站上用户很少,用户行为也少,只有一些商品的信息. 冷启动的主要解决方案: (1) 提供非个性化推荐:如热门排行

推荐系统实践(项亮)— 第3章 推荐系统冷启动问题

3.1 冷启动问题简介 问题分类: 用户冷启动 物品冷启动 系统冷启动 常用解决方案: 利用热销榜进行推荐 利用用户注册时的年龄.性别等数据做粗粒度的个性化 利用用户社交数据为其推荐好友喜欢的物品 要求用户在登录时对一些物品进行反馈,收集用户对这些物品的兴趣信息并推荐相似产品 对于新加入的物品,可以利用内容信息,将它们推荐给喜欢过和它们相似的物品的用户 在系统冷启动时,可以引入专家的知识,通过一定的高效方式迅速建立起物品的相关度表 3.2 利用用户注册信息 基于用户注册信息的推荐算法其核心问题是

推荐系统冷启动

冷启动主要分为3类: 1. 用户冷启动:主要解决如何给新用户做个性化推荐的问题.对于新用户,没有行为数据,无法根据历史行为预测其兴趣,从而无法为其做个性化推荐. 2. 物品冷启动:主要解决新的物品推荐给可能对它感兴趣的用户 3. 系统冷启动:在一个新开发的网站上设计个性化推荐系统. 一.利用用户注册信息 用户注册的信息可以用于解决冷启动问题,信息包括3种: 1. 人口统计学信息:用户的年龄.性别.职业.民族和居住地 2. 用户兴趣的描述:用户用文字描述他们的兴趣 3. 从其他网站导入的用户站外行