您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页一种改进的协同过滤推荐算法

一种改进的协同过滤推荐算法

来源:华佗小知识
研究与开发 文章编号:1007-1423(2017)15—0008—06 DOI:10.3969/j.issn.1007—1423.2017.15.002 一种改进的协同过滤推荐算法 王茜.王艳明 (重庆大学计算机学院,重庆400044) 摘要: 在协同过滤推荐系统中,商品被视为特征,用户提供他们对购买的商品的评分。通过对用户评分的学习.推荐系统可 以向用户推荐他们可能需要的产品。然而电子商务通常有相当多的产品,如果在推荐前要对每一个商品都进行考虑. 推荐系统将是非常低效的。提出一种改进的ItemRank方法,应用自构建聚类算法来减少商品数量相关的维度.然后 直接在聚类上运行推荐算法。最后,对推荐聚类进行变换得到推荐商品列表推荐给不同的用户。所提出的方法在计算 推荐商品时所需的时间大大减少。实验结果表明,在不影响推荐质量的前提下。推荐系统的效率得到了提高。 关键词: 协同过滤推荐系统:ItemRank 0 引言 随着网络的快速发展.网络商店中商品的数量、种 类变得越来越多.网络购物的人群也越来越多。从如此 细信息 相反.它通过用户和商品之间的交互信息向用 户推荐商品.通常交互信息表示为用户对购买的商品 的评分 通过对用户项目评分矩阵的分析.系统可以向 数量众多、种类繁杂的商品中选择适合自己的商品也 他们推送和他们有相同兴趣用户购买的而且他们还没 变得越来越困难 因此.推荐系统应运而生.以帮助人 们在网上找到他们感兴趣的商品.节约他们的检索时 间『l1 对于用户来说,推荐系统可以通过他们的购买、浏 览记录分析出他们的喜好.从而把他们感兴趣的商品 推荐给他们 在过去的几年中.推荐系统得到了快速的 发展.在本质上。他们可以分为两类。基于内容和协同 过滤.虽然近几年来混合系统[21趋势不断增长。 有购买的商品 总体来说协同过滤系统更易实现和高 效。 然而网络商店中通常有相当多的产品.如果在推 荐前要对每一个商品都进行考虑.推荐系统将是非常 低效的 降维技术已经在面对大规模数据产生快速、高 效推荐系统中得到了广泛的应用。K—means的一种变 形B—Kmeans[91算法已经应用在对用户进行不同的划分 基于内容的推荐系统根据产品的类别和其他属性 等内容向用户推荐商品。通过一些技术分析这些数据。 如贝叶斯模型_3】.基于内容的推荐系统向用户推荐那些 中 通过分析给定用户所属的分区中用户的邻域.向用 户推荐商品。Ba QVOl等人将用户按照性别、年龄、职业 等属性分组.然后用户项目评分矩阵重组后再计算两 最有吸引力的商品 一般来说基于内容的推荐系统需 要商品和用户的详细信息.它可以向用户推荐新商品, 但是它需求的信息是巨大的.而且很难获取所有用户 和商品的属性及其他信息。此外收集代表用户或商品 的唯一属性也很难 个用户之间的相似度 CAIv ]等人用模糊聚类方法运用 到用户上对用户进行聚类.利用用户组特征向量代表 用户.对用户代表的维度降维 SarwatI12]等人在一个框 架内使用三种类型的基于位置的评级的分类法产生推 荐.利用用户划分和旅行点向查询用户推送跟接近的 候选人 在PRM2113]算法中,个人兴趣、人际关系相似性 协同过滤推荐系统 不需要用户或商品属性的详 0 现代计算机2017.05中 翻蜜与 发 / 和人际影响被融合成一个统一的个性化推荐模型,并 且使用奇异值分解(SVD)来对原始的用户项目评分矩 阵进行降维 ICCRS㈣算法是一种迭代评分算法,它对 有偏见的评价者有很大的鲁棒性,与之前的迭代方法 不同.它不是基于将提交的评分与最终评分的近似进 行比较.而是完全将评分评估的可信度与排名本身分 离.这使得它比先前的迭代过滤算法对复杂的攻击有 更强的鲁棒性 上述基于维度降低的推荐系统具有一些缺点。一 些系统[10,121需要关于用户或商品的额外属性来将用户 或商品进行聚类.而这些属性通常是很难在实际应用 中得到的 另一些系统[11,15]需要预先给出聚类的数量, 这对用户来说是很难确定的。只能通过重复训练.这是 一个很大的负担 此外.使用降维的推荐系统在计算相 似性的时候仅仅考虑聚类的中心.忽略聚类的方差可 能导致推荐结果的不精确 在本文中.我们提出了一种改进的ItenRank方法. 应用自构建聚类算法来减少商品的维度.创建出商品 聚类之间相互关系的相关图 然后执行一系列的随机 游动.为每个用户生成商品聚类的推荐列表 最后执行 将商品聚类推荐列表转换成单个商品的推荐列表。利 用我们提出的方法.不需要搜集用户和商品的额外属 性信息.而且不需要用户提供预定的聚类数量。此外。 在计算相似性的时候我们不仅考虑聚类中心.还应用 聚类方差等因素 由于商品数量维度的减少.我们提出 推荐商品的处理时间也大大减少 1 相关算法 假设一个有N个用户的集合“ ,1≤i≤Ⅳ,一个有 个商品的集合]9i,1≤i≤M。用户“ 通过对商品]9i的 评分 ( 为一个正整数)来表达自己对商品的喜好程 度。通常,评分越高表明用户对商品的喜好程度越高。 如果用户M 未提供对商品P 的评分 .FO。这些信息用 一个用户项目评分矩阵来表示尺: 尺1 R= 尺2 ● : 此矩阵为Ⅳ× 矩阵,把R 记为RF[ … , 1≤ ≤Ⅳ。矩阵R的每一行代表一个用户,每一列代表 / 一个商品 协同过滤推荐系统的目标是给定用户项目 评分矩阵.预测用户对商品的喜好程度,向用户推荐商 品。 ItemRan k【 6- 是协同过滤推荐的基本方法之一。它 应用基于图模型的推荐算法.通过项目(商品)节点来 构图.形成项目间的关联关系图并计算得到用户的偏 好向量.然后利用随机游走算法预测用户对项目的预 测评分。最后向用户推荐生成的T0p—K商品。在关联关 系图创建步骤中,每个节点都是一个商品,商品节点P 与p 之间的连线W“具有的权重是同时购买商品P 和 Pi的数量 构建完关联关系图后得到矩阵 : W11 W12 … lM W21 W= ‘‘‘ W2M (2) 此矩阵为MxM矩阵.然后对矩阵 的每一列进 行归一化 在随机游走算法中,假设用户Ui,1≤i≤N. 设.s (0)=『1/ 1/M…1/M] ,然后执行S (t+1)= aWS (t)+( —O1)R 操作,t=0,1,2,…,直至达到收敛。 O/∈『0,11是用户定义的一个常数。通常O/取0.85,在执 行20次迭代后达到收敛效果。设S 为收敛后的向量, 即用户Ui的预测偏好列表。然后可以根据S 中元素的 大小顺序向用户 推荐商品。 2提出的改进算法 电子商务中可能包含数量巨大的商品.这使得 ItemRank在生成项目节点图的矩阵 时耗时较长.导 致ItemRank不适合处理大规模数据 本文中.我们主 要是针对ItemRank算法的改进。首先我们用自构建聚 类(scc)算法[18—19]为用户分配类标签.其次用自构建聚 类(SCC)算法对商品进行聚类以降低维度.然后创建项 目关联图.随后利用随机游走算法预测用户对项目聚 类评分.最后进行聚类转换到商品个体对用户进行推 荐商品。结果表明ItemRank的效率可以大大提高 2.1自构建聚类(scc)算法 假设 集合有n个模式 , ,…, ,其中X ,…, ,1≤ ≤n,SCC算法目的是将这些模式分配到 不同的聚类中。假设现在存在 个聚类,分别是G,,G , …,G ,每个聚类Gf(1≤暑,≤ )的平均值为m,=m m)2, …, ,标准差为o-i=o- ̄1,o-j2,…, ,G7的大小为Sj,即G7 现代计算机 2017.05中o 研究与开发 含有的模式个数 最初我们没有聚类,K=0,我们计算每 = 个模式 对聚类G 的隶属度 (置), P . .. ㈩ 。 (x )=nexpl一( 0=1 L u』q ) {,1 ≤ J (3) 因此我们有 个特征模式X。,X ,…,X ,每个具 有 个分量。设y={ I 1≤i≤ 。 如果隶属度不小于预定义的阈值, 。(X )≥p, 0≤p≤1,我们就说 通过了聚类G,的相似度检测。较 大的P导致较小的聚类,较小的P导致较大的聚类。此 时可能有两种情况。一种情况为 没有通过对现存的 任何聚类G 的相似度检测。这种情况下我们创建一个 新聚类G^,h=K+l,m^ ,Orh- ̄-OrO,OrO=O"o,dro,…,oro是用户 定义的一个常数向量 此时聚类的数目增加了1,聚类 G 的大小初始化为1,即K=h,S1=1。第二种情况置通 过了某些现存的聚类相似度检测,设最大隶属度的聚 类为G 此时把 归人到聚类G 中,更新聚类G 的均 值和标准差.这种情况下 不改变。该过程一直跌到所 有的模式被处理完,最终得到 个聚类。 2.2标记用户类标签 为了有效的降低维数,我们用SCC算法对用户进 行聚类.标记用户类标签 而且不需要用户输入聚类个 数 为了消除用户评分的尺度不同,我们对用户评分进 行归一化: Q产∑ ,&=l  1≤ ≤Ⅳ, (4) , 1 ≤ (5) 设 =蕊1, ,…, Ⅲ,1≤ ≤Ⅳ, ={ I 1≤ ≤Ⅳl,我 们对 运用SCC算法,假设得到z个聚类,G。,G ,…, G:,每个聚类当做一个类标签,分别标记为C ,C。,…,C:。 对所有属于聚类G.的用户我们标记类标签为cj。此时 我们将原始数据集合尺扩展为R ,(R ,Y ),(R ,y2),… (R,v,yN),yi∈{Cl,C2,…,c;},1≤i≤Ⅳ。 2.3降维 这个步骤中我们使用Jiangf 9】等提出的类似方法降 低商品维数。对于每件商品 ,1 ≤ ,我们构造一个 特征模式XF-xj ,xj ,…, ,其中: xj P(c I PJ)=一生 —一∑ ,(1≤ ≤z,1 ≤ )(6) ∑ 现代计算机2017.05中 然后我们在】,上应用SCC算法,假设我们获得q 个聚类G ,G:,…,G。,同一聚类中的商品相似。由于有q 个聚类,用户对商品评价的维度由M降维到q.得到矩 阵 : tll t12 t21 t22 i (8) tMt (置) (9) 然后我们把高维的NxM矩阵R降维成低维矩阵 Bl B2 B= :● R = (10) : B B [6n bi2 6 )】,1≤ ≤j7v (11) 我们将B中的每一列称为一个商品类.因此我们 有g个商品类,记为g ,g2,…,gq。由此,原来具有 个 商品评分的用户记录降维成具有口个商品组评分。 ItemRank算法运行在 矩阵上,我们的算法将运行在 降维后的B矩阵上 2.4创建关联关系图 此步骤中我们创建一个相关图,显示q个商品类 之间的关联关系。由于我们使用的是 ,我们以不同的 方式派生关联关系图。每个商品类被视为一个节点,我 们有q个节点。节点 和gJ之间的权重为W ,1≤ √≤ q.计算方式如下: 『0,ifi=j 1∑N (譬) 2 0,/fal=0 OF啦=0 Z m ( )= al,fal<if2 (13) 啦 !, otherwise 如果W 太大,则某些商品类可能占主导地位,并 且妨碍一些商品被划分到其他商品组,因此我们对113 设置上限为1。当关联关系图完成后,我们得到如下矩 阵: 3 实验结果与分析 3.1时间复杂度分析 在标记用户类标签步骤时.我们必须计算每个用 户和每个现有聚类之间的相似性.~为用户数. 为商 彬 = 州 (14) 品数.每个用户向量有 个分量.。为类标签个数,所 以这步骤复杂度为O(NzM) 在降维步骤中.我们需要 计‘算特征模式和现有聚类之间的相似性.特征模式为 ,然后我们对W矩阵的列进行归一化。 2.5随机游走 在随机游走步骤中.执行一系列随机游走。任一用 户11, ,1≤ ≤Ⅳ,设: 商品类为q,每个特征模式包含z个分量,所以这步 骤复杂度为O(Mq ) 在关联关系图步骤巾.两点之间 的权重Wii都需要汁算,所以这步骤复杂度为D( ) 在 vi(0)=【(1lq llq 1/q)r 然后执行如下步骤.直至Vi收敛 V (£+1)=OdWV。(£)+(1一 )B ,t=0,1,2,… (15) 随机游走算法中.公式(16)必须要进行迭代.每次的跌 倒需要qq2次运算.对所有用户(Ⅳ个)的复杂度为0 (Nq )。最后,对一个『}】户来说,公式(19)需要进行 次 (16) 运算.每次涉及q次乘法和q一1次加法,所以此步复杂 度为D(帕M)。所以,总共的时间复杂度为D( (Mqz)+0(q2)+()(A )+D(,vq )。 其中 是根据公式(14)得到的, ,是根据公式(11) 得到的。假设 为收敛后的向量,则 是为用户U 生 成的推荐商品组 )+() 3.2实验结果分析 本文用了四个数据集进行实验.分别是Movie— Lens.BookCroSSing和Epinions,这 个数据集的特征如 2.6再转换 在上面步骤中,我们得到q个商品类。为朋户 推 荐的商品类包含q个商品 但是.最终我们不是向用户 推荐商品类,而是向用户推荐单个商品.因此,我们要 将 。转化成包含单个商品列表的S 。根据公式(9),我 表l所示 、通过与[temRank算法.PRM2算法.BiFu算 法和ICRRS算法进行比对 ItemRank算法不采H4任何 降维技术,PRM2算法应用奇异值分解(SVD)方法来降 们得到xj对商品聚类G。,G:,…,G 的隶属度分别为£ ( ), ( ),…, ( )。首先我们对公式(8) 维,BiFu算法应用K—means算法进行聚类降维.ICCRS 算法将评分估计的可信度与排名本身分离 一因为K— means需要预先输入聚类数目.所以我们先运行本文的 方法得到聚类数目.然后把聚类输入应用到BiFu算法 巾的矩阵 的列进行归一化: M ’ Q = t ,I≤七≤q =I (17) (18) 中。 表2 示了本文方法(IRSCC)和BiFu中涉及的用 ,l ≤ 户项目聚类数 表3显示了算法之间绝对平均误差 (MAE)的比较。对MAE来说,获得的值越小.方法越 对每一行进行如下计算: SiIll=t, V 1]+tr.V 【2]+ 3V 【31+…+ [q】 (19) 好。可以看出对于 个数据集来说.ItemRank和IRSCC 在MAE方面表现相当好 表4显示了不同方法之间的 执行时间(以秒为单位)的对比 我们可以看出IRSCC Si们是S.的第 个分量,V …是V。的第 个分量。 是商品PJ对商品类 的贡献值,V 表示用户u 对 商品类 的喜好程度。因此 , 】表示用户u 在商品 类gk中对商品 的喜好程度,累加得出用户 对商品 Pi的喜好程度。最终,我们得到用户u 的推荐商品列表 S… 运行速度要比其他方法好很多 表1数据特征 现代计算机 2017.05中① 表2聚类数目 运行9l21.29s。相反,IRSCC应用自构建聚类以降低维 度,把9846个商品聚类到56个聚类中、所以在公式 (16)中使用的关联关系矩阵减小到56x56.所以IRSCC 运行的很快。BiFu通过K—means进行降维.这是非常 耗时的.所以BiFu也比IRSCC算法慢很多 表3不同方法的MAE比较 为本算法选择一个合适的p仍然是一个难题,还 是经受一些试验和错误 在第3节中指出P的选择直 接影响算法的效果 当P选择的较大时,聚类较小.生 成的聚类数日就较多.这将导致算法运行时间增加 表4不同方法执行时间比较 4 结语 在协同过滤系统巾.商品被视为特征. 然而.涉及 电子商务时.通常有相当多的商品.如果每一个商品在 推荐前都要考虑的话.推荐效率将是非常低效的 我们 提出了一种应用自构建聚类算法来降维.以达到效率 闪为hemRank算法设计的维数是商品的数量.例 如.对于BookCrossing数据集来说ltemRank要处理一 个9846x9846 阵.所以ItemRank在BookCrossing上 的提高。实验结果表明.推荐系统的效率大大提高,而 且不损害推荐质量 参考文献: l1 1Marko Balalmnovie,Yoav Shoham.Content-Based Collaborative Recommendation.Communications of the ACM.March 1997.Pages 66-72. 【2]Gatzioura.A.,Shnehez-Marr ̄,M.A Case—Based Recommendation Approach for Market Basket Data.IEEE Intel1.Syst.30(1),20 14. Pages20—27. 【3 l Rish.I.An Empiri(‘al Stu<ty of the Naive Bayes Classifier.I Internalional Joint Conferences on Artiifcial Intelligence(IJCA1)Work— shot)on Emt)iriea1 Methods in AI,PP.41—46. 【41Cui,H.,ZhtI,M.Collaboration Filtering Re(’ommendation Optimization with User Implieit Feedbat‘k.J.Comput.hff.Syst.10(I4), 5855—5862.20 l 4. 151 Guo.G..Zhang,J.,Thahnann,D.,Ym’ke-Smith,N.Leveraging Prior Ratings for Reeommender Systems in E—Commer(‘e.Electron. Cmmn.Res.App1.13.440—455,2014. 【61 Nikolakopoulos,A.N.,Kouneli.M..Garofalakis,J.A Novel Hierarchical Approach to Ranking-Based Collaborative Filtering.Com一 711111).Comput.Inf.Sei.384。50-59.2013. [7l Jiang,M..Cni.P.,Liu.R.,Yang,Q.,Fei,W.,Zhu,S.Yang,Social Contextual Recommendation.In:21st ACM International Confer— ell(‘e on Infimnation and Knowledge Management,PP.45—54.20 1 2. f81 Porcel,C.. rejeda一|A)renle,A.,Maflinez,M.,Herrera-Viedma.E.A Hybrid Recommender System fi)r the Selective Dissendnation of Research Resources in a Technology Transfel-Offiee.Inf.Sci.184.1一l9.2012. 【91Sarwar.B.M..Karypis,G..Konstan,J.,Riedl,J.,Recommender Systems for Large—Scale E—Commer( Scalable Neighborhood Fortlatiron Using Clustering.In:5th International Con ̄rence on Computer and Infornmtion Technology.2002. 【1 O]Ba Q,Li X.Bai Z.Clustering Collaborative Filtering Recommendation System Based on SVD Algorithm[C].Software Engineering and Service Seienee(ICSESS).20 l 3 4th IEEE International Conferenee on.IEEE,20 1 3:963—967. 现代计算机2017.05中 [1 1]Cai Y,Leung H,Li Q,et a1.Typicality-Based Collaborative Filtering Recommendation[J].IEEE Transactions on Knowledge and Data Engineering,2014,26(3):766-779. f12]Sarwat M,Levandoski J J,Eldawy A,et a1.LARS*:An Efifcient and Scalable Location—Aware Recommender System[J].IEEE Transactions on Knowledge and Data Engineering,2014,26(6):1384-1399. 【13]Qian X,Feng H,Zhao G,et a1.Personalized Recommendation Combining User Interest and Social Circle[J].IEEE Transactions on Knowledge and Data Engineering,2014,26(7):1763-1777. [14]Allahbakhsh M,Ignjatovic A.An Iterative Method for Calculating Robust Rating Scores[J].IEEE Transactions on Parallel and Dis— tributed Systems,2015,26(2):340—350. 【15]Xue,G.一R.,Lin,C.,Yang,Q.,Xi,W.,Zeng,H.-J.,Yu,Y.,Chen,Z.Scalable Collaborative Filtering Using Cluster—Based Smoothing.In:ACM SIGIR Conference,2005. 【161范家兵,王鹏,周渭博,等.在推荐系统中利用时间因素的方法[J].计算机应用,2015,35(5):1324—1327. [17]Pucci,A.,Gori,M.,Maggini,M.A Random-Walk Based Scoring Algorithm Applied to Recommender Engines,Lecture Notes in Computer Science—Advances in Web Mining and Web Usage Analysis 481 1(2007):127—146. [18]Lee,S.-J.,Ouyang,C.-S.A Neuro-Fuzzy System Modeling with Selfconstructing Rule Generation and Hybrid SVD—Based Learning. IEEE Trans.Fuzzy Syst.11(3),341—353,2003. 【19 ̄iang,J.-y.,Liou,R.-J.,Lee,S.-J.,2011.A Fuzzy Self-Constructing Feature Clustering Algoirthm orf Text Classiifcation.IEEE Trans.Know1.Data Eng.23(3),335—349. 作者简介: 王茜(1970一),女,重庆人,教授,研究方向为网络安全、电子商务、数据挖掘 王艳明(1990一),男,河北邯郸人,硕士,研究方向为数据挖掘 收稿日期:2017—03—14 修稿日期:2017—05—10 I mproved Collaborative Filtering Recommendation Algorithm WANG Qian,WANG Yan-ming (College of Computer Science,Chongqing University,Chongqing 400044) Abstract: In collaborative filtering recommender systems,products are regarded as features and users are requested to provide ratings to the prod. ucts they have purchased.By learning from the ratings,such a recommender system can recommend interesting products to usersHowev. .er,there are usually quite a lot of products involved in E—commerce and it would be very ineficifent if every product needs to be consid— ered before making recommendations.Proposes an improved approach based hemRank which applies a self—constuctirng clustering algo. rithm to reduce the dimensionality related to the number of products,Recommendation is then done with the clustersFina11v.re—transfor— .marion is performed and a ranked list of recommended products is offered to each userWith the proposed approach,the processing time .for making recommendations is much reduced.Experimental results show that the eficiency of tfhe recommender system can be improved without compromising the recommendation quality. Keywords: Collaborative Filtering Recommender System;hemRank 现代计算机 2017.05中 

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

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务