介绍推荐系统

目录

一、推荐系统概述

1.1 介绍

1.2 推荐系统产生的原因

1.3 推荐系统与搜索引擎的区别

1.4 推荐系统与机器学习的关系

1.5 推荐系统应用的范围

1.6 推荐系统解决了什么问题

二、推荐系统需要的数据

2.1 三个对象

2.2 获取推荐系统所需要的数据的方式

2.3 数据的来源

三、推荐系统顶级会议和期刊

四、推荐系统算法

4.1 冷启动问题

4.1 基于内容的推荐

4.2 基于协同过滤的推荐

4.3 基于人口统计的推荐

4.4 基于知识的推荐

4.4.1 基于约束的推荐

4.4.2 基于案例的推荐

4.5 基于社区的推荐

4.6 基于混合的推荐

五、推荐系统算法评价

5.1 评测指标

六、会话式系统

七、推荐系统的挑战


一、推荐系统概述

1.1 介绍

项目(item):系统向用户推荐的产品的总称。

推荐系统(Recommender System, RS):是软件工具和技术,针对缺乏足够个性经验或能力的用户,利用使用者的偏好和约束,评估在web网站或移动设备上潜在选择商品的数量并预测最有可能的最适合用户的商品或者服务。

给予使用者个性化的推荐。

 

1.2 推荐系统产生的原因

  随着电子商务网站开始发展,迫切需要通过过滤所有可用的备选方案来提供建议。用户发现很难从这些Web站点提供的大量项目(产品和服务)中找到最合适的选择。Web上信息的爆炸性增长和多样性,以及新的电子商务服务(购买产品、产品比较、拍卖等)的引入,经常使用户不知所措,导致他们做出糟糕的决策。拥有选择的权利非但没有带来好处,反而开始降低用户的幸福感。

所以基于个性化的推荐,对于用户是极其重要的。

 

1.3 推荐系统与搜索引擎的区别

搜索引擎:主动的明确的。

推荐系统:当游览目标不明确,推荐系统根据用户的喜好,帮助用户发现自己很难发现的商品。特点:被动、模糊、个性化、有趣、有用。

各种引擎还尝试通过为用户查询生成结果来应用某种形式的个性化,这些结果不仅与查询词相关,而且还针对用户上下文(例如,她的位置)和她的搜索历史进行定制

1.4 推荐系统与机器学习的关系

  机器学习是核心方法,而推荐系统是运用机器学习的方法来实现明确的业务场景。

 

1.5 推荐系统应用的范围

1. 娱乐推荐:对电影、音乐和网络电视。

2.内容个性化推荐:报纸、文档推荐、网页建议、电子学习应用程序和电子邮件过滤。

3.电子商业推荐:购买书籍、照相机、电脑等。

4.服务推荐:游玩服务、专家咨询、房屋租赁或婚介服务

 

1.6 推荐系统解决了什么问题

(1)增加销售量,提高转化率:将游览web的人数,变成购买商品的人数

(2)解决信息过载问题(帮助用户过滤掉价值低的信息):商品、视频有好几百万

用户:怎样找到自己感兴趣的物品?

推荐系统:怎样展示几百万的物品给用户,达到自己的商业目标。

(3)挖掘长尾:大部分冷门的商品得不到暴露,然而他们的价值可能超过热门商品。

(4)提升用户在网站或应用程序的体验:RS能够推荐用户感兴趣,但用户又很难发现商品。

(5)增加使用者的满意程度:用户与网站交互的时间越长,用户模型就越精细,就越更好的理解用户的想要的,以便提供更加个性化的服务。

 

二、推荐系统需要的数据

2.1 三个对象

推荐系统使用的数据三种对象:项目、用户、交易。 即用户与项目之间的关系。

用户:用户被建模成一个简单的列表,假设包含着:年龄、性别、职业和教育程度。用户模型中每个因子的权重不同。

项目:是被推荐的对象,项目的特点可能是复杂性和价值。如果项目对用户有用,则该项目的值是正,或者如果该项目不合适并且用户在选择它时做出了错误的决定,则该值是负。在推荐系统RS里,可以使用各种信息来表示项目。例如 电影中(电影的类型、导演、演员都可以用来描述一部电影)。

交易:是用户与推荐系统之间的记录交互,类似于日志的数据,存储人机交互过程中的重要信息。包含着 用户对某些项目的评价或评分,形式采用多种形式:

数值评价1~5星;

顺序排序 (非常喜欢 喜欢  一般 不喜欢);

布尔评价(喜欢还是不喜欢);

一元评价(用户已经购买或者看过某个商品,或者对商品表达好感);

评估形式:用户向系统提供项目相关联的标签 ,比如用户说一部分电影 太长 或者 太枯燥;

 

2.2 获取推荐系统所需要的数据的方式

(1)显示获取(explicitly):通过物理设备感知、用户问询、用户主动设定等方式,直接获取与用户、项目关联的上下文信息。

(2)隐式获取(implicitly):利用已有数据或周围环境简介获取上下文信息,即可以根据用户与系统的交互日志获取时间上下文信息。

(3)推理获取:通过统计学方法或者数据挖掘技术。可以利用朴素贝叶斯分类器或者其他预测模型推理用户是在“家里”还是在“办公室。

 

2.3 数据的来源

初级是:用户的评分/评价  

高级是:用户和项目的描述,约束,社会关系和活动

涉及到 项目 – 交易 – 用户

 

三、推荐系统顶级会议和期刊

学习人工智能,推荐系统,跟踪学术界的最新动态,关注顶级会议和顶刊是必不可少的。

顶级会议:

The ACM Conference Series on Recommender Systems, Recsys

ACM Special Interest Group on Information Retrieval  SIGIR

Special Interest Group on Management Of Data   SIGMOD

顶刊:

 

AI Communications

IEEE Intelligent Systems

International Journal of Electronic Commerce

International Journal of Computer Science and Applications

ACM Transactions on Computer-Human Interaction

ACM Transactions on Information Systems

四、推荐系统算法

在没有用户偏好的精确信息的情况下,将采用非个性化的推荐方法,把热门的项目推荐给用户(许多用户喜欢,那么大多数用户也会喜欢)

但这种方法是远远不够的,下面会介绍常用的推荐系统的算法

4.1 冷启动问题

  在选择推荐算法时,应当考虑冷启动问题,什么是冷启动

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

分为三类:

  • 用户冷启动,用户冷启动主要解决如何给新用户做个性化推荐的问题。当新用户到来时,我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣,从而无法借此给他做个性化推荐。
  • 物品冷启动,物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题。

       系统冷启动 ,系统冷启动主要解决如何在一个新开发的网站上(还没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。

 

4.1 基于内容的推荐

  基于内容(Content-based,CB)-----自己喜欢的关联,推荐用户过去喜欢的商品相似的商品,比较项目相关的特征来计算项目的相似性(推荐用户 他喜欢同类型的电影,比如他给喜剧打了高分,那么就给他推荐喜剧电影)

4.2 基于协同过滤的推荐

它是目前最流行,应用最广泛的推荐算法

 基于协同过滤(Collaborative filtering  CF)----人与人之间的关联,向活动用户推荐过去其他相似品味的用户喜欢的商品:利用两个用户的评价历史记录的相似,来计算两个用户之间的相似度。

这里有二个名词,现在还不是很明白,后面会深入学习一下。 

矩阵分解(matrix factorization ):把项目和用户都转换为相同的潜在因子空间

根据用户反馈自动推断出的因素来表达产品和用户的特征,从而利用潜在空间来解释评分

潜在空间:学习数据的特征并简化数据表示形式以寻找模式

解决对邻域大小的限制,解决隐式反馈和时间动态的问题,

4.3 基于人口统计的推荐

基于人口统计(Demographic-based , Db)根据用户的基本信息,将相似的用户喜欢的项目推荐给当前用户。

例如 根据用户的语言或国家将他们分派到特殊的网站上,或者根据用户的年龄来进行建议。

缺点:粗糙有些人品味独特,无法个性化, 还有用户的信息比较难获取。

4.4 基于知识的推荐

基于知识(Knowledge-based ,Kb) 分为基于约束的推荐系统、基于案例的推荐系统

首先为什么要用:基于知识的推荐

因为在 一些冷门商品,例如豪车、别墅、奢侈品 ,很少有人购买,那么就无法用协同过滤的方法,用好友的偏好,向自己推荐。

4.4.1 基于约束的推荐

利用预定义的知识库,该知识库包含关于如何将客户需求与项目特征相关联的明确规则。

  即在一些用户-物品 信息上加上约束条件,先找到整个推荐集合,再找到满足约束条件的子集。

如果加上约束以后,找不到商品怎么办,那么系统会自动减轻约束条件。

4.4.2 基于案例的推荐

与基于约束的推荐最大的不同就是没有硬性的条件,但需要最大化/最小化某些特征

利用相似性度量来确定推荐。

 

4.5 基于社区的推荐

  基于社区的推荐(Community-based ) ,利用用户朋友给RS提供的评级,人们更倾向于接收朋友的推荐,而不是相似 匿名个人的推荐,RS 首先获取用户的社会关系和用户朋友偏好的信息。

缺点:不是很精确,除非在有争议的商品(对不同的人 对一个特定商品评价差异很大),或者在冷启动的过程中,用户没有提供足够的评分来计算与其他用户的相似性。

4.6 基于混合的推荐

  基于混合的推荐(Hybrid recommender ) ,协同过滤会遇到新商品的问题,不能推荐没有评价的商品,所以就需要综合几种不同的 推荐算法,来弥补协同过滤算法的缺点。

例如在时间的背景下,冬季假期的推荐和夏天就完全不同, 或者周六晚上和朋友聚餐,和工作日与同事吃工作餐的推荐是不同

 

五、推荐系统算法评价

  建立三个维度的环境模型:系统用户、数据的特征、整个应用程序

需要在推荐系统的生命周期的不同阶段进行评估,

首先在设计时,需要评估来验证合适的推荐方法,采用离线评估,即在相同的用户的交互数据上运行多种推荐算法,来比较各个算法的性能。

在推荐系统启动后,也需要评估,叫做在线评估。推荐系统里的正在交互的真实的用户信息进行在线评估以提高系统性能。在大多数算法中,有很多超参数需要调整和校准,如权值阈值、邻居数量。

5.1 评测指标

信任:利用社交关系来建立新的推荐算法,

七个角色:

透明度:解释系统的工作方式

信任:增加用户对系统的信心

有效性:帮助用户做出正确的决策

劝说;说服用户去买

效率:帮助使用者做决策更快

满意:增加用户的舒适感

RS的可信度对增加用户接收推荐的概率 至关重要

六、会话式系统

  如果算法被设计成 只是收集一次所有的数据,这种模型可能是无效的,因为用户并没有完全意识到自己的偏好,只有在用户与推荐系统进行一定程度的交互以后,才可能解决最初系统推荐的项目是错误的问题。

 

七、推荐系统的挑战

(1)大型和真实世界数据库的可拓展性:如何将核心推荐技术嵌入到实际的操作系统中,如何处理用户与RS系统产生大量动态的数据。

(2)主动推荐系统:不仅需要预测推荐什么,还需要预测何时以及如何推荐。

(2)对目标用户推荐项目的多样性:项目之间存在一定程度的多样性,用户更有可能找到合适的项目。对受限类型的产品进行完美推荐通常没有价值,除非用户表达了一组小众的偏好,在推荐过程的早期,用户想要探索新的和多样化的方向,在不同的推荐会话之间还是在一个会话内寻找多样性,以及如何将多样性目标与推荐的准确性结合起来。

(3)隐私保护推荐系统:推荐系统收集尽可能多的用户数据,这会对用户的隐私产生负面影响,如何合理、节约的使用用户数据,还要防止黑客盗取用户的数据。

(4)在建立推荐列表的过程中整合长期和短期用户偏好:通过合计所有用户在系统中的交易数据生成长期的配置文件。例如基于案例的推荐中,更关注于捕捉用户的短期偏好。

(5)通用用户模型和跨领域推荐系统能够通过不同系统和应用领域来传递用户数据:比如在百度里搜索了 耐克相关的信息, 可能淘宝就会推荐耐克的商品

(6)在开放式网络中运行分布式推荐系统:经典模式 用户-客户端 向服务器-推荐器请求推荐,服务器-推荐器给予回复。 网格计算或云计算的兴起能够解决这个问题。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值