南京大学学报(自然科学版), 2019, 55(4): 644-650 doi: 10.13232/j.cnki.jnju.2019.04.014

基于动态加权Bagging矩阵分解的推荐系统模型

何轶凡, 邹海涛, 于化龙,

摘要

为了提升推荐模型的预测精度,传统方法通常是利用更多的附加信息参与模型的构建.然而,此类方法在提高算法精度的同时也大大增加了算法的时间开销,同时对数据集也存在一定的要求.为了解决上述问题,提出一种基于Bagging集成的矩阵分解模型.该模型根据用户、产品评分数为基学习器动态分配权重,并通过加权求和得到预测评分.在三个不同规模的真实数据集上的实验结果显示:该动态加权Bagging矩阵分解模型拥有与传统矩阵分解模型一样的时间消耗,并且在各个衡量指标上都优于传统的矩阵分解模型.

关键词: 推荐系统 ; 矩阵分解 ; Bagging ; 动态加权

Abstract

To promote the prediction accuracy of the recommender system,the traditional methods generally use the additional information to construct model,which always increase the time consumption greatly,as well they always needs more detailed data. To solve the problem above,we propose a Bagging⁃based matrix factorization model which assigns dynamic weights to every base learner according to the number of users’ and items’ ratings,then acquires the prediction ratings by weight summation. The experimental results on three real datasets show that our dynamic⁃weighted bagging matrix factorization model has the same efficiency as the traditional matrix factorization model,and it is superior to the traditional matrix factorization on all measures.

Keywords: recommender system ; matrix factorization ; Bagging ; dynamic weighting

PDF (717KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex   收藏本文

本文引用格式

何轶凡, 邹海涛, 于化龙. 基于动态加权Bagging矩阵分解的推荐系统模型. 南京大学学报(自然科学版)[J], 2019, 55(4): 644-650 doi:10.13232/j.cnki.jnju.2019.04.014

He Yifan, Zou Haitao, Yu Hualong. Recommender system model based on dynamic⁃weighted bagging matrix factorization. Journal of nanjing University(Natural Science)[J], 2019, 55(4): 644-650 doi:10.13232/j.cnki.jnju.2019.04.014

在解决上述问题的过程中,矩阵分解模型[ 3]进入了研究者的视线.研究者们发现在隐含特征空间中某用户对产品的偏好(评分)可以根据用户特定的系数对产品特征向量进行线性组合得到.Salakhutdinov and Mnih[ 4]对矩阵分解模型给出了概率层次的解释,并提出一种受限概率矩阵分解模型(Constraint⁃Probabilistic Matrix Factorization),在构造用户特征矩阵时加入代表用户之间关系的隐含特征矩阵,大大提高了对稀疏、不平衡数据的预测精度.Koren et al[ 5]提出矩阵分解算法的几个变种,向原始矩阵分解模型中加入偏好、置信度等概念,提升算法的预测精度.此外,还有不少学者利用其他外部信息与矩阵分解模型构成混合模型,针对特定的数据集获得精准的推荐.如Zou et al[ 6]利用社交网络中社区成员之间的信任度作为用户间的相似度协同产生预测评分,Cheng et al[ 7]通过用户评分与评论共同协作产生推荐等.

上述模型都以预测评分和真实评分的差的平方为目标函数,通过最优化方法迭代求解用户、产品的隐含特征.Park et al[ 8]以目标函数的重构为出发点,提出以成对损失替代原始目标函数,最小化用户之间在共同购买产品上预测评分大小关系与真实评分大小关系的差,能获得更好的预测精度,但也带来了更高的时间复杂度.Xu et al[ 9]构造了一种不断缩小预测方差的高阶评分距离模型.在构造目标函数时,高阶评分距离模型不仅考虑用户对产品的预测评分与实际评分间的差异(称为一阶评分距离),还增加了同一用户对不同产品的预测评分与实际评分差异的差异(称为二阶评分距离).二阶评分距离的引入能不断缩小预测结果的方差,提高预测的精度,但由于模型过于复杂,算法的时间复杂度随数据集规模的增长呈指数增长.

集成学习[ 10, 11]的方法也被运用于提高推荐算法的精度.Sun et al[ 11]通过线性回归对多个算法分配权值,最终把各个算法的预测评分加权求和作为预测评分.方育柯等[ 12]集成基于用户相似度的推荐算法,使用不同的相似度度量产生不同的推荐模型,并加权求和得到最终的预测评分,提高了模型的预测精度.崔岩等[ 13]结合基于用户和基于产品的预测评分差与真实评分构造出新的数据集,再通过XGboost模型进行训练与预测.上述的集成方法,都以基于内容的推荐算法为基础,该算法本身就存在时间复杂度高、预测精度较低的缺点.此类算法用来计算相似度的时间与用户、产品个数的平方成正比,而且在面临稀疏数据时,甚至会出现相似度均为0的用户或产品,导致此类算法在预测精度方面也有不足.

为解决上述问题,本文以矩阵分解模型为基础,提出一种动态加权Bagging[ 14]的矩阵分解模型.首先,通过自助采样产生不同的训练集,再利用矩阵分解模型作为基学习器为每个训练集训练出用户、产品特征向量,最后构造基学习器间的动态权值,结合所有基学习器产生预测评分.对基学习器的并行计算使该模型在时间消耗相同时,算法的预测精度得到了提高.

1 相关工作

1.1 矩阵分解

矩阵分解(Matrix Factorization,MF),是在推荐领域广泛被应用的一种模型.该模型用一定维度的向量来表示用户和产品的特征,而某用户对某产品的评分就可由它们的特征向量的内积来预测.

假设有m个用户,n个产品,对应存在一个m×n的评分矩阵R,其中的元素rij表示用户i对产品j的评分.通过矩阵分解的方法,把R分解为两个较小的规模为m×d的矩阵U和规模为n×d的矩阵V.U,V的每一行都代表着一个用户或一个产品的特征向量,uiU的第i行,代表用户i的特征向量,vjV的第j行,代表产品j的特征向量,d为特征向量的维度(dm,n),则第i个用户对第j个产品的预测评分表示为:rˆij=uiTvj.给定一组训练数据D,其中每条数据形如(i,j,rij),通过训练数据构建优化问题如式(1):

argminU,V(i,j,rij)D(rij-uiTvj)2

使得式(1)中目标函数最小的U,V就是期望的用户、产品特征矩阵.为了防止过拟合,特征向量二范数的平方被引入到目标函数中作为正则项,式(1)变为:

argminU,V(i,j,rij)D(rij-uiTvj)2+λ(ui2+||vj||2)

其中,系数λ是一个通过实验获得的常量.

确定了目标函数之后,该模型采用随机梯度下降法[ 15]迭代更新U,V来最小化目标函数,如式(3)和式(4):

uiui-αrij-uiTvjvj+λui
vjvj-αrij-uiTvjui+λvj

其中,α为学习率,当满足一定迭代次数或目标函数变化小于一定阈值时迭代停止,最后通过训练出的U,V特征矩阵来预测评分.

矩阵分解模型比基于相似度的推荐算法在效率和预测精度上已有很大提升,但由于推荐领域数据本身的稀疏性和模型构建中随机初始值的设置导致模型的不稳定,使得产生的预测评分存在较大的方差,影响了推荐的准确性.

1.2 Bagging

Bagging(Bootstrap aggrega⁃ting)[ 14]是并行式集成学习方法最著名的代表,是一种基于自助采样法(bootstrap sampling)[ 16]的集成学习算法,能获得相较于基学习器更低的预测方差,可用于提高推荐算法的精度.该方法的总体思想如下:给定某包含k个样本的数据集D,随机取出一个样本放入采样集,再把该样本放回原数据集,使得下次采样该样本仍有可能被选中,这样,在k次随机采样后,就能得到含有k个样本的采样集D'.值得注意的是,初始训练集中存在样本多次出现在采样集中.由于初始训练集中的样本每次被抽取的概率为1/k,则样本在k次采样仍然不被采到的概率为(1-1/k)k,取极限为:

limk1-1kk1e0.368

由式(5)可知,通过自主采样所得的采样集能包含初始训练集大约63.2%的样本.利用上述方法,可采样出G个包含k个样本的采样集{D'1,,D'G},基于每个采样集训练出一个基学习器,再集成基学习器产生模型预测,如对于分类问题常采用简单投票法,对于回归问题则采用简单平均法.

2 动态加权Bagging矩阵分解构建

2.1 算法思想

对于一个回归任务,设(x,y)为数据集D中的一条数据,其中x为特征向量,y为真实值.通过数据集D训练出多个回归模型,再把特征向量放入回归模型产生对应的预测值ϕ(x,D).集成的预测值是多个模型在数据集D上预测的平均值,即:

ϕAx=EDϕ(x,D)

x为固定输入值,y为输出值,则:

ED(y-ϕ(x,D))2=y2-2yEDϕx,D+EDϕ2(x,D) 

应用式(6)和不等式EZ2(EZ)2于式(7)的末项可得:

ED(y-ϕ(x,D))2(y-ϕA(x))2

由式(8)可知,集成产生的预测值ϕAx的均方误差小于ϕ(x,D)均方误差的平均值,而且ϕ(x,D)越不稳定,集成对模型的提升越大.

Bagging是基于自助采样的集成算法,自助采样采用的是概率论里的bootstrap思想,原始稀疏样本不能反映数据集的真实分布,通过k次随机采样拟合数据的真实分布.针对矩阵分解模型由于数据稀疏性和随机初始值设置导致的预测评分不稳定,存在较大方差的问题,本文利用G个矩阵分解模型作为基学习器构造Bagging集成框架,并为每个基学习器分配动态权重,最后通过对基学习器的预测结果加权求和产生最终预测结果.算法流程如 图1所示.

图1

新窗口打开| 下载原图ZIP| 生成PPT

图1   算法流程图

Fig.1   Flow chart of the algorithm


2.2 算法具体描述

首先,对有k个样本的训练数据集D进行自助采样,采取G个包含k个样本的采样集{D'1,,D'G}.不同的是,为了保证每个用户和产品在每个采样集都拥有训练样本,每次采样首先在每个用户和产品所参与的评分数据中随机选取一个作为样本,共计(m+n)个样本((m+n)k),然后再对整体训练集进行自助采样得到包含k个样本的采样集.

接着,针对每个采样集Dg',构造矩阵分解模型,根据式(3)和式(4)训练出用户、产品特征矩阵UgVg.

最后,考虑到对于每个基学习器每个用户产品对的预测评分的置信度不同,给每个基学习器分配动态权重.通常,训练样本越多,则越能精确地拟合当前用户和产品的评分行为.因此,本文采用各个采样集中用户和产品的评分个数的归一化统计量作为各个学习器的权重,通过式(9)得到集成预测评分:

pij=g=1GΩgi,jg=1GΩgi,jugiTvgj

其中Ωgi,j为第g个采样集中用户i的评分样本个数和产品j的评分样本个数的和.倘若在每个采样集中,Ωgi,j都相等,则加权方式与简单平均法一致.在实验中,本文将上述算法称为动态加权Bagging矩阵分解.算法的具体步骤参考算法1.

算法1 动态加权Bagging矩阵分解.

输入:训练集D,测试集C,最大迭代次数MaxIter

输出:预测评分矩阵P

①自助采样G个采样集{D'1,,D'G}

②统计用户、产品的评分个数Ω

③for g=1 to G

④ 随机初始化特征矩阵UgVg

⑤ for Iter=1 to MaxIter

⑥ while (i,j,rij)Dg

⑦ 根据公式(3)更新ugi

⑧ 根据公式(4)更新vgj

⑨ end while

⑩ end for

⑪end for

⑫for (i,j)C

⑬ 根据公式(9)得到预测评分pij

⑭end for

⑮return P

3 实验结果与讨论

3.1 实验数据

使用从MovieLens(https:∥grouplens.org/datasets/movielens/)抽取的三个不同的数据集进行了测试,数据集的基本描述如 表1所示.三个数据集都具有稀疏性的共同特点,其中MovieLens1m稀疏度为4.19%,MovieLens10m和MovieLens20m的稀疏度分别为0.21%和0.11%.不同的是,Movie⁃Lens1m的评分为1~5的整数,而Movie⁃Lens10m和MovieLens20m的评分区间则是在0.5到5之间,每次增量为0.5.


3.2 度量标准

本文选取平均绝对误差(MAE)、均方根误差(RMSE)、归一化折损累计(NDCG@K)作为算法评估的三个指标,MAERMSE的定义如下:

MAE=rijC|rˆij-rij|C
RMSE=rijC(rˆij-rij)2C

MAERMSE的定义可发现, MAE能很好地反映预测值误差,而RMSE对误差较大的异常值更敏感.NDCG@K常用于作为列表排序的评价指标.本文把测试集中每个用户评价的产品按预测评分降序排列,并使用NDCG@K对上述排序进行衡量,定义如下:

NDCG@K=DCG@KiDCG@K
 DCG@K=i=1K2r(i)-1log2(i+1)

其中,K为序列中元素的个数,r(i)为第i个元素的值,DCG@K是预测出的序列的前K个元素的DCG值,iDCG@K代表理想最优序列的DCG值.本文采用NDCG@10作为衡量指标,NDCG@10越大则说明列表排序质量越好,即产生的预测评分越好.

3.3 参数设置

对于矩阵分解模型,实验中使用Xu et al[ 9]的参数λu=0.1,λv=0.1,学习率α=0.01.实验证明,Bagging集成表现随G的增大而趋于稳定.基于时间效率的考量,实验中将G设置为4.这样,当实验在四核CPU上并行时,只有和单个矩阵分解一样的时间消耗.此外,实验总迭代次数设置为80次,这个迭代次数已经可以保证算法收敛.前期实验表明,算法的预测精度会随着用户、产品特征矩阵维度d的增长而提高,但在维度d超过45时这种提高几乎消失,所以本文所有算法的特征矩阵维度d都设置为45.

3.4 实验结果及讨论

实验中使用动态加权Bagging矩阵分解(Dynamic Weighted Bagging Matrix Factorization)的英文首字母缩写DWBMF来代指该算法.实验展示了DWBMF与MF在三个数据集上完成最大迭代次数后的性能表现, 表2展示了在MovieLens1m数据集上的性能, 表3和 表4则分别为在Movie⁃Lens10m和MovieLens20m数据集上的性能,黑体字表示性能最优的数据.实验结果表明,本文提出的DWBMF模型在所有情况下都要优于MF模型.




为了更直观地比较DWBMF与MF算法的性能, 图2绘制了各个衡量指标随迭代次数的变化曲线.尽管三个数据集在数据规模、评分区间、数据稀疏度上都存在差异,但DWBMF和MF在三个数据集上的实验结果均有类似的表现趋势,因此,此处只列举各个指标在数据集MovieLens20m上的变化曲线.实验结果显示,随着迭代次数的增加,在MAE,RMSENDCG@10三个衡量指标中,本文提出的DWBMF模型总能持续明显优于MF.

图2

新窗口打开| 下载原图ZIP| 生成PPT

图2   两种算法在MovieLens20m上表现对比

Fig. 2   Performance of two algorithms on MovieLens20m

(a)MAE (b)RMSE (c)NDCG@10


4 结 论

针对推荐领域数据稀疏性和矩阵分解随机参数设置所导致的预测评分不稳定,预测精度不足的缺点,本文提出了一种动态加权Bagging矩阵分解算法,利用用户、产品评分个数的统计量作为Bagging集成的权重,加权求和产生最终预测评分.对不同规模的三个MovieLens数据集的实验结果分析表明,该模型在各个指标上都明显优于传统矩阵分解模型.

参考文献

ShardanandU,MaesP.

Social information filtering:algorithms for automating “Word of Mouth”∥Proceedings of the SIGCHI Conference on Human Factors in Computing Systems

Denver,CO,USAACM,1995210-217.

[本文引用: 1]

DeshpandeM,KarypisG.

Item⁃Based Top⁃N recommendation algorithms

ACM Transactions on Information Systems,2004,22(1):143-177.

[本文引用: 1]

RennieJ D M,SrebroN.

Fast maximum margin matrix factorization for collaborative prediction∥Proceedings of The 22th International conference on Machine learning

New York,NY,USAACM,2005713-719.

[本文引用: 1]

SalakhutdinovR,MnihA.

Probabilistic matrix factorization∥Proceedings of the 20th International Conference on Neural Information Processing Systems

Vancouver,CanadaACM,20081257-1264.

[本文引用: 1]

KorenY,BellR,VolinskyC.

Matrix factorization techniques for recommender systems

Computer,2009,42(8):30-37.

[本文引用: 1]

ZouH T,GongZ G,ZhangN,et al.

Adaptive ensemble with trust networks and collaborative recommendations

Knowledge and Information Systems,2015,44(3):663-688.

[本文引用: 1]

ChengZ Y,DingY,ZhuL,et al.

Aspect⁃aware latent factor model: Rating prediction with ratings and reviews

2018,arXiv:1802.07938.

[本文引用: 1]

ParkD,NeemanJ,ZhangJ,et al.

Preference completion:large⁃scale collaborative ranking from pairwise comparisons∥Proceedings of the 32th International Conference on Machine Learning

.Lille,FranceSpringer,20151907-1916.

[本文引用: 1]

XuJ W,YaoY,TongH H,et al.

HoORaYs:high⁃order optimization of rating distance for recom⁃mender systems∥Proceedings of the 23th International Conference on Knowledge Discoveryand Data Mining.

Halifax,CanadaACM,2017525-534.

[本文引用: 2]

WangS,MinkuL L,YaoX.

Resampling⁃based ensemble methods for online class imbalance learning

IEEE Transactions on Knowledge and Data Engineering,2015,27(5):1356-1368.

[本文引用: 1]

SunZ B,SongQ B,ZhuX Y,et al.

A novel ensemble method for classifying imbalanced data

Pattern Recognition,2015,48(5):1623-1637.

[本文引用: 2]

方育柯,傅彦,周俊临.

基于集成学习的个性化推荐算法

计算机工程与应用,2011,47(10):1-4.

[本文引用: 1]

Fang Y K,Fu Y,Zhou J L.

Boosting algorithm for personalized recommendation.

Computer Engineering and Applications,2011,47(10):1-4.

[本文引用: 1]

崔岩,祁伟,庞海龙.

融合协同过滤和XGBoost的推荐算法

计算机应用研究,2018,37(1)

DOI: 10.19734/j.issn.1001?3695 2018.06.0463      [本文引用: 1]

Cui Y,Qi W,Pang H L,et al.

Extreme gradient boosting recommendation algorithm with collaborative filtering

Application Research of Computers,2018,DOI: 10.19734/j.issn.1001⁃3695 2018.06.0463.

[本文引用: 1]

BreimanL.

Bagging predictors

Machine Learning,1996,24(2):123-140.

[本文引用: 2]

OhJ,HanW S,YuH,et al.

Fast and robust parallel SGD matrix factorization∥Proceedings of the 21th International Conference on Knowledge Discovery and Data Mining

Sydney,AustraliaACM,2015865-874.

[本文引用: 1]

JohnsonR W.

An introduction to the bootstrap

Teaching Statistics,2001,23(2):49-54.

[本文引用: 1]

/

PHP网站源码坪山网页设计南山SEO按效果付费南联seo优化沙井百度seo坂田SEO按效果付费大鹏关键词按天收费盐田网站优化松岗网站搜索优化大浪网站改版惠州网站建设塘坑建网站塘坑seo排名双龙关键词排名观澜SEO按效果付费龙岗网站制作设计荷坳网站优化按天计费龙岗百度网站优化排名平湖如何制作网站平湖百度seo盐田至尊标王大芬设计公司网站惠州百姓网标王推广龙岗网络广告推广同乐模板网站建设南澳网站优化按天扣费松岗网络广告推广永湖建网站南联网络广告推广横岗建网站布吉网站优化软件歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化