【基于模型的协同过滤3】关联规则

2020-06-17  本文已影响0人  虾图米粒

关联规则和协同过滤之间的关系其实是在超市数据背景下是很自然而然被提到一起的。关联规则也是自然而然在二进制数据上定义的,与以往一样处于简化考虑,我们在截下来讨论中只讨论二进制,当然数值数据也可以转化为二进制数据, 然后通过同样的框架往下分析。

为了比较协同过滤和关联规则我们做出如下的背景上的定义

关联规则算法回顾

关联规则挖掘的关键是确定交易数据库中紧密相关的项目集。其中最重要的两个概念是支持度和置信度。这两个概念量化并且有效表达了项目集之间的关系。下面看看支持度和信任度是如何定义的。

支持度:一个项目X子集的支持度X\subseteq I是所有交易\tau中包含X子集的比例

如果项目子集X的支持度至少等于某阈值s,则该项目集被称为是频繁的。这个阈值称为最低支持度。这些频繁的项目集为有关客户购买行为相关性的提供重要信息。这样的信息有助于商人为客户推荐更合适的购买产品或者做客制化的营销。,因为她可以使用它们做出建议和其他目标市场决策。一个有趣的例子,沃尔玛通过关联规则发现,男性顾客在购买婴儿尿片时会顺便搭配购买几瓶啤酒来犒劳自己,于是将将啤酒和尿布两个不相关的物品摆在一起。这一举措居然使尿布和啤酒的销量都大幅增加了。

另一点很重要的是这些关联规则往往存在方向性,关联规则以X \Rightarrow Y的形式表示,其中\Rightarrow为相关性给出了方向。X通常为已知的, 通过已知的X来推测Y。这个方向的强度我们可以用置信度来表示

置信度:规则X \Rightarrow Y的置信度是,在一个交易包含项目X的情况下,交易中同事项目Y的条件概率。通过将 X \cup Y 的支持度除以X的支持度来获得置信度。

置信度越高,总是表明规则强度越大。例如,如果规则X \Rightarrow Y为真,那么知道特定客户组已经购买了商品组X的商人也可以使用商品组Y定位这些客户,我们也称X 为前提条件。

将支持度和置信度结合起来就是关联规则了:
关联规则:如果满足以下两个条件,则规则X \Rightarrow Y被认为是最小支持s和最小置信度c的关联规则:

查找关联规则的过程一般一个两阶段算法。在第一阶段,确定满足最小支持阈值s的所有项目集Z。从这些满足条件的项目集中找到所有可以可能的项目集分割(X,Z-X) 用于创建潜在规则X \Rightarrow Z-X。然后在第二阶段保留满足最小置信度的那些规则。

关联规则在协同过滤上的延展

基于规则的协同过滤的第一步是发现满足最小支持度阈值和最小置信度阈值的所有关联规则。最小支持度阈值和最小置信度阈值可以看作是模型的参数,我们可以通过对这两个参数进行调整,以最大程度地提高预测准确性。接下来从所有关联规则中找到仅保留规则中的结果仅包含个项目的的规则。这些规则就组成了最基础的推荐模型。

具体而言, 假如我们希望向客户A其推荐相关项目。第一步是确定已由客户A触发的所有关联规则。触发的定义是,如果规则之前的项目集是该客户偏爱的项目的子集,则称关联规则已由客户A触发。截下来将所有触发的规则通过置信度从高到低进行排序。最终可以将这些排序规则的结果中发现的前k个项目推荐为客户A的前k个推荐。

如果推荐系统捕捉的并不是简单的喜欢或者不喜欢 而是具体的评分,我们可以将评分和项目一期放到关联规则中,最后通过加权平均的方式来解决有冲突的规则,以做出最终的预测。

基于项目模型 v.s. 基于用户模型

之前谈到的关联规则在协同过滤上的延展主要是基于项目的模型,除此之前我们也可以创建基于用户的模型。这些模型通过利用用户的关联规则而不是项目关联规则进行预测。

规则1:(用户=A , 评分= 喜欢) \Rightarrow (用户=B , 评分=不喜欢)
规则2:(用户=A , 评分= 喜欢) AND (用户=C , 评分=不喜欢) \Rightarrow (用户=D , 评分=喜欢)
规则1意味着A可能不喜欢B喜欢的物品。第二条规则暗示D可能喜欢A喜欢和C不喜欢的东西。

基于用户的模型实质上是基于项目模型的一个转置,转置后原有的项目变成了用户。我们现在可以把每个用户当做交易。具体而言,为了预测用户项目组合的评分,第一步我们可以确定由项目触发的所有关联规则。当关联规则的前提条件包含用该项目的用户子集时,关联规则由项目触发。我们最后可以将触发的用户关联规则根据置信度进行排序为项目做出前k个用户推荐。

其它思考

关联规则方法不仅对协同过滤有用也对基于内容的推荐系统有用,在该系统中,客户资料与特定项目匹配。这些规则称为资料关联规则,并且普遍用于基于用户资料的推荐系统。

我们可以将基于关联规则的推荐系统视为一般基于规则传统分类问题的进一步高度的概括。这两者主要区别在于,传统分类问题中生成的规则的结果始终包含因变量项目。但是,在推荐系统的情况下,生成规则的结果可能包含任何项目。此外,在协同过滤和传统分类中,用于对触发规则进行排序并结合规则中可能有冲突的结果进行加权后再排序的方法很类似。

在实际应用中,基于关联规则的系统已在基于Web的个性化推荐器系统中找到了重要的应用。该这种推荐方法专为Web点击行为中经常遇到的稀疏交易数据而设计的,自然适用于Web个性化系统。这种方法也可以延伸到基于时序的数据挖掘模型。

喜欢请点赞,转载请注明出处!

参考文献
[1] Aggarwal, Charu C.Recommender systems. Vol. 1. Cham: Springer International Publishing, 2016.

上一篇 下一篇

猜你喜欢

热点阅读