您的当前位置:首页基于联合聚类和矩阵分解的协同过滤算法研究

基于联合聚类和矩阵分解的协同过滤算法研究

来源:小侦探旅游网
第33卷第2期 2014年6月 武汉轻工大学学报 V01.33No.2 Journal of Wuhan Polytechnic University Jun.2014 文章编号:2095-7386(2014)02-0060-04 DOI:10.3969/j.issn.2095-7386.2014.02.015 基于联合聚类和矩阵分解的协同过滤算法研究 赵广艳,李禹生,韩昊 (武汉轻工大学数学与计算机学院,湖北武汉430023) 摘要:提出了基于联合聚类和带正则化的迭代最小二乘法的协同过滤算法。该算法对原始 矩阵进行用户一项目两个维度的联合聚类生成若干子矩阵,子矩阵的规模远小于原始评分矩 阵,可有效降低预测阶段计算量,而且也缓解了数据稀疏性问题。在子矩阵中通过对传统的矩 阵分解进行正则化约束来防止模型过拟合现象,并采用迭代最小二乘法进行训练分解模型,可 有效缓解可扩展性。实验表明,该方法具有高效性。 关键词:协同过滤;联合聚类;稀疏性;最小二乘法;评分预测 中图分类号:TP 391.4 文献标识码:A Collaborative filtering algorithm based on co-clustering and matrix decomposition ZHAO Guang.yan,LI Yu-sheng,HAN Hao (School of Mathematics and Computer Science,Wuhan Polytechnic University,Wuhan 430023,China) Abstract:This paper proposes a collaborative filtering algorithm based on co—clustering and alternating—least-squares with weighted-regularization.The algorithm divides the original matirx into several sub—matrix,and the sub-matirx is much smaller than the size of the original scoring matirx,which not only reduces the amount of computation,but lso aalleviates the problem of data sparsity.In the sub—matirx by using regularization constraint to prevent model from over fitting and by using least—squares method to train decomposition model,the sealability can be effectively lleviated.The experaiments show that this method is efficient. Key words:collaborative filtering;CO—clustering;sparsity;least squares;score predicts 协同过滤个性化推荐是电子商务个性化推荐中 应用最多的技术之一。近年来,国内外学者对协同 过滤算法做了大量研究工作,并取得了丰硕成果,许 数据稀疏性,算法的可扩展性。由于算法的计算量 大,导致算法的性能急剧下降。基于用户聚类的协 同过滤推荐算法…,与传统的协同过滤算法相比, 提高了推荐速度和质量,但是只考虑了用户相似性。 王辉等提出了个性化服务中基于用户聚类的协同过 滤推荐 J,该算法对可扩展性和数据型稀疏性方面 进行了一定改进,但是效率和准确度还有待提高。 多大型电子商务网站,如Amazon,Ebay,Levis,阿里 巴巴,当当网上书店等都采用了各种形式的推荐系 统功能。伴随着电子商务规模的增大,用户与项目 的数量急剧上升,协同过滤算法面临的关键挑战是 收稿13期:2013.11-25. 作者简介:赵广艳(1987一),女,硕士研究生,E-mail:zhaoguangyan27@163.tom 通信作者:李禹生(1954一),男,教授,E—mail:prof.1i@163.corn. 2期 赵广艳,李禹生,韩吴:基于联合聚类和矩阵分解的协同过滤算法研究 61 在协同过滤推荐算法中,需要处理的数据都是 根据用户.项目评分矩阵来进行的。针对协同过滤 算法存在的可扩展性和数据稀疏性,笔者引入联合 会变得相对容易;②有效缓解评分稀疏性。 协同过滤算法,就是处理用户一项目评分矩阵, 联合聚类的目的就是缩小子矩阵内部评分数据间的 差异。以评分模式为标准的联合聚类 采用的思 路是扫描用户~项目评分矩阵中已经有的评分,进 聚类(BlockClust,简称BC)和带正则化的迭代最小 二乘法(alternating—least-squares with weighted—regu— larization,简称AW),提出了一种基于BC—AW的协 行行聚类与列聚类两个步骤进行概率计算,每次迭 代都需要重新评估计算用户、项目、评分这三者属于 每个子矩阵的概率直至收敛。将每个评分分配到所 求概率最大的那个子矩阵,不同的子矩阵可能包含 同一个用户一项目。每个子矩阵的用户、项目、评分 同过滤推荐算法,有效缓解了传统算法难以并行化、 可扩展性差的问题,整个算法主要分为两步:①在原 始评分矩阵中进行用户一项目两个维度的联合聚 类,聚类后生成具有相同模式评分块的若干子矩阵, 联合聚类后的子矩阵规模远小于原始评分矩阵,大 会组成新矩阵,此时的新矩阵已经是高相似性评分 的子矩阵,可以快速有效应用计算。 联合聚类后原来非常稀疏的用户一项目评分矩 阵转变成为 个规模较小的子矩阵,每个子矩阵的 内部评分相似度较高并且相对稠密,从而可以进行 有效的降维。在下一阶段的评分预测也会变更容 易、更准确。 幅度降低预测阶段计算量。②在联合聚类后生成的 每个子矩阵上分别利用带正则化的迭代最小二乘法 的协同过滤算法来预测子矩阵中的未知评分,进而 进行推荐。 l 联合聚类 怎样处理大量并且很稀疏的训练数据是协同过 对评分模式为标准的联合聚类,扫描评分矩阵, 计算每个评分属于某子矩阵的概率p(k l u, ,r), 要判定一个评分属于某子矩阵,需要考虑与评分所 关联的用户一项目属于该子矩阵的概率分别为P(k 滤算法面ll缶的关键问题,因此通过联合聚类的方法 将原始训练数据划分成数据规模较小、相似度较高 的子矩阵是一种有效的方法。对于协同过滤算法问 题,联合聚类算法应用到协同过滤算法有两大优势: I u)与P(k l ),以及该评分值出现在这个子矩阵 中的概率P(r I.i})。计算公式如下: ①需要处理的数据规模大量减少,算法的复杂操作 觜 (2) …、 ∑ ㈩p(k I ,r) ’ (3) p(r l k)= . (4) 其中,u为当前用户, 为当前项目,r为评分值, r 为1到5的整数,k为当前聚类,k 为累加时的当前 传统的矩阵分解模型的方法。通过考虑,这里采用 改进的矩阵分解算法(alternating—least—squares with weighted.regularization,简称AW) 来进行评分预 聚类,U(v)为给项目 评过分的所有用户集合, (M)为用户“已评过分的所有项目集合,为了防止 分母为0需要设置超参数Ot ,0,可根据具体情况设 定,在下面的实验中统一设为0.000 000 1。 测。对于联合聚类后的子矩阵,AW方法可以在极 短的时间内收敛到局部最小。 给定一个矩阵尺, i 为矩阵的元素,Ri.为矩阵 JR的第i行, . 为矩阵的第 列, 为矩阵尺的转 2带正则化的迭代最小二乘法的矩阵 分解 在预测阶段,评分预测可以选用很多种矩阵填 充方法,例如简单的k.最近邻模型预测方法,基于 置。 为矩阵的逆。矩阵A∈C 、B∈C 分别 为用户和项目矩阵的特征矩阵,,为一个d×d的单 位矩阵。 为了能够找到低秩矩阵 来最大程度的接近 62 武汉轻工大学学报 2014篮 矩阵R,最小化下面损失函数 £( )=∑ (JR 一X ) . (5) 其中,X=AB ,d为特征数目,一般情况下d<< r,r为矩阵 的秩,r<min(m,n),X 为 矩阵的元 素。 式(5)中(R 一 ) 是低秩逼近中常见平方误 差项,由X=AB 把式(5)改成有效并且快速的求解 最优化问题。 L(A, )=∑ (R#一Ai. ) . (6) 给式(6)加上正则化项来预防过拟合现象,则 式(6)可以改写成: L(A, )=∑ (R 一Ai. ) +A( . 2+ If .Il;). (7) 固定B,对Ai.求导 警 =0,得到求解Af .的公式如式(8)所示。 A‘.=Ri.B (B T +A^ ,)一1,i∈[1,d]. (8) 同理,根据式(8)固定A,可以得到B 的公式 为: =R.r.A (A A +AⅣ ,)一l, ∈[1,d]. (9) 3 基于BC-AW的协同过滤推荐算法 为了预测评分矩阵中的未知项,采用两阶段算 法。具体算法如下: 第1阶段联合聚类 输入:用户一项目评分矩阵 ,子矩阵个数K。 输出:K个子矩阵 Stepl:随机初始化用户 ,项目 ,评分r共同 属于聚类k的概率p(|j}IⅡ, ,r),使得∑ kP(k l u, ,r)=1; Step2:根据式(2)计算用户u属于聚类k的概 率P(k I u); Step3:根据式(3)计算用户 属于聚类k的概 率P(k l ); Step4:根据式(4)计算分值概率p(r I k); Step5:根据式(1)计算P(k I , ,r),并选取概 率最大的k作为该评分的子矩阵; Step6:跳转到Step2,直至收敛,否则结束程序。 第2阶段:基于AW的协同过滤评分预测 输入:子矩阵所对应的用户一项目评分矩阵; 输出:预测评分矩阵X; Stepl:随机初始化A、B; Step2:用式(8)、式(9)反复迭代更新A、B,直 到收敛或迭代次数足够多而结束迭代; ste = 分析基于BC—AW的协同过滤推荐算法,可以 看出该算法的第2阶段的关键步骤是Step2,运用公 式反复迭代更新4和B直到收敛或迭代次数足够多 而结束迭代。通过式(8)、式(9)可分析出,可以对 矩阵A、B进行分割,因为每次调用公式只是计算 更新矩阵A、B的一行值。把矩阵A、B分成多个 具有相同列长的矩阵来进行并行运算,从而缓解了 传统的基于矩阵分解的协同过滤算法难以并行化、 可扩展性差的问题。 4实验结果分析 4.1 实验数据集和度量标准 该文选取MovieLens数据集评估改进算法的性 能,MovieLens是美国的明尼苏达州立大学(Univer- sity of Minnesota)的GroupLens研究小组搜集的电影 评价数据集。该数据集中包括943位用户对1682 部电影的十万条评分数据(评分值为1到5的整 数),5表示评分最好,1表示评分最差,每个用户至 少给出2O个评分。 将原数据集分为训练集与测试集,从原数据集 中随机抽取80%的评分数据作为一个训练集,记为 Train80;原评分数据中除Train80以外的数据集构 成测试集,记为Test20;把Train80中的评分数据集 中的1/2抽取出来作为另一个训练集,记为 Train40。通过训练集生成模型,对测试集进行评分 预测,根据预测评分的结果与原实际评分之间的偏 差来度量预测的准确性。本文采用的评估方法为均 方根误差RMSE (Root Mean Square Error)的方 法,RMSE值越小,代表准确度越高。假设n表示将 要评估预测评分的项目数量,用户对 个项目的预 测评分值集合为{P。,P ….,P },实际评分值集合 为{q。,q ….q },RMSE的计算公式如下: 2期 赵广艳,李禹生,韩吴:基于联合聚类和矩阵分解的协同过滤算法研究 63 MovieLens进行评分预测,算法的超参数设置如下: = =0=0.000 000 1。对于子矩阵个数 的设 置做了一组实验,实验结果如图1所示。 图1 子矩阵个数 与剐 阳的关系 由图1可知,在各种实验条件下,在训练集为 Train80类别数为50的情况下RMSE最小,系统推 荐质量最好。在以下的实验中,采用类别数K为 50。 将基于BC.AW的协同过滤算法的有效性进行 对比实验,参与对比实验的算法包含Hofmann提出 的潜在语义模型协同过滤算法(LSM) 和基于矩 阵分解的协同过滤算法(ALS.WR)。各个算法均分 别在Train80,Train40训练集上训练,在Test20上测 试得到RMSE值,实验数据如图2所示。 1.15 1.1O 1.05 1.O0 O.95 图2不同算法性能比较结果 从图2可以看出,本算法的均方根误差较小,说 明推荐准确度得到了一定的提升。 5 结束语 该文提出了基于联合聚类和迭代最小二乘法的 两阶段协同过滤算法。首先对原始评分数据进行基 于用户一项目的联合聚类,即以评分值为标准,寻找 具有相同模式的评分块,从而把原始评分矩阵划分 成为相互可能有交叉的评分子块,聚类后的矩阵规 模远小于原始评分矩阵,可快速灵活的进行评分预 测。在评分预测阶段,采用基于AW的协同过滤算 法的评分预测,并分析了其可扩展性及抗稀疏性问 题。分别在Train80,Train40的训练集下采用不同 类别数 下,比较了均方根误差,找出了效果最好 的条件。在效果最好的条件下,和几个经典协同过 滤算法进行比较。实验结果表明,BC—AW算法优于 几个经典的协同过滤算法。 参考文献: [1] 李涛,王建东,叶飞跃,等.一种基于用户聚类 的协同过滤推荐算法[J].系统工程与电子技 术,2007,29(7):1178-1182. [2] 王辉,高利军,王听忠.个性化服务中基于用 户聚类的协同过滤推荐[J].计算机应用, 2007,27(5):1225—1227. [3] 吴湖,王永吉,王哲,等.两阶段联合聚类协同 过滤算法[J].软件学报,2010,21(5):1042— 1054. [4] 李改,李磊.基于矩阵分解的协同过滤算法 [J].计算机工程与应用,2011,47(30):4-7. [5] Koren Y.Factorization meets the neighborhood: A muhifaceted collaborative filtering model [C]//Proc of the 14th ACM SIGKDD Intema. tional Conference on Knowledge Discovery and Data Mining,2008:426434. [6]Hofmann T.Latent semantic models for collabo— rative filtering[J].ACM Trans actions on Infor- mation Systems,2004,22:89—1 15. 

因篇幅问题不能全部显示,请点此查看更多更全内容