基于模糊聚类的可扩展的协同过滤算法研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于模糊聚类的可扩展的协同过滤算法研究1

王惠敏聂规划

武汉理工大学经济学院电子商务系,武汉(430070)

Email: huiminwangbj@

摘要:本文主要分析了传统协同过滤算法的不足,提出了一种新的电子商务推荐算法。该算法将模糊聚类技术用于划分相似的项目和相似的用户,在项目的划分中采用基于项目的协同过滤算法计算出用户对未评分项目的初始评分,在此基础上在用户的划分中采用基于用户的协同过滤算法完成预测评分。实验结果表明,该算法改善了协同过滤算法的数据稀疏性和可扩展性问题,提高了推荐系统的推荐质量。

关键词:电子商务;协同过滤;模糊聚类;推荐系统

中图分类号:TP391

1. 引言

电子商务推荐系统是基于可得到的信息资源向用户推荐适合其需要的信息或商品的系统[1]。电子商务推荐技术是电子商务推荐系统中最核心、最关键的技术,很大程度上决定了推荐系统性能的优劣。目前电子商务推荐技术主要有基于内容的推荐技术和协同过滤推荐技术[2]。协同过滤作为目前最成功的推荐算法被广泛的应用,其目标是根据具有相似偏好的用户的观点向目标用户推荐新的商品。协同过滤推荐算法基本上可以分为 Memory-based 协同过滤推荐算法和 Model-based 协同过滤推荐算法两类[3]。Memory-based 协同过滤算法利用整个用户—项目评分数据集来产生推荐,系统利用统计技术搜寻一组用户,称为邻居,他们与目标用户有一致的历史偏好。Memory-based 协同过滤算法主要有基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法。基于用户的协同过滤根据评分相似的最近邻居的评分数据向目标用户产生推荐。基于用户的协同过滤虽然当给出足够清楚的偏好信息时,它通常表现出良好的性能,但随着站点结构,内容的复杂度和用户人数的不断增加,一些缺点逐渐暴露出来,主要存在稀疏性和可扩展性两个问题。通常在电子商务网站中,用户购买或评分的商品相对于总商品数量仅占有限的百分比,为总数量的1%以下,这导致用户-项目评分数据集稀疏。在这种数据量大而评分数据又极端稀疏的情况下,一方面难以成功的定位邻居用户集,影响推荐精度;另一方面在整个用户空间上计算相似用户群的过程不可避免地成为了算法的瓶颈。并且输入数据通常包含大量的用户和商品,致使系统扩展困难,推荐质量下降。针对基于用户的协同过滤推荐算法面临的问题,研究者们提出了基于项目的协同过滤推荐算法[3]。基于项目的协同过滤推荐依赖于项目的相信似度来决定推荐。算法的不足之处是只能推荐那些和用户当前购买的商品相类似的商品,不能挖掘用户的潜在兴趣,作出“跨类型”的推荐。

聚类分析是数据处理的一种重要手段和工具,通过把样本按照某种相似性准则划分成各种不同的类别,从而发现人们感兴趣的内容。聚类技术已被广泛地大数据集的处理,研究者们也将其应用于协同过滤可扩展性问题的改善。张海燕等运用模糊聚类技术将项目的属性特性的相似性与基于项目的协同过滤推荐算法相融合,以改善推荐质量[4]。Xue G. R.采

1 本课题得到国家自然科学基金“基于知识网络的电子商务智能推荐系统研究”(70572079)资助

- 1 -

用聚类方法将训练集中的用户聚类,在类中采用基于用户的协同过滤方法预测所有未评分数据并将其填充,然后用平滑后的用户—项目评分数据集预测测试集中的未评分数据[5]。

针对基于用户的协同过滤和基于项目的协同过滤两种算法的不足,本文提出的协同过滤算法融合了 两种算法的基本思想,不仅考虑了用户的相似性,而且也考虑了项目的相似性对目标用户推荐产生的影响。同时运用模糊聚类技术分别将相似的项目和相似的用户进行划分。在项目的划分中利用用户对相似商品的评分预测用户对未评分商品的评分,在此基础上在用户的划分中计算用户的相似度,产生推荐的预测评分。

2. 相关工作

协同过滤是预测某客户对某个他没有评价过的项目的喜爱程度,预测的依据是过去用户群体对一系列项目的历史评分。用户-项目评分数据可用一个n m ×阶矩阵表示,m 行代表个用户,列代表个项目,第i 行第),(n m R m n n j 列的元素代表用户i 对项目j i R ,j 的评分数值。

2.1基于用户的协同过滤推荐

基于用户的协同过滤推荐根据评分相似的最近邻居的评分数据向目标用户产生推荐。该算法的核心部分是为一个需要推荐服务的目标用户寻找最相似的最近邻居集。最近邻居查找的效果和效率很大程度上决定了基于用户的协同过滤算法的效果和效率。余弦相似性和相关相似性是常用的二种相似性度量方法。本文采用相关相似性度量方法,其表示如下:

∑∑∑∈∈∈−−−−=xy xy xy S s S s y ys x xs S s y ys x xs R R R R R R R R

y x sim 22

)()())((),(

xs R 和分别是用户ys R x 和用户y 对项目的评分;s x R 和y R 分别是用户x 和用户y 的平均评分;是用户xy S x 和用户y 评分项目的交集。

基于相似性度量找出最相似的用户之后,需要根据目标用户的评分,预测其对未评分项目的评分。用户x 对未评分项目p 的预测评分可表示为:

∑∑==×−+=u

u

l i l i i ip x xp i x sim i x sim R R R P 11)

,(),()(

其中为相似的用户数。

u l 2.2 基于项目的协同过滤推荐

- 2 -

基于项目的协同过滤推荐是用目标用户对相似项目的评分来预测其对未评分项目的评分。该算法是根据目标用户已经评价过的项目与目标项目的相似性,选择项目的最近邻居集,按如下公式预测用户u 对未评分项目的评分。

s us P ∑∑==×=i i l b l b ub us b s sim b s sim R P 1

1

)

,(),( 其中为相似的项目数,项目相似度可通过相关相似性度量方法计算获得。

i l ),(b s sim 3. 基于模糊聚类的可扩展的协同过滤算法

针对由于评分数据的极端稀疏导致难以定位相似的用户集合,本文首先对用户—项目评分数据集按项目进行模糊聚类,在聚类后的划分中计算项目的相似度,预测用户对未评分项目的评分,并将其预测值填充在用户评分数据集中。填充后的评分数据集作为输入数据,运用模糊聚类算法对数据集中的用户进行划分,在用户的划分中计算用户的相似度,完成最后的预测评分。

具体算法如下:

步骤1:将模糊c-均值算法应用于训练集的用户—项目评分数据集,将项目划分为 类;

c 步骤2:查找目标用户的未评分数据所属的类,类中的项目作为目标用户未评分项目的邻居;

步骤3:在类中采用相关相似性函数作为度量函数,计算用户未评分项目与其邻居项目的相似度;

步骤4:预测用户对未评分项目的评分,并将其预测值填充在训练集的用户—项目评分数据集中;

步骤5:将模糊c-均值算法应用于填充后的评分数据集,将用户划分为 g 类;

步骤6:查找测试集中目标用户所属的类,类中的用户作为目标用户的邻居;

步骤7:在类中采用相关相似性函数作为度量函数,计算目标用户与其邻居用户的相似度,预测目标用户对未评分项目的评分。

4. 实验及结果分析

实验采用的数据集来自 Minnesota 大学 GroupLens Research 项目组收集的MovieLens 数据集。MovieLens 站点( /)是一个基于 Web 的研究型推荐系统,用于接收用户对电影的评分并提供相应的电影推荐列表。从MovieLens 数据集中随机截取100个用户对800部电影的评分数据,然后将评分数据按0.9的比率划分为训练集和测试集,从测试用户中的评分中随机选取5个评分作为可见的评分。

- 3 -

相关文档
最新文档