首页 > 编程知识 正文

大数据电影推荐系统论文,基于大数据的推荐系统

时间:2023-05-04 17:34:06 阅读:41044 作者:742

这次介绍商品推荐系统:

推荐系统是什么推荐引擎分类中常见的推荐算法混合推荐机制(重要)推荐系统体系结构协同过滤的实现推荐引擎解决的几个问题

活动用户通过类别和搜索进行引导,进入结果页面后处于被动状态的用户通过用户的历史行为分析,推荐用户可能感兴趣的商品。 对商家来说,帮助商家卖更多东西的推荐系统是为了什么? 有了个性化的推荐系统,可以解决没有信息过载和用户明确需求的问题,找到用户感兴趣的东西。

分类目录和搜索引擎解决了信息过载的问题。 最具代表性的解决方案是分类目录和搜索引擎,如hao123、电子商务首页分类目录和百度、360搜索等。

但是,分类目录和搜索引擎只能满足用户主动查找信息的需要。 也就是说,用户只知道自己想要什么,而不能解决用户没有明确需求的随意问题。

经典语录,你想吃什么,随便! 对于这种轻松不犯罪的用户(她和上帝),我们只能分析用户的历史行为来建模用户的兴趣,并主动向用户推荐满足自己兴趣和需求的信息。 例如,问问她的好朋友,她什么时候喜欢吃什么。 推荐系统广泛存在于各种网站上,并作为APP应用向用户提供个性化推荐。 需要用户的历史数据,一般由基础数据三部分组成

包括用户访问、浏览、订单、收藏、用户历史订单信息、评价信息等多种信息的推荐算法系统推荐算法系统主要是基于不同的推荐诉求由多种算法组成的推荐模型前台展示、前台展示主要是库克斯

推荐引擎的分类推荐引擎的分类可以根据很多指标来区分:

基于一般分类大众行为的推荐引擎

根据大众行为推荐引擎,所有用户将被给予相同的推荐。 这些推荐可以静态地由系统管理员手动设置,也可以是基于系统中所有用户的反馈统计计算的当前流行推荐。 [销售排行榜、关注排行榜、好评排行榜]定制推荐引擎,根据用户的喜好和喜好进行更准确的推荐。 此时,系统需要了解应该推荐的内容和用户的特质,或者基于社交网络,通过找到与当前目标用户相同喜好的用户来实现推荐。 数据源进行的区分是由数据源进行区分的。 主要根据数据之间的相关性进行推荐。 因为大多数推荐引擎的工作原理都是基于项目或用户的相似集进行推荐的。

根据系统用户的基本信息发现用户的关联度。 这种基于人口统计学的推荐(demographic-basedrecommendation )根据推荐的项目和内容的元数据来发现项目和内容的相关性。 基于内容的这种推荐可以基于用户对项目和信息的偏好来发现项目和内容本身的相关性或者发现用户的相关性。 这种称为基于协同过滤的推荐的常用推荐算法是迄今为止个性化推荐系统中协同过滤技术最成功的技术。 目前,国内外已有多家大型网站应用该技术,为用户提供更加智能的“个性化、千人千面”推荐内容。

我们主要介绍协同过滤算法

基于用户的协同过滤算法第一代协同过滤技术是基于用户的协同过滤算法,基于用户的协同过滤算法在推荐系统中取得了很大的成功,但它有自己的局限性。

基于用户的协同过滤算法首先计算的是用户与用户的相似度(兴趣相投,人以群分物以类聚),然后将相似度比较接近的用户A购买的物品推荐给用户B,专业的说法是该算法用最近邻居(nearest-neighbor)算法,找出用户和用户具有相似偏好的用户的邻居集合,该算法根据邻居的偏好将该用户

用户购买历史记录

我买过机灵的羊。 橘子、橙子、苹果、手机、厕纸

我买过bmdxs。 橘子、橙子、苹果、手机、

帅大叔买过。 橘子、橙子、苹果http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

推荐给英俊的叔叔

与帅大叔相似的用户是机灵的羊和bmdxs,他们的购买记录总结结构是

橘子、橙子、苹果、手机、厕纸

去除已经反复购买的东西,向帅大叔推荐以下产品。

手机、厕纸

冷启动问题:

基于用户的协同过滤算法是基于用户购买的商品推荐的,因此只有用户已经选择(购买)的才有机会推荐给其他用户。 对于从未买过的商品,由于大灾难,没有机会出头了。

计算量大的问题:

在拥有1000万级活动用户的电子商务网站上,一个用户参与了一亿级的计算。

解决方案:

用聚类算法计算站点中不同的用户组。

400 *10个类别

按10个类别计算用户之间的相似度,实际上就是计算400个用户之间的相似度。

问题:

你怎么推荐新用户? --------默认建议

基于用户的协同过滤算法,推荐的商品都已经购买,但没有被用户购买的商品该怎么推荐呢? ------------混合推荐,洗牌多种推荐模型的结果后混合推荐

商品数据和用户数都很大的情况下,怎么处理? ------按照一定的群集策略,将用户

聚类/物品聚类

基于物品(item)的协同过滤算法

第二代协同过滤技术是基于物品的协同过滤算法,基于物品的协同过滤算法与基于用户的协同过滤算法基本类似。

他使用所有用户对物品或者信息的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。
这听起来比较拗口,简单的说就是几件商品同时被人购买了,就可以认为这几件商品是相似的,可能这几件商品的商品名称风马牛不相及,产品属性有天壤之别,但通过模型算出来之后就是认为他们是相似的。什么?你觉得不可思议,无法理解。是的,就是这么神奇!

举个例子: 物品购买记录
机灵的羊购买过,橘子,橙子、苹果、手机、卫生纸
bmdxs购买过,橘子,橙子、苹果、手机、
英俊的大叔购买过,橘子,橙子、苹果当两个商品同时被购买,就认为相似。
橘子 和 橙子的相似度 3
橘子 和 苹果的相似度3
橘子 和 手机的相似度2
橘子 和 卫生纸的相似度 1怎么推荐?
假设有新用户购买过橘子
那么相关商品有:橙子3、苹果3、手机2、卫生纸1,则会给他推荐这些物品。

其实基于项目的协同过滤推荐机制是 Amazon 在基于用户的机制上改良的一种策略,因为在大部分的 Web 站点中,物品的个数是远远小于用户的数量的,而且物品的个数和相似度相对比较稳定,同时基于项目的机制比基于用户的实时性更好一些。

但也不是所有的场景都 是这样的情况,可以设想一下在一些新闻推荐系统中,也许物品,也就是新闻的个数可能大于用户的个数,而且新闻的更新程度也有很快,所以它的形似度依然不稳 定。所以,其实可以看出,推荐策略的选择其实和具体的应用场景有很大的关系。

混合的推荐机制(重要)

在现行的 Web 站点上的推荐往往都不是单纯只采用了某一种推荐的机制和策略,他们往往是将多个方法混合在一起,从而达到更好的推荐效果。关于如何组合各个推荐机制,这里讲几种比较流行的组合方法。

加权的混合(Weighted Hybridization): 用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。切换的混合(Switching Hybridization):前面也讲到,其实对于不同的情况(数据量,系统运行状况,用户和物品的数目等),推荐策略可能有很大的不同,那么切换的混合方式,就是允许在不同的情况下,选择最为合适的推荐机制计算推荐。分区的混合(Mixed Hybridization):采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。其实,Amazon,当当网等很多电子商务网站都是采用这样的方式,用户可以得到很全面的推荐,也更容易找到他们想要的东西。分层的混合(Meta-Level Hybridization): 采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐。 推荐系统的应用场景

Amazon 利用可以记录的所有用户在站点上的行为,根据不同数据的特点对它们进行处理,并分成不同区为用户推送推荐:

今日推荐 (Today’s Recommendation For You): 通常是根据用户的近期的历史购买或者查看记录,并结合时下流行的物品给出一个折中的推荐。新产品的推荐 (New For You): 采用了基于内容的推荐机制 (Content-based Recommendation),将一些新到物品推荐给用户。在方法选择上由于新物品没有大量的用户喜好信息,所以基于内容的推荐能很好的解决这个“冷启动”的问题。捆绑销售 (Frequently Bought Together): 采用数据挖掘技术对用户的购买行为进行分析,找到经常被一起或同一个人购买的物品集,进行捆绑销售,这是一种典型的基于项目的协同过滤推荐机制。别人购买 / 浏览的商品 (Customers Who Bought/See This Item Also Bought/See): 这也是一个典型的基于项目的协同过滤推荐的应用,通过社会化机制用户能更快更方便的找到自己感兴趣的物品。 推荐系统架构 京东推荐系统架构

淘宝推荐系统架构

协同过滤的实现 收集用户偏好及标准化处理

要从用户的行为和偏好中发现规律,并基于此给予推荐,如何收集用户的偏好信息成为系统推荐效果最基础的决定因素。用户有很多方式向系统提供自己的偏好信息,而且不同的应用也可能大不相同,下面举例进行介绍:

在一般应用中,我们提取的用户行为一般都多于一种,关于如何组合这些不同的用户行为,基本上有以下两种方式:

将不同的行为分组:一般可以分为“查看”和“购买”等等,然后基于不同的行为,计算不同的用户 / 物品相似度。比如:“购买了该图书的人还购买了 …”,“查看了图书的人还查看了 …”根据不同行为反映用户喜好的程度将它们进行加权,得到用户对于物品的总体喜好。一般来说,显式的用户反馈比隐式的权值大,但比较稀疏,毕竟进行显示反馈的用户是少数;同时相对于“查看”,“购买”行为反映用户喜好的程度更大,但这也因应用而异。 数据减噪和归一化

收集了用户行为数据,我们还需要对数据进行一定的预处理,其中最核心的工作就是:减噪和归一化。

减噪:用户行为数据是用户在使用应用过程中产生的,它可能存在大量的噪音和用户的误操作,我们可以通过经典的数据挖掘算法过滤掉行为数据中的噪音,这样可以是我们的分析更加精确。归一化:如前面讲到的,在计算用户对物品的喜好程度时,可能需要对不同的行为数据进行加权。但可以想象,不同行为的数据取值可能相差很 大,比如,用户的查看数据必然比购买数据大的多,如何将各个行为的数据统一在一个相同的取值范围中,从而使得加权求和得到的总体喜好更加精确,就需要我们 进行归一化处理。最简单的归一化处理,就是将各类数据除以此类中的最大值,以保证归一化后的数据取值在 [0,1] 范围中。

进行的预处理后,根据不同应用的行为分析方法,可以选择分组或者加权处理,之后我们可以得到一个用户偏好的二维矩阵,一维是用户列表,另一维是物品列表,值是用户对物品的偏好,一般是 [0,1] 或者 [-1, 1] 的浮点数值。

相似度

当已经对用户行为进行分析得到用户喜好后,我们可以根据用户喜好计算相似用户和物品,然后基于相似用户或者物品进行推荐,这就是最典型的 CF 的两个分支

基于用户的 CF基于物品的 CF。

关于相似度的计算,现有的几种基本方法都是基于向量(Vector)的,其实也就是计算两个向量的距离,距离越近相似度越大。
在推荐的场景中,在用 户 - 物品偏好的二维矩阵中,我们可以将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,或者将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度。

常用的相似度计算方法:

俊秀的发箍距离(Euclidean Distance)皮尔逊相关系数(Pearson Correlation Coefficient)Tanimoto 系数(Tanimoto Coefficient)
采用的临近原则一般是固定数量的邻居:K-neighborhoods 或者 Fix-size neighborhoods基于相似度门槛的邻居:Threshold-based neighborhoods
计算基于用户的 CF(User CF)

基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。计算上,就是将一个用户对所有物品的偏好作为一个向量 来计算用户之间的相似度,找到 K 邻居后,根据邻居的
相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐。

上图 给出了一个例子,对于用户 A,根据用户的历史偏好,这里只计算得到一个邻居 - 用户 C,然后将用户 C 喜欢的物品 D 推荐给用户 A。

计算基于物品的 CF(Item CF)

基于物品的 CF 的原理和基于用户的 CF 类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户s对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。

从计算 的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的 物品,计算得到一个排序的物品列表作为推荐。

下图 给出了一个例子,对于物品 A,根据所有用户的历史偏好,喜欢物品 A 的用户都喜欢物品 C,得出物品 A 和物品 C 比较相似,而用户 C 喜欢物品 A,那么可以推断出用户 C 可能也喜欢物品 C。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。