基于用户的个性化推荐
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于用户的协同过滤推荐算法
摘要
随着电子商务的高速发展和普及应用,个性化推荐已成为电子商务的一个重要研究领域。个性化推荐算法是电子商务推荐系统中最核心的技术,在很大程度上决定了电子商务推荐系统性能的优劣。协同过滤是应用最为广泛的一种个性化推荐技术。协同过滤主要分为基于用户的协同过滤和基于项目的协同过滤。本文介绍了基于用户的协同过滤推荐算法。
关键词:电子商务基于用户的协同过滤推荐余弦相似性相关相似性
1.课题研究背景及意义
随着网络的普及,网络资源不断丰富,网络信息量不断膨胀。用户要在众多的选择中挑选出自己真正需要的信息好比大海捞针,出现了所谓的“信息过载”的现象。信息过载是指的是社会信息超过了个人或系统所能接受、处理或有效利用的范围,并导致故障的状况。个性化推荐系统的出现是为了解决信息过载的问题,帮助消费者在浩如烟海的产品中找到自己需要的产品,为消费者提供个性化的购物体验。个性化推荐系统日益受到用户的青睐,也受到越来越多的学者和电子商务网站的关注。
个性化推荐可以作为网络营销的一种手段,能为电子商务网站带来巨大的利益。个性化推荐的目标是根据具有相似偏好的用户的观点向目标用户推荐新的商品。好的个性化推荐系统能够发掘用户喜欢的商品,并推荐给用户。对于用户而言,如果打开网站的链接并登陆,就能找到自己喜欢的商品,会省下很多翻看网页的时间和精力,而这样的网站,一定会受到用户的青睐。一个好的个性化推荐系统可以为用户提供便利,继而,使用户与网站之间有更好的粘合度,提高电子商务网站的市场竞争能力。
个性化推荐技术是电子商务推荐系统中最核心最关键的技术,很大程度上决定了电子商务推荐系统性能的优劣.
2 . 协同过滤技术
2.1协同过滤的基本思想
协同过滤主要是以属性或兴趣相近的用户经验与建议作为提供个性化推
荐的基础。透过协同过滤,有助于搜集具有类似偏好或属性的用户,并将其意见
提供给同一集群中的用户作为参考,以满足人们通常在决策之前参考他人意见的
心态。
协同过滤推荐(collaborative filtering recommendation)是目前研究最多的个
性化推荐技术,它基于邻居用户的资料得到目标用户的推荐,推荐的个性化程度
高。著名的系统有GroupLens/ Net Perceptions,Ringo/ Firefly及Tapest ry等。协
同过滤的最大优点是对推荐对象没有特殊要求,能处理非结构化的复杂对象,如
音乐、电影。
协同过滤推荐主要分为两类:一是基于内存的协同过滤(memory - based collaborative filtering),先用相似统计的方法得到具有相似兴趣爱好的邻居用户,所以该方法也称基于用户的协同过滤( user -based collaborative filtering)或基于邻居的协同过滤(neighbor - based collaborative filtering);二是基于模型的协同过滤(model - based collaborative fil2tering),先用历史数据得到一个模型,再用此模型进行预测。
本文主要研究的是基于用户的协同过滤推荐算法的实现。
基于用户的协同推荐算法随着用户数量的增多,计算量成线性加大,其性能
越来越差,并且不能对推荐结果提供很好的解释。为此,在2001年Sar2wr 教
授提出了第三种协同过滤推荐算法,即基于项目的协同推荐算法(item - based
collaborative filter2ing algorithms)。该算法通过先计算已评价项目和待预测项目的相似度,以相似度作为权重,加权各已评价项目的评价分,得到预测项目的预测值,并指出基于项目的推荐算法比基于用户的推荐算法还要好,且能解决基于用户的协同推荐的两个问题。但Mild教授从批判的角度重新审视了各种推荐算法,指出基于项目的协同推荐并不一定好,算法准确度与采用的实验规模数据有关,大多数情况下还是基于用户的协同推荐好。
2. 2 协同过滤的分类和局限性
协同过滤算法可以分为两种类型,基于内存的协同过滤和基于模型的协同过
滤。
⑴基于内存的协同过滤。这种类型的协同过滤的基本思想是假设人与人之间
的行为具有某种程度的相似性,也就是说行为类似的顾客会购买相类似的产品。
基于内存的推荐算法推荐速度快,能反映最新的商品评分。但是由于算法需要将
整个用户数据库调入内存,因此产生推荐非常耗时,而且推荐的实时性难以保证。
⑵基于模型的协同过滤。此算法首先通过聚类、贝叶斯网络、关联规则或者机器学习方法来构建使用者兴趣模型,进而利用此模型来产生推荐。
协同过滤存在的主要问题有:
⑴数据稀疏性问题:在系统初期,用户稀少或者评分信息稀少,难以找到相似用户集,导致推荐效果大大降低。
⑵算法的实时性问题:当用户数目增大到一定程度,推荐结果的计算时间是算法实时性的巨大挑战。如果系统过长时间无响应,网站将会失去客户。
⑶新用户的“冷启动”问题:在数据稀疏的极端情况下,一个新的项目首次出现,没有用户对它作过评价,那么基于用户的协同过滤算法根本无法进行。
3.基于用户的协同过滤推荐算
3.1算法简介
基于用户的协同过滤是个性化推荐中应用最为广泛的方法,它是基于邻居用户的兴趣爱好预测目标用户的兴趣偏好。算法先使用统计技术寻找与目标用户有相同喜好的邻居,然后根据目标用户的邻居的偏好产生向目标用户的推荐。
它的基本原理是利用用户访问行为的相似性来互相推荐用户可能感兴趣的资源对当前用户,系统通过其历史访问记录及特定相似度函数,计算出与其访问行为(购买的产品集合、访问的网页集等)最相近的N 个用户作为用户的最近邻居集,统计的近邻用户访问过而目标用未访问的资源生成候选推荐集,然后计算候选推荐集中每个资源对用户的推荐度,取其中K 个排在最前面的资源作为用户的推荐集。
3.2 算法步骤
3.2.1建立用户模型:
协同过滤算法的输入数据通常表示为一个 m*n 的用户一 评价矩阵R ,m 是用户数,n 是项目数,其中Rij 表示第i 个用户对第j 个项目的评分值;
⎥⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡=mn in m i m i n n r r r r r r r r r r r r R ..................
(221122221)
11211