基于改进聚类和矩阵分解的协同过滤推荐算法

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

基于改进聚类和矩阵分解的协同过滤推荐算法
王永贵;宋真真;肖成龙
【摘要】Concerning data sparseness,low accuracy and poor real-time performance of traditional collaborative filtering recommendation algorithm in e-commerce system under the background of big data,a new collaborative filtering recommendation algorithm based on improved clustering and matrix decomposition was proposed.Firstly,the dimensionality reduction and data filling of the original data were reliazed by matrix decomposition.Then the time decay function was introduced to deal with user score.The attribute vector of a project was used to characterize the project and the interest vector of user was used to characterize the user,then the projects and users were clustered by k-means clustering algorithm.By using the improved similaritymeasure method,the nearest neighbors and the project recommendation candidate set in the cluster were searched,thus the recommendation was
made.Experimental results show that the proposed algorithm can not only solve the problem of sparse data and cold start caused by new projects,but also can reflect the change of user's interest in multidimension,and the accuracy of recommendation algorithm is obviously improved.%大数据背景下,对于传统的协同过滤推荐算法在电子商务系统中的数据稀疏性、准确性不高、实时性不足等问题,提出一种改进的协同过滤推荐算法.该算法首先通过矩阵分解实现对原始数据的降维及其数据填充,并引入了时间衰减函数预处理用户评分,用项目的属性向量来表征项目,用用户的兴趣向量来表征用户,通过k-means聚类算法对
用户和项目分别进行聚类;然后使用改进相似性度量方法在簇中查找用户的最近邻和项目推荐候选集,产生推荐.实验结果表明,该算法不仅可以有效解决数据稀疏和新项目带来的冷启动问题,而且还可以在多维度下反映用户的兴趣变化,推荐算法的准确度明显提升.
【期刊名称】《计算机应用》
【年(卷),期】2018(038)004
【总页数】6页(P1001-1006)
【关键词】协同过滤;聚类;时间衰变;兴趣向量;矩阵分解
【作者】王永贵;宋真真;肖成龙
【作者单位】辽宁工程技术大学软件学院,辽宁葫芦岛125105;辽宁工程技术大学软件学院,辽宁葫芦岛125105;辽宁工程技术大学软件学院,辽宁葫芦岛125105【正文语种】中文
【中图分类】TP181
0 引言
在互联网时代,用户对信息的需求数量得到了满足,但是用户在搜索信息时无法直接有效地获取到他们真正想要的信息,其实质反而是降低了用户对信息的使用效率,即人们由信息匮乏的时代进入到了信息过载的时代。

推荐系统作为一种能有效解决信息过载问题的信息过滤手段[1],自20世纪90年代初,一经提出便受到了越来越多的关注。

Tapestry邮件过滤系统[2]被认为是最早提出的协同过滤推荐系统,其主要目的是尽可能地产生有限的、满足用户喜好的项目推荐列表,为用户产生推荐。

推荐系统在亚马逊、淘宝、新闻和游戏网站中的使用,在满足用户个性化需求的同时,自身也收益颇丰。

协同过滤推荐算法是推荐系统中应用最广泛、最成功的个性化推荐技术之一[3]。

该算法的推荐思想首先是利用用户的评分信息及其历史兴趣来计算用户之间的相似度,使用与该用户最相近的邻居的喜好来预测该用户对某商品感兴趣的程度,然后根
据该用户对商品的兴趣程度将商品进行排序,最后将排好序的商品推荐给该用户[4]。

可以处理如音频、视频这种非结构化的复杂对象[5],但在大数据时代下,该传统算
法在实际的推荐系统中准确度并不高,而造成这种的情况的主要因素有:大量的稀疏
数据、推荐实时性不强和算法的可扩展性较差等。

为此许多学者作了更加深入的研究,提出了一些改进方法并取得了一些成就,例如,在文献[6-8]中提出了改进的相似度计算方法,提高了推荐系统的精度;使用基于矩阵分解(如奇异值分解[9-10]和非负矩阵分解[11-12]等)的协同过滤算法有效地解决了数据稀疏问题;在协同过滤算法中加入聚类方法,使推荐系统的实时性不足的问题得到
了改善[13]。

文献[14-15]使用k-means聚类对用户或项目(商品)分别进行一定簇数的划分,降低了查找最相似近邻的成本。

文献[16]考虑到用户的评分具有主观性,
容易受周围环境的影响,基于项目信息具有较为稳定的特性,提出了基于项目信息进
行预测的协同过滤推荐算法;在计算用户或者项目的相似度时,用项目属性来来表征
项目,反映了用户对项目属性的兴趣点,提高了推荐的准确性。

文献[17]中提出了项
目属性集,把用户评分和项目属性相结合,使得聚类效果更加可靠,可以在一个簇中显示用户的兴趣,降低了相似度计算时间;但算法没有考虑到用户的主观兴趣随着时
间有改变的可能,这种情况下对用户进行分簇聚类不能真实地反映用户的兴趣变化,
同时冷启动中的新项目问题也得不到解决。

鉴于推荐算法中存在的上述问题,本文提出一种改进聚类和矩阵分解的协同过滤推荐算法(Collaborative Filtering recommendation algorithm based on
Improved Clustering and Matrix Factorization, ICMF-CF)。

该算法使用矩阵分解来降低维度以及进行矩阵填充,引入时间衰减函数预处理用户评分,引入多维的项目属性来表征项目,通过k-means聚类算法对用户和项目分别进行聚类。

1 协同过滤推荐算法
1.1 基于近邻的协同过滤推荐算法
基于近邻的协同过滤包括两种:一种是基于用户的,即如果有和目标用户兴趣爱好相似的人购买了某个商品(或者项目),那么此用户就有较大概率购买该商品(或者该项目);另一种是基于项目的,即如果某用户喜欢某个商品,当该用户看到与此商品类似的其他商品,并且该商品获得的评分也很高时,该用户购买该商品的概率会很大。

1.2 相似度计算
用户的评分数据通常矩阵Rmn表示,用户集合U={u1,u2,…,um}和项目集合
I={i1,i2,…,in}。

其中:rui表示用户u对项目(或者商品)i的评分值,分值范围是1~5的整数。

(1)
传统的协同过滤推荐算法首先根据用户评分矩阵计算用户之间的相似度,将相似度高的候选集生成Top-N推荐列表推荐给用户。

最近邻选择的精准度在一定程度上决定了推荐算法的质量,即相似度测量方法对于协同过滤算法非常重要。

目前,被用在协同过滤推荐算法中的相似度测量方法[16]有:矢量余弦相似性、调整的余弦相似性和皮尔逊相关相似性。

各相似度计算方法如下。

矢量余弦相似性:
(2)
调整的余弦相似性:
(3)
皮尔逊相关相似性:
(4)
其中:Uij=Ui∩Uj表示对项目i、 j均有评分的用户集;rui和ruj分别表示用户u对项目i、 j的评分;和分别表示项目i、 j得到的平均评分。

根据用户u的近邻集合V对项目i进行评分预测,用表示,计算方法如式(5)所示:
(5)
传统的相似度计算方法过程主要取决于用户-项目评分矩阵。

但是,实际的评分矩阵往往是极其稀疏的,依照原有的用户-项目相似度测量模式无法反映其实际的相似度,找到的最近邻是不可靠的,会导致最终的推荐结果不准确。

1.3 k-means聚类算法
聚类是一个物理集合或将对象抽象成相似的类,对象类尽可能多,且类与类之间不相交。

聚类模型被引入到协同过滤算法中,将类似的用户或项目聚集到相同的簇中,直接在每个簇内部进行最近邻的查询,不必像传统的协同过滤算法要在整个数据集中进行查询,大大降低了搜索范围和计算量。

实际上,聚类算法已被广泛应用于推荐系统,但是到目前为止,还没有一个聚类算法可以完成各种数据的聚类,不同的应用程序有不同的聚类算法。

k-means聚类算法[8]被广泛地使用,其核心是找出k个聚类中心点{ f1, f2,…, fk},使得每个数据点xi和它最近的聚类中心fv的平方距离以及(偏差E)最小化,确保相似度高的尽可能聚集在同一个簇中。

由于k-means聚类算法简单有效,适用大数据集,可以很好地满足协同过滤算法的需求,其具体步骤如算法1。

算法1 k-means聚类算法。

1)初始化:随机指定k个聚类中心{f1, f2,…, fk}。

2)赋值xi:为每个样本xi找到最近的聚类中心fv并将其分配给该类。

3)固定fw:将每个样本fw移动到其所属的簇中。

4)计算偏差
5)验证E是否收敛:如果E收敛,则算法终止并返回{f1, f2,…, fk};否则返回2)。

1.4 矩阵分解
奇异值分解(Singular Value Decomposition, SVD)法很难用在实际推荐系统中的原因体现在两个方面:一方面,在使用SVD时,要求对于存在缺失值的用户评分矩阵进行简单的补全,而补全后的评分矩阵需要巨大的存储服务器空间,在实际的系统中很难满足如此大的空间需求;另一方面,SVD在大规模密集矩阵中的计算复杂度非常高,而实际的系统中很多都是千万的用户和几百万的项目,这就使得SVD在这种情况下会很慢。

矩阵分解中,每个用户和项目(或者商品)都被描述成一个特征向量,记为:qu, pi∈Rd,用户在对项目评分的过程中往往是一个主观的过程,会受到一些潜在因素的影响;根据这种实际情况,用户u对项目i的预测分值可表示为式(6):
(6)
其中:表示用户u的对所有项目的平均评分;bu和bi分别表示用户u和项目i的评分偏置。

尽管和bu是这一规则中很关键的部分,但是可以看出它们对最终推荐列表中的项目排名并不起决定作用;因此,这一规则可以被重新写成最后的输出跟式(5)效果相同。

2 本文算法
本文引入了矩阵分解来对矩阵进行降维以及矩阵的填充以解决矩阵稀疏的问题;引
入时间衰减函数提高预测用户兴趣的变化情况;引入k-means聚类通过项目属性和用户评分对项目属性进行划簇,减少最近邻查询范围和解决新项目的问题。

这里的新项目是指那些还没有被评分的新出现的项目(或新的商品)。

2.1 算法描述
设用户集U={u1,u2,…,uk},项目集H={h1,h2,…,hk},项目属性集N={a1,a2,…,ak}。

项目属性矩阵Ay×n为:
(7)
当Aij=1时,表示项目hi包含属性aj;Aij=0时表示项目hi不包括属性aj。

文献[19]已经研究发现,用户兴趣和评分时间呈负相关,或着说时间越长评分的有效性越弱,因此,本文引入时间损失函数来反映用户兴趣随时间的变化趋势。

时间损失函数如式(8)所示:
f(t)=e-λt; t≥0
(8)
其中:λ表示损失因子,它的值是不固定的,根据不同的情况来定。

假设用户ui对s个项目有评分,这s个项目的属性矩阵可以按照式(7)得到,并记为(Ai)sr。

用户ui对s个项目的评分,可以用如下的对角矩阵来表示:
(Ai)ss=diag(rij,ri2,…,ris)
(9)
考虑到用户评分中特征的贡献度,以及用户兴趣随着时间的推移而下降的情况,用户ui加入时间损失的评分矩阵可以表示为:
(Bi)ss=diag(f(t1)rij, f(t2)ri2,…, f(ts)ris)
(10)
其中:ti表示项目pi得到评分的时间与项目pi被选择的时间的差值。

用户ui的兴趣特征矩阵可以综合式(9)~(10)得到:
(Ci)sr=(Bi)ss×(Ai)sr
(11)
将兴趣特征矩阵(Ci)sr转换成兴趣向量(Di)lr:
(12)
项目pi的属性向量Ej可以从式(7)得到:
Ej=[Aj1,Aj2,…,Ajr]
(13)
使用k-means聚类算法对用户兴趣向量进行聚类,同时根据属性向量Ej对项目进行聚类,具体步骤如下:
1)预处理数据集,并根据式(7)~(13),分别构建用户ui的兴趣向量(Di)lr和项目hi的属性向量Ej。

2)采用k-means聚类算法聚类用户向量,得到Ku(用户u的K个簇)并记为FU。

3)采用k-means聚类算法聚类属性向量,得到Ki(项目i的K个簇)并记为FI。

2.2 改进的聚类
使用(Di)lr来表征用户兴趣,基于用户的聚类算法如算法2所示。

算法2 基于用户的聚类算法。

输入用户集U,项目集I,用户评分矩阵Rmy,项目属性矩阵Ayr,时间损失函数f(t),聚类簇数Ku。

输出 Ku的聚类,记为FU。

1)任取一个用户:ui∈U,用户ui已评分的项目集记为S。

2)根据用户评分矩阵Rmy和项目集S,为用户ui构建对角矩阵
(Λi)ss=diag(ri1,ri2,…,ris)。

3)结合用户ui和项目的评分时间,构建用户ui的时间衰减矩
阵:(φi)ss=diag(f(t1)ri1, f(t2)ri2,…, f(ts)ris)。

4)根据项目属性矩阵Ayr和项目集S,为用户ui构建评估项目属性矩阵(Ai)sr。

5)用户ui的兴趣特征矩阵为:(ψi)sr=(Φi)ss·(Ai)sr。

6)生成用户ui的兴趣向量:
7)对任意的ui∈U,执行步骤1)~6)。

8)用户兴趣向量(Di)lr用于表征用户,并使用算法1进行用户聚类。

9)聚类中心不再改变时输出结果FU。

算法2完成了用户的聚类,项目聚类是相似的,也更加简洁,仅仅使用项目的特征向量θj代替用户的兴趣向量(Di)lr,然后完成聚类,再通过算法1输出结果FI。

2.3 改进的相似度计算方法
在一般的情况下用户之间的共同评分项是很少的,由于用户的评分是相近的,这就导致最终计算的相似度依然很高。

本文在计算用户之间的相似度时,使用用户兴趣向量取代用户评分向量;考虑到项目属性一般是固定不变的,可以在高维中表示项目,因此,在计算项目之间的相似度时,使用项目属性矩阵取代用户评分矩阵。

本文用皮尔逊相关系数来计算用户相似度,同时使用用户兴趣向量(Di)l×r取代用户评分向量,公式如下:
(14)
其中:N表示项目属性集;ax表示项目属性;riax和rjax分别表示用户ui和用户uj 在ax上的评分权重;和分别表示用户ui和用户uj对所有ax的平均评分。

在计算项目间相似度时,本文用余弦相似度来计算,同时使用属性向量Ej取代用户评分向量,公式如下:
(15)
其中:Aii和Aji分别表示项目hi和项目hj是否包含项目属性ax,值为1时,表示包含;值为0时,表示不包含。

2.4 本文算法的实现步骤
本文算法ICMF-CF的实现步骤可以分为以下两个阶段:推荐项目候选集的选择和在线Top-N推荐。

2.4.1 推荐项目候选集的选择
通过用户聚类将相似的用户聚到一个簇,用户的最近邻就可以直接在簇中进行搜索,
推荐项目候选集的选择建立在用户项目聚类的基础上会更加可靠,详细步骤如算法
3所示。

算法3 基于改进用户相似度的算法。

1)假设用户u所在的簇为Fu,对于任意的ui∈Fu,建立用户兴趣向量(Di)l×r(式(12))。

2)对于任意的ui∈Fu,使用改进的相似度计算方法(式(14))计算用户间的相似度,选
择相似度最高的Ku个用户作为最近邻,记为Fneiu。

3)根据Fuk和用户u,从用户评分矩阵Rmn得到已被用户u评分的项目集pu。

4)任取一个项目hj∈pu,找到该项目所属的簇Fhj,对任意的Ahj∈Fhj,构建其项目属性向量Ej(式(13))。

5)对于任意的ij∈Fhj,使用改进的相似度计算方法(式(15))计算项目间的相似度,选
择相似度最高的Ki个项目作为最近邻,记为Fneihj。

6)获取步骤5)的结果集:Fneih=Fneih1∪Fneih2∪…∪Fneihn。

7)首先把在Fneih中用户已经评价过的项目去掉,然后将相似度最高的Kr个项目作为用户u的推荐候选集,记为Wu。

2.4.2 在线Top-N推荐
为了给用户u产生推荐结果,需要在用户u的推荐候选集Wu中进行评分预测,生成
Top-N推荐列表。

本文使用梯度下降法对评分矩阵进行填充,由式(6)计算用户u对项目i的评分预测,可以被简写成:
(16)
预测值接近实际评分值就是使其差值最小,即目标函数:
(17)
为了学习到所有的参数,使得标准化的平方误差最小,如下所示:
(18)
其中:为实际评分与预测评分之间的平方误差;是在目标函数的基础上加入的正则化
因子,用来防止训练过拟合现象;预测误差定义为用随机梯度下降法对式(18)进行优化,分别对bi、qu求偏导,公式如下:
(19)
(20)
然后利用随机梯度下降法对bi、qu分别进行迭代更新:
(21)
其中:γ是学习率,迭代的终止条件是当前后两次函数值变化的绝对值小于指定阈值。

通过这种方式完成了对矩阵的填充,矩阵的每一行都被量化来表征用户评分,以用户
u为例,可以描述为:(ru1,ru2,…,rui,…,ruD),i是项目索引,产生推荐列表,对用户u进
行推荐。

本文使用余弦相似度式(2)进行相似度计算。

设项目iv是一个没有得到过评分的新项目,可以通过所有项目的平均评分值和项目的最近邻集合Fneiiv进行评分预测,如式(22)所示:
(22)
根据在项目推荐候选集上的预测评分,完成Top-N推荐过程。

3 实验结果与分析
实验平台的配置:1)硬件配置:PC(Intel Core i5处理器,4 GB内存,500 GB的硬盘);2)操作系统:Windows 7操作系统;3)编程环境:Matlab 2014a,Microsoft
VC++2015。

3.1 数据集的选择
采用美国明尼苏达大学GroupLens项目组提供的MovieLens数据作为数据集[20],其中有三个规模的数据集:100 KB、1 MB、10 MB。

本文用到的数据是大小为100 KB的数据集,包括943个用户对1 682部电影的10万条评分数据,每个用户至少对其中的20部电影作出评分(分值范围:1~5的整数)。

3.2 评价指标
使用平均绝对偏差(Mean Absolute Error, MAE)来评价预测情况。

MAE越小,表示预测性能越好。

假设用户u对项目的N个项目的预测评分值集合为
P={P1,P2,…,PN},对应的实际评分集合为Y={Y1,Y2,…,YN},MAE的公式被定义为(23):
(23)
准确率是通过计算预测评分与实际评分相等的数量占整个测试集的比率来衡量推荐的准确度;召回率反映了待推荐的项目被推荐的比率。

设G(u)表示算法推荐列表的项目集;T(u)表示用户实际评分的项目集。

推荐结果的准确率和召回率分别被定义
为式(24)~(25):
(24)
(25)
然而,由于准确率和召回率之间存在负相关关联,需要找到一个权衡量来综合表示。

为了解决这一问题,引入了另一个指标F1-measure来调和准确率和召回率,定义如式(26)所示:
(26)
当a=1时,就变成所熟知的F1,即本文用到的精度度量指标,如式(27)所示:
(27)
从公式中可以很明确地看出F1综合考虑了准确率和召回率两方面因素,将F1的值作为推荐系统的推荐精度。

3.3 实验结果分析
从数据集中随机取80%作为训练集,其余20%作为测试集。

实验分为两个部分: 3.3.1 预测情况的准确性实验
首先需要做的实验是优化聚类的簇数。

将簇数固定在4~15,并分别计算对应的MAE值。

在MAE值最小值时,其所对应的簇数作为实验的聚类簇数。

实验结果如图1所示。

图1 ICMF-CF中不同簇数对应的MAE值Fig. 1 MAE values for different cluster numbers in ICMF-CF
确定最佳簇数之后,在该簇数之下对比不同算法的MAE值。

P-CF表示基于使用皮
尔逊相关系数计算用户相似度的传统协同过滤推荐算法,PS-CF表示将用户Pearson相似度与Salton结合的协同过滤算法,NMF-CF表示基于非负矩阵分解的协同过滤算法。

结果如图2所示,算法P-CF中的MAE值最大,算法PS-CF中的MAE值大于算法NMF-CF,算法ICMF-CF中的MAE值最小。

实验结果表明,与P-CF、PS-CF和NMF-CF相比,本文算法ICMF-CF的MAE值分别低7.8、3.8和2.2个百分点,本文算法ICMF-CF提升了预测评分的精确度。

图2 四种协同过滤推荐算法在簇数为8时的MAE值比较Fig. 2 Comparison of MAE values of four collaborative filtering recommendation algorithms when the number of clusters is eight
3.3.2 Top-N推荐的准确性实验
准确率定义为推荐列表中用户喜欢的项目所占的比例。

另一方面,召回率定义为用户所喜欢的项目被推荐的概率。

选择召回率和准确率作为实验的基础评价指标,F1作为实验的综合指标,推荐列表的长度分别取30、40和50。

实验对比情况如表1所示。

表1 不同推荐列表长度下四种算法的准确率、召回率和 F1的比较Tab. 1 Comparison of precision accuracy, recall and F1 of four algorithms under different recommendation list length NNPrecisionP-CFPS-CFNMF-CFICMF-CFRecallP-CFPS-CFNMF-CFICMF-CFF1-measureP-CFPS-CFNMF-CFICMF-CF300.1200.2000.3000.3900.0800.1500.2500.3200.0960.1710.2730.352400.0 900.1800.2700.3500.1200.2000.3000.4100.1030.1890.2840.378500.0700.170 0.2400.3200.1500.2500.3800.4600.0950.0200.2940.378
从表1可以看出,当推荐列表数在30~40时,F1的值逐渐稳定在一个常数,实际上,存在一个推荐列表数的临界值,当推荐列表数目大于这个临界值时,推荐系统的表现并不会变得越来越好。

对于不同的数据集,这个临界值的选择往往也是不同的。


本文中取N为40时,将四种协同过滤推荐算法的召回率、准确率和F1作一个综合性的比较,NMF-CF是ICMF-CF的有力竞争者,然而,与NMF-CF相比,本文算法ICMF-CF的准确率提升8个百分点,召回率提升11个百分点,综合指标F1值提升了9.4个百分点。

本文算法ICMF-CF的效果明显优于其他三种算法,提高了推荐系统的推荐精确度。

4 结语
本文算法使用矩阵分解对评分矩阵进行降维以及数据填充,使用时间衰减函数解决了实时性问题;然后,使用用户兴趣向量表征用户,使用项目属性表征项目,用k-means分别将用户和项目进行聚类;最后,使用改进的相似度测量方法完成项目候选集,根据项目评分预测产生Top-N推荐。

实验结果表明,本文算法不仅提高推荐精度,而且降低了计算的向量空间维度,推荐精度也得到提升。

参考文献(References)
[1] 伍杰华,朱岸青, 蔡雪莲, 等.基于隐朴素贝叶斯模型的社会关系推荐[J]. 计算机应用研究, 2014, 31(5): 1381-1384, 1389.(WU J H, ZHU A Q, CAI X L, et al. Hidden naive Bayesian model for social relation recommendation [J]. Application Research of Computers, 2014, 31(5): 1381-1384, 1389.)
[2] GOLDBERG D, NICHOLS D, OKI B M, et al. Using collaborative filtering to weave an information tapestry [J]. Communications of the ACM, 1992, 35(12): 61-70.
[3] HERLOCKER L, KONSTAN A, BORCHERS A L, et al. An algorithmic framework for performing collaborative filtering [C]// SIGIR 1999: Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 1999: 230-237.
[4] 肖文强, 姚世军, 吴善明. 一种改进的Top-N协同过滤推荐算法[J].计算机应用研究, 2018, 35(1): 105-112.(XIAO W Q, YAO S J, WU S M. Improved Top-N collaborative filtering recommendation algorithm[J]. Application Research of Computers, 2018, 35(1): 105-112.)
[5] 许海玲, 吴潇, 李晓东, 等.互联网推荐系统比较研究[J]. 软件学报, 2009, 20(2): 350-362.(XU H L, WU X, LI X D, et al. Comparison study of Internet recommendation system[J]. Journal of Software, 2009, 20(2): 350-362.) [6] JEONG B, LEE J, CHO H. Improving memory-based collaborative filtering via similarity updating and prediction modulation[J]. Information Sciences, 2010, 180(5): 602-612.
[7] ZHAO C, PENG Q, LIU C. An improved structural equivalence weighted similarity for recommender systems[J]. Procedia Engineering, 2011, 15: 1869-1873.
[8] 李克潮,蓝冬梅.一种属性和评分的协同过滤混合推荐算法[J].计算机技术与发展, 2013, 23(7): 116-119.(LI K C, LAN D M. A collaborative filtering hybrid recommendation algorithm for attribute and rating[J]. Computer Technology and Development, 2013, 23(7): 116-119.)
[9] VOZALIS M G, MARGARITIS K G. Using SVD and demographic data for the enhancement of generalized collaborative filtering[J]. Information Sciences, 2007, 177(15): 3017-3037.
[10] 杨阳, 向阳, 熊磊.基于矩阵分解与用户近邻模型的协同过滤推荐算法[J]. 计算机应用, 2012, 32(2): 395-398.(YANG Y, XIANG Y, XIONG L. Collaborative filtering and recommendation algorithm based on matrix factorization and user nearest neighbor model [J]. Journal of Computer Applications, 2012,
32(2): 395-398.)
[11] CHEN G, WANG F, ZHANG C. Collaborative filtering using orthogonal nonnegative matrix tri-factorization[J]. Information Processing & Management, 2009, 45(3): 368-379.
[12] 郁雪, 李敏强.一种结合有效降维和K-means聚类的协同过滤推荐模型[J]. 计算机应用研究, 2009, 26(10): 3718-3720.(YU X, LI M Q. Collaborative filtering recommendation model based on effective dimension reduction and K-means clustering[J]. Application Research of Computers, 2009, 26(10): 3718-3720.)
[13] 张林, 王晓东, 姚宇.基于项目聚类和时间因素改进的推荐算法[J]. 计算机应用, 2016, 36(增刊2): 235-238.(ZHANG L, WANG X D, YAO Y. Improved recommendation algorithm based on item clustering and time factor [J]. Journal of Computer Applications, 2016, 36(S2): 235-238.)
[14] TSI C F, HUNG C. Cluster ensembles in collaborative filtering recommendation[J]. Applied Soft Computing, 2012, 12(4): 1417-1425. [15] 李振博, 徐桂琼, 查九.基于用户谱聚类的协同过滤推荐算法[J]. 计算机技术与发展, 2014, 24(9): 59-67.(LI Z B, XU G Q, ZHA J. A collaborative filtering recommendation algorithm based on user spectral clustering[J]. Computer Technology and Development, 2014, 24(9): 59-67.)
[16] XU D, TIAN Y. A comprehensive survey of clustering algorithms[J]. Annals of Data Science, 2015, 2(2): 165-193.
[17] SEHGAL G, GRAG D K. Comparison of various clustering algorithms[J]. International Journal of Computer Science and Information Technology, 2014, 5(3): 3074-3076.
[18] XUE G R, LIN CH X, YANG Q, et al. Scalable collaborative filtering using cluster-based smoothing[C]// Proceeding of the 28th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM, 2005: 114-121.
[19] MARY S S, SELVI R T. A study of K-means and cure clustering algorithms[J]. International Journal of Engineering Research and Technology, 2014, 3(2): 1985-1987.
[20] 奉国和, 梁晓婷.协同过滤推荐研究综述[J]. 图书情报工作, 2011, 55(16): 126-130.(FENG G H, LIANG X T. A summary of collaborative filtering recommendations[J]. Library and Information Service, 2011, 55(16): 126-130.)
This work is partially supported by the National Natural Science Foundation of China (61404069), the Liaoning Provincial Department of Education Scientific Research Project (LJYL048).。

相关文档
最新文档