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

3.1 冷启动问题简介

  • 问题分类:
  • 用户冷启动
  • 物品冷启动
  • 系统冷启动

  常用解决方案:

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

3.2 利用用户注册信息

  基于用户注册信息的推荐算法其核心问题是计算每种特征的用户喜欢的物品。帮助用户发现他们不容易发现的物品,而不是热门物品。

  基本流程:(1)获取用户注册信息;(2)根据注册信息对用户分类;(3)给用户推荐他所属分类中用户喜欢的物品。将推荐列表根据一定的权重相加,得到最终的推荐列表。

3.3 选择合适的物品启动用户的兴趣

  在新用户第一次访问推荐系统时,不立即给用户展示推荐结果,而是提供一些物品,根据用户的反馈来提供个性化推荐。  

  选择启动物品需要具备的特点:

  • 比较热门:让用户对一个物品进行反馈,前提是用户知道这个物品是什么;
  • 具有代表性和区分性: 可以区分用户个性化兴趣,而不是大众化,老少皆宜的;
  • 启动物品集合需要有多样性:用户兴趣的可能性非常多,需要提供具有很高覆盖率的启动物品集合
    • 利用决策树选择启动物品集合:P87

  一般可以使用决策树算法构建一个这样的选择启动物品集合的系统。给定一群用户,用这群用户对物品评分的方差度量这群用户兴趣的一致程度。如果方差很大,说明这一群用户的兴趣不太一致,反之则说明这群用户的兴趣比较一致。通过如下方式度量一个物品的区分度D(i):

  另一种理解:计算的这个方差,相当于决策树里计算的信息熵,

  三项分别还是喜欢、不喜欢、不知道商品i的用户对其他物品评分的方差。决策树算法首先会从所有用户中找到具有最高区分度的物品i,然后将用户分成3类。然后在每类用户中再找到最具区分度的物品,然后将每一类用户又各自分为3类,也就是将总用户分成9类,然后这样继续下去,最终可以通过对一系列物品的看法将用户进行分类。而在冷启动时,我们从根节点开始询问用户对该节点物品的看法,然后根据用户的选择将用户放到不同的分枝,直到进入最后的叶子节点,此时我们就已经对用户的兴趣有了比较清楚的了解,从而可以开始对用户进行比较准确地个性化推荐。

3.4 利用物品的内容信息

  对于物品的冷启动问题,一般是利用物品的文本信息,计算物品的词向量,然后根据词向量计算物品的相似性,将其加入相似性矩阵。通过物品内容(文本)计算物品相似性,基于内容的过滤算法。

3.5 发挥专家的作用

  针对系统冷启动问题,一般使用专家进行样本标注。

原文地址:https://www.cnblogs.com/eilearn/p/9860075.html

时间: 2024-11-06 07:26:03

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

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

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

项亮《推荐系统实践》读书笔记1-推荐系统评价指标

推荐系统评价指标 1.评分预测 预测准确度: 均方根误差(RMSE): 平均绝对误差(MAE): 关于这两个指标的优缺点,Netflix认为RMSE加大了对预测不准的用户物品评分的惩罚(平方项的惩罚),因为对系统的评测更加苛刻.研究表明,如果评分系统是基于整数建立的(即用户给的评分都是整数),那么对预测结果取整会降低MAE的误差. 2.Top N推荐:给用户一个个性化的推荐列表,预测准确率一般通过准确率和召回率度量. 令 R(u)是根据用户在训练集上的行为给用户作出的推荐列表,而T(u)是用户在

题记 《推荐系统实践》读书笔记

<推荐系统实践>是一本入门级书籍,全书不到200页,通熟易懂,非常适合初学者.记不起上次阅读该书是什么时候,可以确定的是很定不超过三个月,今天回想梳理全书结构,甚是模糊,而是打算重读一遍.并在这里留下些许痕迹,以帮助日后回忆之用.对本笔记内容感兴趣的读者还请购买正版书籍,尊重作者权益! 作者介绍如下: 项亮,毕业于中国科学技术大学和中国科学院自动化所,研究方向为机器学习和推荐系统,现任职于北京Hulu软件技术开发有限公司,从事视频推荐的研究和开发.2009年参加Netflix Prize推荐系

推荐系统实践整体化总结

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

推荐系统实践小结 转

之前对于推荐,一直都仅限于理论书籍,浅一点像<集体智慧编程><推荐系统实践>,复杂的像<数据挖掘><机器学习>,当然也没看太深入.当时对推荐系统的看法是,这是一个以算法为核心的系统,一切价值体现都在算法模型上了.不过这段时间有幸参与到真实系统,稍有改观.下最近的一些想法吧,当然作为一个系统开发人员,理论算法方面的理解可能有点偏颇. 1.业务永远是第一位----------我们的本质是销售. 话说做推荐,和做营销的本质区别是什么? 还要说下销售和市场的区别,我

推荐系统实践(七)

第七章 推荐系统实例 7.1 外围架构 数据收集和存储 需要实时存取的数据存储在数据库和缓存中,而大规模的非实时地存取数据存储在分布式文件系统中(HDFS)中. 7.2 推荐系统架构 用户和物品的联系如下所示: 如果认为用户喜欢的物品也是一种用 户特征,或者和用户兴趣相似的其他用户也是一种用户特征,那么用户就和物品通过特征相联系.基于上述的理解我们可以把推荐系统的核心任务拆分位两个部分1 > 如何给用户生成特征 > 如何根据特征找到物品 推荐系统的需求有很多,可以根据不同的需求设计不同的推荐引

《Java并发变成实践》读书笔记---第二章 线程安全性

什么是线程安全性 要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问.从非正式的意义上来说,对象的状态是指存储在状态变量(例如实例或静态域)中的数据."共享"意味着变量可以由多个线程同时访问,而"可变"则意味着变量的值在其生命周期内可以发生变化.所以编写线程安全的代码更侧重于如何防止在数据上发生不受控的并发访问. 如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误

Python编程入门到实践 - 笔记(1,2章)

自学 Python 有段时间了,总是觉得自己基础不牢,想着把看完的两本基础书写个博客做个笔记啥的. 准备在重新看一遍<Python编程入门到实践>,坚持写博客笔记. Python编程入门到实践的前两章笔记,学习的内容如下: 查看当前环境中的 python 版本 python环境的搭建 变量和变量的命名 字符串的打印 修改字符串的大小写 制表符和换行符 删除空白字符 python的整数运算,计算平方,立方 使用 str() 函数 查看当前环境中的 python 版本 命令行下输入 python 

《Java并发变成实践》读书笔记---第一章 简介

<Java并发编程实战>深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册.书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险.构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁.原子变量.非阻塞算法以及

Python编程从入门到实践(第三、四章的列表和元祖) &#142015;

原文: http://blog.gqylpy.com/gqy/414 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我