个性化推荐系统的分类以及应用(7类推荐系统的思路以及优缺点)

个性化推荐系统现在已经被广泛运用,比如今日头条的推荐流,淘宝的推荐流等等。那么常用的推荐算法有哪些呢?

目前来说,主要分为 7 类。

  • 基于内容的推荐
  • 协同过滤推荐
  • 基于知识的推荐
  • 基于关联规则的推荐
  • 基于上下文的推荐
  • 基于社交网络的数据推荐
  • 混合推荐

基于内容的推荐

基于内容的推荐系统会挖掘用户曾经喜欢的物品,本质上就是利用用户已知的偏好、兴趣等特征和物品的特征相匹配,以此为用户推荐新的感兴趣的商品,这种算法主要是提取推荐对象的特征。

优点:

  • 算法出现时间较早,比较成熟。
  • 简单,有效,易于理解和解释
  • 从当前用户就可以构建兴趣模型,不需要像CF(Collaborative Filtering 协同过滤算法)一样找近邻
  • 在冷启动阶段都可以使用。
  • 没有稀疏问题

缺点:

  • 依赖于提取出来的特征,提取特征的能力会限制算法的效果,可分析内容有限。
  • 中规中矩,所推荐的信息均有特征关联,不会有什么新颖的推荐
  • 算法需要有足够真实的用户数据。
  • 一般是通过打标签的形式,比如发文章时,给文章打了特定标签。

协同过滤推荐

此算法目前在生产实践中应用最广泛,也有最多的算法。主要思想是通过对用户的历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分,并推荐品味相似的商品。也就是说,是按照已发生的行为,预测未发生的行为。

目前协同算法主要分为 基于邻域的模型算法、隐语义分析以及基于图的算法。

基于邻域的模型

此模型分为两个方向,一个是基于用户一个是基于物品。

基于用户:这种算法也是比较古老了,最初被应用于邮件过滤系统。此过滤算法主要包括两个步骤:1、找到和目标用户兴趣相似的用户集合 。2、找到这个集合中的用户喜欢的,且目标用户没有接触过的物品推荐给目标用户。

关键点就是计算两个用户的兴趣相似度。那么协同过滤算法在该情况下的主要作用就是利用行为的相似度计算兴趣的相似度。下图中 ,N(u) 和 N(v) 分别表示两个用户有过正反馈的物品的集合。下面两个式子都可以在一定程度上表示两个用户的相似程度。

基于物品的协同过滤算法

基于物品的算法是目前业界应用最多的算法。比如亚马逊、YouTube、hulu 等推荐算法都是基于该算法。与基于邻域的算法类似,该算法也分为两个步骤。

1、计算物品之间的相似度。2、根据物品的相似度和用户的历史行为给用户生成推荐列表。

个然觉得 这种推荐模式比较适合于内容性的数据推荐,像电影、书籍。相似度的程度可以用如下公示表示。

这里分母 |N(i)| 是 喜欢 i 物品的用户数。分子则是喜欢 i 和喜欢 j 物品的用户说。该公式可以理解为,喜欢 i 物品的用户中,有多少喜欢 j 的。但是如果 j 是爆款,就会出现一个问题,该公式会造成任何物品都会和热门的物品有很高的相似度。

所以,我们可以进一步调整物品 j 的权重。(思路很重要)

这个公式惩罚了 过高商品的 权重。也就是一定程度上减轻了事情发生的可能性(机器,怎么可能会完全拟合,只不过是在某一个阶段或者某一个程度下可以用公式和数字来表达一部分的现象。)由上面的公式可以 看出,两个商品产生相似度是因为他们共同被很多用户喜欢。

基于隐语义模型算法

LFM(latent factor model) 隐语义模型最早在文本挖掘领域被提出来的,用于找到文本的隐含语义,它的核心思想是通过隐含特征联系用户兴趣和物品。需要说明的是,这依然是对商品的一个分类思想。

比如,每出版一本书,这本书应该属于哪本分类就十分头疼。有很多书的分类并不那么明确。是按读者的需求分类,还是按作者的领域分类,亦或是按照书名分类?

通常受限于编辑(人工)的知识、经验,分类并不精确。本算法思路就是基于用户行为统计和自动聚类,挖掘隐含语义,然后对物品进行分类。

  • 隐含语义分析技术的分类来自对用户行为的统计,代表了用户对物品分类的看法。隐含语义分析技术和ItemCF在物品分类方面的思想类似,如果两个物品被很多用户同时喜欢,那么这两个物品就很有可能属于同一个类
  • 隐含语义分析技术允许我们指定最终有多少个分类,这个数字越大,分类的粒度就会越细,反正分类粒度就越粗。
  • 隐含语义分析技术会计算出物品属于每个类的权重,因此每个物品都不是硬性地被分到某一个类中。
  • 隐含语义分析技术给出的每个分类都不是同一个维度的,它是基于用户的共同兴趣计算出来的,如果用户的共同兴趣是某一个维度,那么LFM给出的类也是相同的维度。
  • 隐含语义分析技术可以通过统计用户行为决定物品在每个类中的权重,如果喜欢某个类的用户都会喜欢某个物品,那么这个物品在这个类中的权重就可能比较高。

基于图的模型

很人把基于 淋雨的模型看作是基于 图的模型的简单形式。

在研究基于图的模型之前,首先需要将用户的行为数据表示成图的形式。

如上图示,A,与商品 a,b,d 有关,以此类推,可以转换成右侧的图模式。

其中圆形代表人,右侧方形代表商品。那么途图中的商品相关度(分类)就由如下因素决定。

  • 两个顶点之间的路径数
  • 两个顶点之间的长度
  • 两个顶点之间的路径经过的点

相关性高的则有如下特点

  • 两个顶点之间由许多路径可以相通
  • 两个顶点之间的路径长度都比较短
  • 两个顶点之间的路径不会经过出度比较大的点

协同过滤也有基于内容的推荐系统的一些特点,比如:1、对于不频繁购买(数据不够)的商品就会存在误判。2、时间跨度过长的也不适合。3、对于长尾商品,由多个属性的也不适合。比如一部手机由颜色、屏幕、大小、电量等等决定。4、随着时间的迁移,人们的喜好可能会发生变化。5、冷启动问题

而基于只是的推荐可以解决上述问题。

基于知识的推荐

通常通过用户交互的参与获得因果知识从而生成推荐。此种方法中推荐系统通常会通过交互得到当前用户和有效商品的主要信息。

主要分为两种类型,基于约束推荐和基于实例推荐。区别在于如何使用所提的知识。基于实例的推荐系统着重于根据不同的相似度衡量方法检索出相似的物品,基于约束的推荐系统以明确定义推荐规则来集合。

优点:1、不存在冷启动问题。2、能将新物品推荐给用户。3、推荐结果不依赖单个用户的评分。

缺点:没有用户信息时,会缺少个性化特点,每个人获得的推荐都是一样。

基于关联规则的推荐

关联规则就是用来发现不同事务数据中,的事物间的相关关系。此规则说明已经在上一篇文章中说过,可以参考文章:什么是关联规则,大数据挖掘的关联规则学习

基于上下文的推荐

这里指的上下文包括访问系统的时间、地点、时长等等,依据这些可以给用户推荐更精准的信息。

比如,你的手机检测到你的IP地址变化,会给你推送新城市的旅游低点,高分评价酒店等等。

这个加入了非常多的维度,可以给用户提供更丰富多样的推荐。也是目前主流的推荐方式。本文主要对各种推荐算法进行一个初步的认识,不对算法进行探讨。有兴趣的可以参考如下链接:

https://zhuanlan.zhihu.com/p/47645655

以及论文

[1]张路遥. 基于上下文感知的推荐算法研究[D].长沙理工大学,2017.

基于社交网络数据推荐

这是近几年一些社交软件公司推出的,比如网易云、qq、微信、微博、twitter等。这些可以依据关系进行推荐。相当于又多了一个维度。

混合推荐

这个就是前面几种方式,混合而来。充分利用各个算法的优缺点,来组合解决现实问题。

赞 (1)