




已阅读5页,还剩70页未读, 继续免费阅读
(计算机软件与理论专业论文)基于协同过滤的推荐系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
l j (: 日期:力,口年厂月w 日 一 摘要 摘要 随着互联网的快速发展,电子商务得到了广泛的应用。系统规模也变得越来 越大。面对如此多的信息量,传统的推荐系统已经无法满足向人们进行个性化推 荐的需求。协同过滤做为一种常用的减少信息过载的技术,已经成为个性化推荐 系统的一种主要工具,然而现有的大多数协同过滤算法都存在数据稀疏的问题。 如何在数据稀疏的情况下提高推荐系统预测的精确率成为本文需要研究的主要问 题。 本文以协同过滤系统中的数据稀疏问题为主要研究对象。在深入分析常见的 推荐算法的基础上,提出了结合奇异值分解、基于用户和项目的协同过滤算法的 混合型推荐算法。在数据稀疏的情况下,该算法可以提高推荐系统的预测精确率。 主要工作包括: 1 论述了推荐系统的研究意义以及国内外研究现状。 2 深入介绍了基于内容的过滤技术与协同过滤技术,并对这两种技术的优缺 点进行了探讨。 3 介绍了奇异值分解的有关概念与评价个性化推荐系统性能的各种指标。 4 深入研究了协同过滤系统中的数据稀疏问题和相似度计算存在的问题的解 决方法,先分析了现有的解决方法,然后提出了h 蛳d s v d 方法。h y b 订d s v d 方 法先用奇异值分解来获得活动用户的邻居,然后利用修正的相似度计算方法和基 于用户与项目的协同过滤技术来预测活动用户的评分。 5 对常用的推荐算法与h v b r i d s v d 方法在两个数据集上的实验结果进行了对 比分析。结果显示本文的方法比其它方法有更好的性能。 关键词:推荐系统,协同过滤( c f ) ,奇异值分解( s v d ) ,稀疏性 a b s t r a ( 了r a b s t r a c t w i mt h er a p i dd e v e l o p m 饥to fn l ei n t e n l e t ,e - b l l s i n e s si sw i d e l yu s e d t l l es y s t 锄 s c a l eb e c o m e1 砸g c ra n dl 掣t r 撕c i t o n a lr e c o m m e i l d 撕o ns y s t e mc 趾n o ts a t i s 矽m e d e m a i l do f 西n gt l l ec u s t o m e r sp e r s o n a l i z e dr e c o m m 胁d a t i o na b o u t 吐l ep r o d l l c t s 仔o m s 0n m c hi n f o m l a t i o n c o l l a b o r a t i v ef i l t e f i n gi sap o p l u a rt e c h i l i q u e 矗wr e d u c i n gm e i i l f 0 】1 i l a t i o no v 盯l o a d h o w e 峨m d s to f 也ec u l l r tc 0 1 l a b o r a t i v e6 1 锄n ga l g o r i t l l 】 i l sh a s t l l e1 i 芏i l i t a t i o no fd a t as p a r s i 啦h o wt 0i i l l p r 0 v et l l ep 缸o i m a n c eo fm e 删c t i o n 觚吼l r a c yw h e n 廿l ed a t ai ss p a r s ei st l l em a j o rp r o b l 锄吐l i sd i s s e r t a t i o ns t l l 以 i i lt h i sd i s s e n a t i o n ,l ed a t as p a r s i t ye x i s t i n gi 1 1 l ec o l l d b o 豫:t i v ef i l t 醯l gs y s t e m h 勰b e a i l a l y z e d w ep r e s e n t 也en 0 v e lh y b r i d 舢e i l d a t i o na l g o r in l :m sc 0 恤b i i l i n g 1 es i n g u l a rv a l u ed e c o m p o s i t i o nw i 也u s * b a s e d 觚di t e m _ b 弱c dc o l l a b o 豫:t i v ef i l t e r m e h o d s t h em a i l lt a s ka r ea s1 0 1 l o w s : 1 d i s c u s s i n gt l l es 叫ys i 嘶f i c 锄c ea n dr e s e a r c hs t a t u sa th o m e 锄da b o a r do f r c = c ) 姗e n d a t i o ns y s t e m 2 i n t r o d u c i n gm eu s * b a s e da n di t e m - b 嬲e dc o l l a b o r a t i v ef i l t e 血gt e c h n i q u e si n d e p m ,t l l e nw e d i s c i l s st l l ea d v a n t a g ea n dl i m i t a t i o na :b o u tt 1 1 i st 、) l ,ot e c h i l i q u e s 3 d u c i n g 廿1 eb a s i cc o n c 印t so fs i n g u l a rv a l l u ed e c 删砷o s i t i o n锄dt l l e e v a l u a t i o nm e t r i c sf o r 也ep e r f o m 觚c eo fp e r s o n a l i z e dr e :c o m m 钮d a t i o ns y s t e m 4 s t l l d 姐n gt l l es o l u t i o no fp r o b l e m sa b o u tt l l ed a t as p a r s i t ) ,a n ds i n l i l 撕锣i i l d 印m w ef i r s t 锄a l y z e d l e ts o l 们o n s ,t l l 鸭w ep 陀s e n t l eh y b r i d s v d m e m o d n eh y b r i d s v dm e m o df i r s ta p p l ym es i n 酉ev a l u ed e c o m p o s i t i o nm e m o dt 0 g e tt l l en e i g h b o f h o o do ft h ea c t i v eu s e r s ,1 e 1 1i tl l s e st l l em o d i 丘c a t o 拶s i m i l 耐够m e m o d a n d l eu s e r - b a s e da n di t e n l - b a s e dc o l l a b o r a t i v e6 l t 锄gt e c h i l i q u et 0o b t a i l lt l l e 缸a l p 川i c t i o no fm ea c 廿v eu s e r s 5 c o m p 撕n ga n da 1 1 a l y z i n gm ee x p e r i m e n tr e s l l l td a t aw h i c hm eh y b r i d s v d 锄d o m e r 仃a d i t i o n a lm e m o do n 嘶op u b l i d ya v a i l a b l ed a t a s e t s t h er e s i l i ts h o wo u rm e m 0 h a v e 也eb e t t e rp e r 】晒册a i l c em a i lo m e r s k e y w o r d s :r e c o m m e l l d a t i o ns y s t e i i l ,c o l l a b o r a t i v ef i l t 嘶n g ( c f ) ,s i n 舀u a rv a l u e d e c o m p o s i t i o n ( s v d ) ,s i m i l a r i t y 目录 第一章绪论 目录 1 1 研究背景以及意义 1 2 国内外研究现状。 1 2 1 推荐系统典型范例 1 2 2 常用的推荐策略 1 3 本文的主要研究内容及成果 1 4 论文的组织结构 第二章推荐系统的相关技术工作。 2 1 基于内容的过滤算法 2 1 1 项目描述 2 1 2 用户模板 2 1 3 基于内容的推荐算法 2 1 4 基于内容的推荐算法的局限性 2 2 基于协同过滤技术的推荐算法 2 2 1 协同过滤技术的发展历史 2 2 2 协同过滤算法的优点和缺点 2 2 3 协同过滤的实现过程 2 2 4 协同过滤算法的分类1 8 2 3 基于用户的协同过滤算法1 9 2 3 1 基于用户的协同过滤的相似度计算2 0 2 3 2 传统相似度计算方法存在的缺陷2 1 2 4 基于项目的协同过滤算法2 2 2 4 1 得到用户项目评分。2 3 2 4 2 计算相似度,获得最近邻居2 3 2 4 3 获得推荐2 5 l h 目 录 2 5 基于模型的协同过滤技术2 6 2 5 1 聚类模型2 6 2 5 2 网状贝叶斯模型2 9 2 5 3 基于关联规则3 1 2 6 基于协同过滤与基于内容的推荐技术对比分析。3 2 第三章奇异值分解与推荐系统性能指标3 3 3 1 奇异值分解3 3 3 1 1 相关定义3 3 3 1 2 相关性质。3 4 3 2 推荐系统性能指标3 4 3 2 1 预测评估指标3 5 3 2 2 推荐评估指标3 7 第四章 传统c f 算法的改进( 1 b 砒d s 算法) 。 4 1 数据稀疏性问题3 9 4 1 1 传统的解决办法3 9 4 2 传统相似度计算存在的问题及现有的解决办法4 1 4 2 1 基于用户的最近邻居4 1 4 2 2 基于项目的最近邻居4 2 4 3 算法改进的依据4 3 4 4h y b i 圆s v d 算法。4 4 第五章实验设计与评价4 8 5 1 实验目的4 8 5 2 数据集4 8 5 3 实验环境4 9 5 4 基于h y b r j d s v d 的推荐引擎的设计5 0 5 4 1 基础软件包简介5 0 5 4 2 总体框架5 1 目录 5 4 3 核心算法的伪代码实现 5 5 实验与性能评价。 5 5 1 评价指标。 5 5 2 实验一:维数k 的影响 5 5 3 实验二:参数a 的影响。 5 5 4 实验三:参数入的影响 5 5 5 实验四:与传统算法的性能对比分析 第六章总结与展望。 6 1 全文总结 6 2 下一步工作 致谢 参考文献。 攻硕期间取得的研究成果 v 第一章绪论 1 1 研究背景以及意义 第一章绪论 随着互联网的崛起,产品的销售成本急剧降低,这使得传统的8 0 的销售额 产生于2 0 的客户理论在互联网时代有了一些变化。“长尾理论 【i 】在互联网的成 功应用,使得人们越来越关注“长尾中的尾巴。推荐系统【2 1 就是这个概念下的产 物,它对商家进一步发掘用户的潜在需求、提高销售量起了重要作用。在p i i l e 的 ,m 硒sc 嘶i i l i z a 缸o n 斗3 】书中表明企业需从现实中的大规模生产向具有多样化和 客户定制为补充的新时代转换。p i n e 在他的书中还表示简单的一个产品不适合任 何客户,至少企业需要开发出多种产品来满足多种客户的多样化需求。而电子商 务不但不会让企业生产更多剩余的产品,而且让企业能够向客户提供更多的选择。 客户不用在成千上万的超市中挑选自己中意的物品,而是在上百万的在线商店中 挑选。然而虽然增加了选择,但是当客户在选择能够满足他需要的产品之前,他 需要处理的信息也增加了。为了解决信息过载问题,电子商务商店正在对商店的 展示而不是产品应用规模定制原则,而在电子商务中达到规模定制的一个可行办 法就是应用推荐系绀4 卅。 现在,越来越多的网络购物系统使用推荐技术来给客户推荐产品和提供一些 帮助客户购买的信息,例如:当当购物网站,当客户登录后,它就会跟踪所有购 物者的购买偏好,使用这些信息来给客户推荐一些客户可能喜欢的产品。当当甚 至会向客户推荐一些客户可能喜欢的书籍,即使客户仅从它那里购买了书籍。这 些被推荐的产品可能是基于总体的销售额、客户的地域分类或客户的历史购买行 为作为将来购买行为的预测。广泛来讲,这些推荐技术是网站个性化的一部分, 因为它帮助电子商务网站自动地适应了客户。怎么才能从大量的信息和资料中快 速的得到有用的信息,怎么从飞速增长的信息中快速得到即时信息,怎么提高搜 索引擎和推荐系统的准确性和怎么满足客户不同的需求等,这已经成为新型电子 商务系统中面临的严峻问题。 电子科技大学硕士学位论文 1 2 国内外研究现状 推荐系统能够智能地为客户推荐他们可能喜欢的商品,以此来提高商家的销 售额。p i n e 曾说过“如果我有两百万个网络客户,那么我应该有两百万个网络商 店 。 推荐系统通过以下三种方式来提高电子商务的销售额: 1 、浏览者转换成购买者:当没有购买记录的游客在浏览的时候,推荐系统能 够帮助客户找到他们需要的商品。 2 、交叉销售:推荐系统通过向客户推荐其它的商品来提高交叉销售。如果推 荐系统性能好,商品的销售量就会增加。 3 、忠诚度:推荐系统通过在网站和客户之间建立一种附加价值关系来提高客 户的忠诚度。推荐系统通过学习用户,使用推荐系统给客户个性化的界面来满足 客户的需要,客户会再次购买最能匹配他需要的商品。客户使用推荐系统的次数 越多,客户对网站的忠诚度越高。 1 2 1 推荐系统典型范例 在本小节中,我们将展示使用一种或多种推荐技术的三个的电子商务网站。 对每个网站的每一种推荐技术,我们将给出简单的描述。 1 、当当网 ( 1 ) 、基于用户购买:像其它网络购物网站一样,当当网记录了每件商品的销 售信息,里面包括了客户购买商品的详细信息。 ( 2 ) 、即时邮件通知:当用户选择邮件通知推荐产品时,当当网会给客户发送 最新的推荐商品信息 ( 3 ) 、客户反馈:这个功能让客户接收基于其它客户的文字推荐。在商品的详 细页有1 5 星的评分,这些评分是已经购买了该商品的客户反馈。用户在做购买决 策时会考虑这些反馈。 2 、r a t e y o u m u s i c r a t e y o u 肌u s i c c 0 m 是一个公开的音乐共享网站,它使用了评分功能,即允许 用户来分享自己对音乐、专辑或歌手的意见。反馈评分被分成1 5 分5 个等级,用 来向用户提供推荐。 3 、d e l i c i o u s d e l i c i o u s 是雅虎公司下面的一个社会化标签网站,它是为了帮助用户能够收 2 藏、分享网络上的重要信息,每个用户都可以在该网上建立自己的标签,在每个 标签的旁边有个收藏这个标签的用户列表和相似的标签列表。 1 2 2 常用的推荐策略 本小节我们将讨论目前国内外流行的推荐策略【7 1 。 1 、按类别查看:在传统的商务领域中,当一个客户走到书店让售书员为他推 荐一本书籍的时候。这位售书员会推荐几本书籍,客户会查看书籍的封面看是否 能够吸引他,但是这种推荐策略的质量依赖于售书员对整个书店的书籍了解程度。 2 、电子邮件推荐:推荐信息同样可以通过电子邮件传达给客户,如当当网的 邮件订阅功能。 3 、用户评论:如当当网的文本评论功能,该功能帮助客户了解哪些书籍销售 好,哪些商家的信誉高等。 4 、t 0 p - n :这个策略给客户推荐最畅销的n 种产品。它的好处是容易被客户 采纳,但是缺乏多样化。现在很多电子商务网站都采纳了这种策略,如常见的最 热t o p - n 。 5 、推荐相似的n 种商品:这种推荐策略是通过分析客户的兴趣,给客户推荐 他最可能感兴趣的n 种商品,这种推荐策略的多样化程度最高。 1 3 本文的主要研究内容及成果 协同过滤【8 1 l 】是推荐系统中使用的最多的技术,随着系统规模的扩大( 如产品 客户数目的不断增长) ,该技术也出现了一些问题【1 21 3 】,主要有: 1 、数据稀疏问题:在现在的推荐系统中,客户和产品的数量呈爆发式增长, 但是客户喜欢的商品总数又非常有限。例如:在d d i c i o l l s c o m 中,用户收藏的标 签不过占总数的0 1 ,而标签的数量却非常庞大,数据非常稀疏。 2 、准确性问题:推荐系统给客户推荐产品的准确率。 3 、算法的可扩展性:现在大多数的协同过滤算法的复杂度随评分矩阵维数的 增大而大增大,使算法不得不解决可扩展性的问题。 本文以协同过滤系统中的数据稀疏性问题为主要研究对象,在深入研究传统 推荐算法的优缺点的基础上,对传统相关性计算做了修正,并结合s v d 、基于项 目的协同过滤、基于用户的协同过滤,提出了改进的特征递增型混合算法 ( h y b r i d s v d 算法) 。并以h y b r i d s v d 算法为基础,设计并实现了一个简单的推荐 电子科技大学硕士学位论文 引擎,并从多方面与传统算法进行了性能对比分析。 在攻读硕士期间,本文作者曾在计算机应用杂志上以第一作者身份发表 论文协同过滤系统的矩阵稀疏性问题的研究。 1 4 论文的组织结构 全文共分六章。 第一章绪论。简要介绍了推荐系统的产生背景和研究意义以及国内外研究现 状,并对本文的研究内容以及组织结构做了简单介绍。 第二章推荐系统的相关技术工作。内容包括:对当今主流的推荐技术,常用 的推荐算法的实现过程和优点与不足做了深入的研究。主要包括推荐系统的基于 内容的过滤算法和基于协同过滤算法。并重点介绍了基于协同过滤算法的各个分 支、算法流程、优缺点等 第三章介绍了奇异值分解和推荐系统的性能指标。包括:奇异值分解的相关 概念和性质,评价个性化推荐系统的常用指标。 第四章介绍了h y b r i d s v d 协同过滤算法的理论依据与主要内容。深入研究了 协同过滤系统中的数据稀疏问题和相似度计算存在的问题的解决方法,先分析了 现有的解决方法,然后提出了h y b r i d s v d 方法。h y b 耐s v d 方法先用奇异值分解 来获得活动用户的邻居,然后利用修正的相似度计算方法和基于用户与项目的协 同过滤技术来预测活动用户的评分。 第五章实验与性能对比分析。以h y b r i d s v d 方法为基础,设计了一个简单的 推荐引擎,并对常用的推荐算法与h ) i b 订d s v d 方法在两个数据集上的实验结果进 行了对比分析。结果显示本文的方法比其它方法有更好的性能。 第六章总结与展望。对全文做了总结,介绍了论文的创新点和下一步工作。 4 第二章推荐系统的相关技术工作 第二章推荐系统的相关技术工作 目前电子商务推荐系统算法分为基于协同过滤算法( c o l l a b o r a t i v ef i l t 甜n g ) 和 基于内容( c o i l t e n t _ b 觞e d ) 的过滤算法【1 4 1 5 1 。 2 1 基于内容的过滤算法 基于内容的过滤算法是根据产品描述和用户兴趣的概述文件向用户推荐。基 于内容的过滤算法广泛应用在很多推荐领域,如:网站、新闻、音乐等。虽然这 些推荐系统的实现方式有不同,但是它们的原理都是一样的,都是通过创建推荐 产品的描述、创建用户的兴趣偏好文件并通过对比产品描述和用户的兴趣偏好文 件来决定是否向用户推荐该产品。 因为基于内容的过滤算法是通过分析产品的描述来鉴定是否属于用户感兴趣 的,所以本节首先介绍产品的描述方式,然后介绍用户的兴趣偏好文件和一些常 用算法,最后讨论基于内容的过滤算法的优点和缺点。 2 1 1 项目描述 向用户推荐的产品描述通常被存入数据库表中,表2 1 展示了一个简单的产品 数据表。这个表描述了三部电影。列名( 如类型,上影时间) 是电影的属性。这 些属性通常也被称为“特性 “域 “变量”等。每一行的每个属性都包含了一个 值,d 列是为了区别其他行而设的。 表2 1 电影项目描述表 d 名称类型上影时间价格 l o o 0 0 12 0 1 2 冒险 2 0 0 98 0 1 0 0 0 0 2 阿凡达科幻 2 0 0 99 0 l o 0 0 0 3 锦衣卫武侠 2 0 1 05 0 用户模板被大多数推荐系统来记录用户的兴趣爱好,用户模板包含一些不同 类型的信息,本文我们主要介绍两类信息。 5 电子科技大学硕士学位论文 l 、用户兴趣模型,这是用户偏好的一些描述,对每个用户的每个项目表示用 户对这个项目偏好的可能性,如张三7 0 的可能性喜欢动作剧,2 0 的可能性喜欢 武侠剧,1 0 的可能性喜欢其他。为了更有效率的表述,通常只展示用户最可能感 兴趣的n 个项目。 2 、用户和推荐系统交互的历史记录,这包含了一些用户浏览的项目、用户购 买项目的信息和用户对项目的评分或评论和用户查询的历史记录等。这些交互记 录对推荐系统非常有用。首先,系统可展示用户最近浏览过的项目来使用户返回 这些项目的时候更容易操作。其次,推荐系统在给用户推荐产品时按照已经购买 的历史记录,排除已经购买过的产品。但是最重要的作用是这些数据可以被推荐 算法做为训练数据集来建立用户模型。 图2 1 表示一个普通用户概貌的范例。 用户名t 张三 电影t ( 2 0 1 2 ,o 固,舛凡达,o 9 ) 类型;( 动作,o 7 ) ,毋澈剧,o 2 ) 图2 1 用户概貌 硼锄n c o m m h _ n m “n * e c - ”w ” 一 罡竺冀:一_ 盖: :茹芝:;美:e 鲞墨量釜 遗! 趋一显j 畿蹬艘兰盘器o “”“ 。,m 褂二赫二山二心_ 鬣 * 眺! x 。竹盟h酬i - n - 出l 血幽i 蛳j 茧矗自日孽 子“孵鬻糕戮赋 黧垫戮釜。一一 掣雀鬻篇揣黧嚣粕 一 _ n b h m 坩,姗日 _ 竹v f f j - l d m o l u n - h :m 一一 :h i , - 掣。蝴蜢姥监 址址l e _ 口 图2 - 2a m a z o n 网站推荐系统界面 现在电子商务推荐领域主要通过两种方式向用户提供信息,即用户个性化合 和基于规则的推荐系统。 l 、基于用户个性化的推荐系统【1 6 】,在这类推荐系统中,推荐系统向用户提供 可以构造代表用户兴趣的接口。通常情况下是通过给用户提供可以选择项目属性 的方式,如电影的类型等。当用户输入这些信息后,推荐系统就会检索数据库来 展示匹配的项目给用户。图2 2 展示了当用户选择了偏好的商品后给用户展示的个 性化的推荐界面。图2 3 展示了a m a z o n 的用户个性操作界面【1 7 】,用户可以在这个 晃面上选择偏好的商品,然后推荐系统会根据用户的选择向用户推荐。 6 第二章推荐系统的相关技术工作 豳皤v _ 坩。w c 眦。眦钿岫 图2 3a l 北o n 用户个性化界面 2 、基于规则的推荐系统【1 8 之1 1 ,这类推荐系统包含了一个基于用户历史记录向用 户推荐其他项目的规则。例如当用户购买书或电影的时候,系统可以向用户推荐 这类书或电影的续集,或当用户买了一个牌子的鞋子以后,系统可以向这个用户 推荐这类鞋子的其它款式。通常来说,基于规则的推荐系统只是抓住了产品的共 同特点,以此来向用户推荐,而不能从很详细的方面向用户进行个性化的推荐。 2 1 3 基于内容的推荐算法 基于内容的推荐算法是根据分类算法和用户历史记录来构建用户模型,这些 分类算法是基于内容的推荐系统的核心。通过学习得到用户模型,当系统增加新 项目时,推荐系统会根据用户模型和新项目来预测这个用户是否对新项目感兴趣。 常见的分类训练算法有【捌:决策树算法、最近邻算法、线性分类、概率模型与朴 素贝叶斯。 2 1 3 1 决策树算法 决策树算法瞄】的执行过程是从上往下逐步细化,每个决策算法的节点都会引 出多个子节点,从而得到最后不同的结果。决策树算法是分类算法中最流行归纳 型算法之一,算法的过程就是将各个决策节点组成一个有向图,如图2 4 所示。 从图2 4 可以知道,算法的执行过程有很多种,但是目的是一致的,都会达到 目的节点d 。 7 电子科技大学硕士学位论文 弋 4 丫m 胛勋h n 垡 一 啪v i ei r 蚰册贰l j 即? 匾釜蓬黑搿9 ( 2 咖) 铃? 匾器篇p c o p 。( 1 9 ) 聊固勰掣瑚6 啪豳:黜嘴 墩逦五五盔器饕z 曹篇! 篙撼 ? ? ? 匹蒌i i 强岂;器b 1 9 弦拿逦蠹蒌蘧勰x 淼滋旨怒坞) : ”拿匾五垂蘧是龋2 勰喁嗍吖 聊圃是温黜w 哥 ? ? ? 诞茧囊逶端害掰2 咖) 图2 1 0m o v i e l 詹璐新用户问题解决办法 新项目问题和新用户问题比较类似,由于在新项目加入到项目中的时候由于 没有任何评分,这样相似度计算就会为零,推荐系统就不会给用户推荐这个新项 目,因此推荐效果就会很差。 本文主要研究的是当用户项目评分矩阵非常稀疏时的解决办法。 2 2 3 协同过滤的实现过程 在本小节,我们主要给出协同过滤的实现过程【2 82 9 1 。它的实现过程主要分为 三步,即收集用户对项目的评分、计算收集数据的最近邻居和得到推荐结果。 2 2 3 1 收集用户对项目的评分 我们首先给出本文中使用的注记,用一个m 用户和n 项目的评分矩阵来表示 所有用户对所有项目的评分。如图2 1 1 所示,& j _ 舢) 1 0 悯,1 = i = n 其中r u ,i 表示用户u 对项目i 的评分。如果用户u 没有对项目i 评分,那么其值为零。 1 6 第二章推荐系统的相关技术工作 l i矗f ii l厶正r厶 _ 3 4 l254 i 乜 432 , 1_ ,3 32 h4 2 3 蜘 5423 囊 43 23 4 5 图2 1 l 用户项目评分矩阵 根据评分数据的来源可以将评分分为显式( c x p l i c i t ) 评分和隐式( i m p i c i t ) 评 分,显式评分是指在得到用户的评分之前需要用户显式的给项目选择一个评分, 这种评分方式是用户提供的最准确的描述用户爱好的方式,但是由于需要额外的 工作,所以这种评分方式实践起来有一些挑战,特别是在推荐系统新上线的时候。 隐式评分方式是指系统通过分析用户的行为来推断用户对项目的爱好。例如,可 以考虑用户花在一个项目上的时间,如果时间的长短表示用户对项目的喜好程度, 但是这种评分方式有很多不确定的因素,如用户可能花在项目一段时间后,最终 得出对这个项目并不喜欢。 2 2 3 2 计算收集数据的最近邻居 协同过滤的出发点是计算出用户的最近邻居,因此就归结为计算两个用户或 项目的相似度。计算两个用户或项目的相似度相关算法一般分为三种,即皮尔森 相关系数( pe a :啪nc o 玎e l 撕o nc o e m c i e n t ) 、余弦相似性( c o s i n e - b a s e ds i i i l i l 撕t y ) 以及修正余弦相似性( a d j 戚e dc 0 n s i n es i i i l i l 撕够) 。在计算出相似度后,就可以得 到这个用户或项目的一个从高到低的相似度排列。 2 2 3 3 得到推荐结果 有了最近邻集合,就可以对目标用户的兴趣进行预测,生成推荐结果。通常 根据推荐目的不同,可以进行多种形式的推荐。最常见的推荐有t o p n 推荐和关 联推荐【8 1 。 l 、t o p - n 推荐,这里的t o p - n 和一般网站( 如d o u b 觚c 0 m ) 上见到的“最热门 列表是不同的,热门列表是基于全部数据集来产生的,它对每个人都是一样,而 刚推荐是针对单个用户产生的,它对每个人是不一样的。通过对你的最近邻用 户进行统计,选择出现频率最高且在你的评分项目中不存在的项目作为推荐结果。 豆瓣上的“排行 栏目应该是传统的“热门列表,而不是t o p - n 推荐。 1 7 电子科技大学硕士学位论文 2 、关联推荐,也称为基于关联规则的推荐。与针对全部数据进行挖掘的传统 关联规则不同的是,此方法仅对最近邻用户的购买记录进行关联规则挖掘。如果 你曾经购买过关联规则左边的商品,而没有购买过关联规则右边的商品,那么就 把右边的这个商品推荐给你。它最突出的优点就是,可以帮助你发现你感兴趣的 而以前却从来没有注意过的商品。在a m a z o n c o m 介绍书的详细信息的页面上,可 以看到这种推荐的一个实际应用。 2 2 4 协同过滤算法的分类 目前协同过滤算法主要分为基于内存和基于模型的两种不同方法【82 2 1 。 2 2 4 1 基于内存的协同过滤算法 基于内存的协同过滤算法先用统计的方法得到具有相似兴趣的邻居用户,再 用基于邻居的方法来计算,所以该方法也称基于最近邻居的协同过滤,其中最常 使用的方法是k 近邻方法,如图2 1 2 所示。 图2 1 2 k 近邻 基于内存的协同过滤包括三个主要步骤:数据规范化、邻居选择、决定插值 的权重。其中基于用户和基于项目的协同过滤算法已被广泛研究【3 03 1 1 ,基于用户 的协同过滤首先计算活动用户和其他用户之间的相似度,并从相似用户来得到活 动用户的评分矩阵。基于项目的协同过滤基于这样的假设:能够引起用户兴趣的 项,必定与之前评分高的项相似。基于项目的协同过滤和基于用户的协同过滤的 唯一区别是找出每个项目的相似项目还是每个用户的相似用户。基于内存的协同 过滤相比基于模型的协同过滤拥有更少参数的优点,但是稀疏性问题仍然存在。 2 2 4 2 基于模型的协同过滤技术 基于模型的协同过滤【8 2 23 2 】主要是通过统计或机器学习的方法,使用用户的历 史偏好记录来构造用户偏好模型,进而产生推荐。目前比较流行的方法包括聚类 1 8 第二章推荐系统的相关技术工作 模型f 3 3 3 5 1 、s v d 【3 63 7 】等。 在本文中,我们展示了一个基于奇异值分解和增强p e a r s o n 相关系 增算法( h y b r i d s v d ) 。在这种方法中,前一种方法的输出作为后另一 入。h v b r i d s v d 算法首先使用奇异值分解方法得到预测的评分矩阵, 于近邻的方法来得到活动用户的邻居,最后使用修正的p e a r s o n 相关系 到活动用户的最终预测值。 2 3 基于用户的协同过滤算法 这类算法是通过计算系统中的每个用户和活动用户的相似程度来 计算相似度的方法有余弦相关性、修正余弦相关性和p e a r s o n 相关性, 户和提供的项目得到项目的近邻,从而得到推荐。总的来说可以分为 要阶段: 1 、收集用户评分 收集用户对项目的评分,以此数据集来计算用户之间的相关性。 2 、计算得到最近邻居 根据某种相似度计算方法来计算用户之间的相关性跏俐,对于 说,即是计算两个行向量的相关性,如图2 1 3 所示。 评舒足事少? ll i 彳 ,ji 5l 矗矗正 矗 搿l 蠢| 4l254 尉2 4 , 22 l b 32 地 肌 423 脚i l l 5 4 23 74 气 23 4 5 图2 1 3 基于用户的协同过滤技术 3 、得到推荐结果 当产生了目标用户的最近邻集合后,就可以对目标用户的评分进 而产生推荐结果,如公式( 2 1 ) 所示。 1 9 电子科技大学硕士学位论文 s 砌( “,1 ,) ( r 咄一;) 广云+ 业瓦丽 p e s “) ( 2 - 1 ) p 咄代表了用户u 对项目k 的评分,万、7 表示用户u 、j 的所有项目的平均评 分,玛l 【代表了用户j 对项目k 的评分,然后从得到评分集合中选择出前若干项目。 为了得到用户的最近邻用户,需要计算目标用户和其他用户之间的相似度, 相似度计算的模型有很多种,如余弦相关性、修正余弦相关性和p e a r s o n 相关性。 2 3 1 基于用户的协同过滤的相似度计算 在协同过滤系统中,相似度计算是我们计算项目之间或用户之间的相关性来 选择最近似的项目或用户时非常关键的部分。计算相关性主要分三类:余弦相关 性、p e a r s 0 n 相关性和修正余弦相关性。 2 3 1 1 余弦相关性 在这类方法中,两个用户被表示为两个m 维的用户空间向量,它们之间的相 关性是用这两个向量的余弦来度量的,余弦值越大,表示这两个向量之间的相关 性越大,越小则表示它们之间的相关性越小。基于余弦的相关性如公式( 2 2 ) 所示。 砌o 卜c o s o 卜蔽 q 也 2 3 1 2 修正余弦相关性 用余弦相关性来计算两个用户的相关性有个很大的缺点是没有考虑的评分尺 度问题,修正的余弦相关性可以通过减去用户对项目的平均评分来改善上述缺陷。 修正的余弦相关性如公式( 2 3 ) 所示。 ( r 蚶一再) ( r ,厂石) 咖o 卜蓠若网丽 q 。3 y ”,v l e , 其中r u j 为用户u 对项目j 的评分,r u 为用户u 的平均评分。 2 3 1 3p e a r s o n 相关性 p e 勰伽相关性系数在实际应用中也被称为简单的相关系数,这个系数的作用 第二章推荐系统的相关技术工作 是为了描述两个随机变量之间的相关性。它的计算原理可以用一个例子来说明, 如在推荐系统中,我们经常要计算两个用户的相关性,假设u 【u l ,u n 】是表示用户 的n 维向量,r 表示他们之间的相关性的强弱程度。r 相关性系数的范围在【- 1 ,l 】, 当r 在【0 ,1 】区间时,我们就称这两个用户成正相关,即一个用户的某个值越大,另 一个用户某个值也越大;当在 1 ,0 区间时,我们称这两个用户成负相关性,即一 方的值会随着另一方的增大而变小;当值等于0 时,我们称这两个用户不相关或 存在其他形式的相关性。 利用样本相关系数推断总体中两个变量是否相关,可以用t 统计量对总体相关 系数为o 的原假设进行检验。若t 检验显著,则拒绝原假设,即两个变量是线性相 关的;若t 检验不显著,则不能拒绝原假设,即两个变量不是线性相关的。在这类 方法中,两个用户之间的相关性是通过计算两个用户的p e a r s o n 相关性系数来确定 的,可以描述如公式( 2 4 ) 。 ( r “一尺。) ( r 州一r ,) 咖 ,v 卜禹若瓦丽 伫q 其中i 表示了用户u 和v 共同评分过的项目集合,砥j 表示了用户u 对项目i 的评分,鬲表示项目i 的平均评分。 2 3 2 传统相似度计算方法存在的缺陷 随着计算机网络的发展和使用电子商务的用户和产品的数量几何式增长,用 户和项目的数量变得非常大。在这种情况下,评分矩阵就会变得极度的稀疏,例 如m u p l e i l s o 玛和d o u b 趾c 0 m 的网站上有上百万部电影和书籍,但是目标用户 只对这里面的小于1 的电影和书籍做出评价,这样就造成了通常所说的稀疏性问 题。它的出现对协同过滤算法的性能有着负面的效果。由于这个问题的存在,两 个用户之间的相似度很有可能为零,例如,如果用户张三和李四具有很高的相关 性,并且用户李四和用户王五也具有很高的相关性,那么用户张三和用户王五不一 定具有很高的相关性,因为他们可能具有很少的共同的评分,甚至可能由于具有 很少的评分而导致具有负的相关性。总的来说可以归结为以下两个问题【3 8 。4 0 】: 1 、在传统的相似度计算方法下,如果用户没有对产品进行评分,计算时是用 o 来表示,如公式( 2 5 ) 。 2 l 电子科技大学硕士学位论文 r 刈= 跽 ( 2 5 ) 其中l 沁i 是用户u 对项目i 的评分。采取这种方式的优点是可以简化相似度 计算,提高处理速度,但是缺点也是很明显,因为用户对这个项目不评分并不代 表用户对这个项目的观点,特别是在系统刚上线的时候。由于评分矩阵极度稀疏, 用传统的相似性计算方法就显得很不可信。 2 、在传统的相似度计算方法下,计算的结果依赖于目标用户和其他用户评分 项目的交集,可以假设用户u 对推荐系统所有项目的评分的集合为向量r u ,用户 v 对推荐系统内所有项目的评分为向量r v ,则在计算相似度时计算的用户u 和v 评分的交集为向量i v ,即存在公式( 2 6 ) 。 r 鲥= r 。r 、r( 2 - 6 ) 这种情况只有在用户项目打分空间比较稠密的时候才能够得到很好的性能。 但是实际的情况是这个打分空间并不是很稠密,目标用户和其他用户的共同评分 向量经常是很少,有时候甚至可能为空集,即使用户在这个很小的交集上相似度 很高,这也不能代表两个用户的兴趣的相似度很高。例如:张三和李四是同班同 学,可能由于某种原因他们必须购买同一本书籍,但是实际张三和李四很可能兴 趣爱好就不一样,因此在这种情况下,传统的相似度计算方法存在很大的弊端。 总结上面的两点来说,当用户项目评分矩阵稀疏的时候,传统的相似度计算 方法不能满足系统的要求,得不到理想的推荐性能。 2 4 基于项目的协同过滤算法 基于项目的协同过滤算法最初是由亚马逊提出并应用在它的网上书店中,亚 马逊把推荐系统作为市场营销( 如电子邮件、呼叫中心) 的一个工具。用户在亚 马逊主页上点击“我的推荐”链接,它就会引领用户到给用户推荐产品的一个区 域,用户在这个区域里可以搜索、查看、评分产品等,并且能够看到这个产品为 何能被推荐给它,如图2 1 4 所示。 和亚马逊的推荐模式类似,豆瓣网使用阅读过某本书籍的用户同时也阅读哪 些书籍这种模式来给读者提供建议。相对于基于用户的协同过滤算法来说,基于 项目的协同过滤算法不是计算用户与用户之间的相关性,而是通过计算每个用户 打分的项目与项目之间的相关性,并最终把这些相似项目推荐给用户。 第二章推荐系统的相关技术工作 c u s t o m e r sw h o b o l l g h tt h l sl t l ! ma l s ob o u g l l t 量础 雷囵蟊曾 q i ! i 凹删0 9 ;e 氇曲鳢i 丝i 曲! 篮逸a 皿! 翟! q q 拄 叠d 垂工:。b ye 旧ef r a n k :qq 出血i l i 篮( :2 ) 1 4 6 弱 l d l q g - 韭如地q 邕a 删卫豳b yp g n i n g t a n :趔! 苴5 ! a 疆c l d 蝴1 7 b 缱丛! 型幽s ! d e l d 剑啦d 盟翊l b q l 壁2 。b yj o h nc h a n c o c k 生:3 业虹55 l 鲢( 壶) 1 4 0 4 9 垒
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏行业全景解析
- 手指课件内容
- 智能采收能耗优化-洞察及研究
- 不锈钢楼梯安装安全协议书7篇
- 统编版2025-2026学年语文六年级上册第一、二单元综合测试卷(有答案)
- 内蒙古锡林郭勒盟二连浩特市第一中学2024-2025学年九年级上学期期末检测化学试卷(无答案)
- 2025届安徽省安庆市安庆九一六高级中学高三下学期第5次强化训练物理试卷(含答案)
- 欧美医耗市场准入策略-洞察及研究
- 学生手机安全培训心得课件
- 扇形统计图说课稿课件
- 浙江大学新宇集团部门负责人岗位说明书
- TSCS 000013-2021 碳化硼-碳化硅芯块 无机阴离子(F-、Cl-、Br-、I-)的测定 离子色谱法
- GB/T 6426-1999铁电陶瓷材料电滞回线的准静态测试方法
- GB/T 14846-2014铝及铝合金挤压型材尺寸偏差
- 广西版建筑装饰装修工程消耗量定额说明及计算规则
- GA/T 594-2006保安服务操作规程与质量控制
- 髋关节解剖资料课件
- 坚持男女平等基本国策(妇联培训)课件
- 颅脑外伤(共61张PPT)
- 人教版《生命.生态.安全》六年级上册全册教案
- 矿种代码与规模分类表
评论
0/150
提交评论