一种基于受限波尔兹曼机的推荐算法
2020-11-30王卫兵张立超徐倩
王卫兵 张立超 徐倩
摘 要:在数据量过于庞大的情况下,RBM模型所输出的推荐结果会比较宽泛。此外,目前众多的协同过滤算法无法对巨大的数据集进行更好的处理。所以,尝试通过深度学习来对个性化推荐进行加强,指出把受限波尔兹曼机与隐含因子模型相结合的混合推荐方法。首先用RBM算法生成候選集,并对候选集的稀疏矩阵进行评分预测,然后使用LFM对候选结果进行排序,进而选择最优方案进行推荐。使用大型公开数据集对本文算法进行反复验证,通过测试可以看出,相比较于传统的推荐模型,本文所提阐述的方式能够有效提高评分预测的精准度。
关键词:推荐算法;深度学习;RBM模型;LFM模型
DOI:10.15938/j.jhust.2020.05.009
中图分类号: TP316.2
文献标志码: A
文章编号: 1007-2683(2020)05-0062-06
Abstract:In the case where the amount of data is too large, the recommended results output by the RBM model will be broader. Besides, many collaborative filtering algorithms currently do not handle large data sets better. So, we try to use the deep learning technology to strengthen the personalized recommendation model. We propose a hybrid recommendation model combining the bound Boltzmann model and the hidden factor model. First, we use the RBM algorithm to generate candidate sets, and score the sparse matrix of the candidate set. Then we use the LFM model to sort the candidate results and select the optimal solution for recommendation. The hybrid model is validated using used large public datasets. It can be seen from the verification that compared with the traditional recommendation model, the proposed method can improve the accuracy of the score prediction.
Keywords:recommendation algorithm; deep learning; restricted boltzmann machine; latent factor model
0 引 言
对于推荐系统,尽管前期已有很多人就此提出了多种算法和应用实现方案,不过依旧有许多问题尚未得到解决,譬如冷启动问题、数据稀疏问题等就是比较典型的问题,而且是普遍存在的问题。针对上述问题,已有不少研究人员都提出了在建模中导入包括内容信息[1-2]、标签信息[3-4]、社会信息[5]以及用户反馈信息[6]等附加信息。考虑到有大量在线服务都能够给用户提供多元选择,推荐所发挥的作用日益关键[7]。相对于个人来说,推荐系统的设计与应用有益于人们对信息的高效运用。目前运用的推荐算法主要包括基于内容推荐、协同过滤以及混合推荐三大类[8-9]。
协同过滤根据用户浏览或消费的历史信息,面向用户进行产品推荐。算法简单、结果较为准确且有效,所以成为目前应用最多的算法[10]。其主要有基于模型的推荐算法和基于记忆的推荐算法两种类型[11]。就后者而言,是通过项目评分矩阵而对物品与用户两者间的相似程度进行计算,进而通过所求得的相似度来推荐给使用者。其优势为极高的通用性、极强的操作性和较为简捷的算法。其主要缺陷在于极易被冷启动问题所限制。而对于前者来讲,此算法尝试对用户以往尚未见过物品所产生的兴趣度进行预测,所针对的对象为某一用户,通过机器学习算法来对物品向量进行训练。当模型被构建之后,对用户就新物品的评价进行一定的预测,从而形成相关推荐的实现,使得用户项目评分矩阵得到了更为深入的充填。然而,算法较为繁杂且不易操作。
深度学习、语音辨识、机器翻译等技术在当前的推荐应用中也多有采用。它能够组合低层水平的多种特征,得到较高层次水平和更强抽象性的表示,因此具备强大的数据自动处理并提取特征等突出优点。该技术建立的模型主要包括深度玻尔兹曼机、深度信念网络、卷积神经网络、栈式降噪自动编码器等[12-13]。同时研究人员还主要基于辅助信息、评分提出了多种问题解决方案。其中基于评分的解决方案,也就是以评分为基础建模开展深度学习并进行产品推荐[14-15],上述方式主要凭借深度学习,构建评分矩阵,完成项目或用户行为学习,实现产品推荐,结果证明相比于过去常用的矩阵分解等线性模型,这一方法已有明显改善。其中,基于辅助信息的模型主要从标签、内容以及图像中学习压缩等视角切入,提出结合运用传统矩阵分解法来实现产品的推荐[16-18]。而在深度模型之内导入辅助信息能够显著增强推荐的各项相关性能。
Salakhutdinov等[19]首次提出将深度学习算法引入到协同过滤算法当中,同时阐释了首个双层受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)模型。在这一模型中,将用户给出的评分作为可见层,将用户信息作为隐藏层,还构建应用概率模型预测评分。不过本模型仅仅以评分为研究对象,无法有效达成推荐目的也就是得到top-N结果。Truyen等[20]研究得到了以协同过滤为基础的序号玻尔兹曼机,着重分析评分序列参数,同时给出了数个不同玻尔兹曼机整合并用于以项目和用户为基础的课题中。何洁月等[21]主要扩展了RBM模型,研究给出了以实值状态为基础的玻尔兹曼机,本模型主要从下述三个角度完成了RBM的完善和改进,其一是将评分直接用于可见单元状态,而无需将其转化为向量0~1(K维),其二是将未评分数据用于训练数据集合,其三是将在应用模型中导入好友信任关系,有效解决稀疏性问题。Wang等[22]主要运用深度信念网,建立统一框架提取作品特征并完成对音乐作品的推荐。Oord等[23]主要运用卷积神经网络方法来实现音乐作品的主动推送。不过上述方法中省去了预处理数据的步骤,在神经网络之内直接录入评分矩阵,数据稀疏问题依然存在着。
针对上述问题,本文提出了基于RBM与隐含因子模型(latent factor model,LFM)的混合推荐模型(RBM-LFM),有效解决所需处理数据规模很大时,RBM模型推送信息结果太过广泛的实际问题,同时,改善协同过滤算法不能处理大数据集以及稀疏矩阵的问题。实验中使用RBM模型来训练评分矩阵,生成候选集,另外对候选集中稀疏评分矩阵进行评分预测,训练结束后,将候选集结果输入LFM模型中,通过LFM模型计算出最优的推荐结果。
1 基于RBM和LFM的混合推荐模型框架设计
基于RBM和LFM的混合推荐模型主要由以下5个不同模块所组成:其一,数据预处理模块;其二,RBM模型训练调优模块;其三,候选集数据填充模块;其四,LFM排序模块;其五,输出推荐结果模块。算法架构如图1所示。
本模型中可见、隐藏两层内全部单元都改成向量{0,1}。因此,预处理信息时,只需预处理待录入信息,也用向量{0,1}来表示电影评分矩阵。
将处理后的数据输入到RBM模型中,对RBM模型进行训练调优并生成候选集。首先给定RBM所需参数,即隐藏单元数目、最大训练次数以及学习率。随后,选取特定参数同时将其他参数固定下来并重复多次展开训练,如此反复实验多次之后,即可得到参数取值的最佳值组合。用此结果对RBM模型进行训练,随后将录入信息视为候选集。且填充候选集中所缺少的数据,输入到下一模块中。
将候选集数据输入到LFM模型,通过优化指定的参数,建立最优模型。将用户对每个电影的兴趣度值求出,进而推荐给用户。
图1 RBM-LFM模型框架图
Fig.1 the RBM-LFM model frame
2 基于RBM的推荐模型
玻尔兹曼机(Boltzmann machine, BM)属于生成式随机神经网络的一种,由学者Hinton和Sejnowski所提出,其通过某些隐层单元以及可见单元所组成,两者均为二元变量,状态取值均用向量0-1表示,其中,0代表的是抑制状态;1代表的是激活状态。其可以对繁杂的数据规则进行学习。但是,玻尔兹曼机的训练过程非常耗时,并且有时候会难以表示数据所服从的分布。受此影响,Sejnowski等人则阐述了一类受限玻尔兹曼机,它以玻尔兹曼机为基础,将同层变量间的连接全部清除,使得所存在的弊端得以解決,有力地促使了学习效率的有效提升,并逐步应用到了用户评分预测、推荐系统等领域。图2为RBM的结构图,涵盖权重w、隐层h、可见层v以及对应的偏置向量a、b。偏置单元用来反应固有的受欢迎程度,它的值总为1。很明显,同层节点间互不相连,不同层节点全部相连。
本文对基于项目的RBM推荐模型进行了一定的阐述(见图3)。假设我们有m个电影,n个用户和从1到K的整数评分值。本文将每个电影作为一个RBM训练模型,用户评分数据作为可视层输入。从图中可以看出:通过K长度的softmax单元来代表各个可见层神经单元,其表示某用户对某电影的评分,借助missing单元来代表未评分记录,此类missing单元不连接任一隐藏层神经单元。那么,各个RBM模型可见层神经单元总数由missing单元以及可见层softmax单元所构成。所以,针对每个电影的评分集合,如果被r(r<=n)个用户评分,便能够通过K×r的二值矩阵v来代表,vki=1则表示用户为此电影评分为k,而该项目i对应的softmax单元的其他部分则为0,即vk'i=0, k'≠k。所有的电影通过不一样的RBM模型来表达。
4 实验结果与分析
4.1 实验数据集
本文采用通用电影评分数据集MovieLens 1M和MovieLens 20M来开展实验。这两个数据集的基本信息如表1所示。大体上涵盖的数据信息为3类:电影信息、用户信息、以及评分信息。1~5间的整数为评分值。在实验时运用将75%的数据集视作训练样本,其他的则为测试样本。样本用随机方法进行选择。
4.2 实验评价指标
将RMSE视为预测评分指标中最为关键的一项。如果差值越低,则表明预测质量更优。假定Rij 代表的是使用者所评分的项目,R^ij代表的是所预估的评分,T集合了数据测试的评分,数据测试的总数由|T|代表。则均方根误差RMSE为:
4.3 实验结果分析
为更好地对此算法的有效性进行检验,把此文所应用的算法和基于项目(Item-based)的协同过滤、基于用户User-based)的协同过滤算法、基于内容的推荐算法(Content-based)以及奇异值矩阵分解(SDV)在共同数据集MovieLens 1M和MovieLens 20M下进行对比验证。本次实验的训练测试集为MovieLense中的评分集合,实验过程中,会对样本进行多次微调,对参数进行反复更新,将重构误差缩小到一定范围内,迭代次数最少10次,最多70次,根据图4则能够发现:如果所设置的参数相同,本文算法是推荐效果最为优异的算法。
当推荐列表个数K值为50、100、150、200、250、300、350时,各个算法的召回率情况如图5所示,通过实验结果则可以看出:如果具有相同的推荐长度,本文具有最为优异的算法。
5 结 论
本文给出了混合使用隐因子模型、RBM的混合模型,所得结果证明,与推荐实现的传统方法对比,本研究提出的算法所得结果更加准确。假使数据量过多,传统协同过滤算法便无法更好地进行计算,借助于RBM模型所输出的推荐结果相对广泛。本文将两者结合,针对RBM得出的大量结果集进行填充,并且使用LFM模型对候选集再一次进行排序,将最优的top-N结果选出,并予以推荐。通过实验结果便能够发现:将深度模型导入用于推荐系统是一个较有发展潜力的研究方向。本次研究过程中耗费了大量时间对数据进行预处理和对模型进行训练,效果仍有改进空间,后期可用其他深度学习模型继续研究。
参 考 文 献:
[1] WANG Hao, LI Wujun. Relational Collaborative Topic Regression for Recommender Systems [J]. IEEE Transactions on Knowledge and Data Engineering, 2015,275):1343.
[2] ZHENG Xiaolin, DING Weifeng, LIN Zhen, et al. Topic Tensor Factorization for Recommender System[J]. Information Sciences, 2016,372:276.
[3] WANG Hao,SHI Xingjian,YEUNG D Y.Relational Stacked Denoising Auto-encoder for Tag Recommendation[C]// Proceedings of the 29th AAAI Conference on Artificial Intelligence, 2015:3052.
[4] MA Huifang, JIA Meihuizi, ZHANG Di, et al. Combining Tag Correlation and User Social Relation for Mic; Roblog Recommendation [J] . Information Sciences, 2017,385:325.
[5] PARK C, KIM D, OH J, et al.Improving Top-K Recommendation with Truster and Trustee Relationship in User Trust Network [J]. Information Sciences, 2016,374:100.
[6] PAN Weike, XIA Shanchuan, LIU Zhuode, et al. Mixed Factorization for Collaborative Recommendation with Heterogeneous Explicit Feedbacks[J] .Information Sciences,2016,332: 84.
[7] ZHANG Wancai, SUN Hailong, LIU Xudong, et al. Temporal Qos-aware Web Service Recommendation Via Non-negative Tensor Factorization[C]// Proceedings of the 23rd International Conference on World Wide Web, 2014:585.
[8] BOBADILLA J,ORTEGA F,HERNANDO A,et al.Recommender Systerms Survey[J].Knowledge Based Systems, 2013,46:109.
[9] 黃震华,张佳雯,田春岐,等.基于排序学习的推荐算法研究综述[J]. 软件学报,2016,273):691.
HUANG Zhenhua, ZHANG Jiawen, TIAN Chunqi, et al. Survey on Learning-to-Rank Based Recommendation Algorithms[J]. Journal of Software, 2016,27(3):691.
[10]冷亚军,陆青,梁昌勇.协同过滤推荐技术综述[J]. 模式识别与人工智能,2014,278):720.
LENG Yajun, LU Qing, LIANG Changyong. Survey of Recommendation Based on Collaborative Filtering[J]. Pattern Recognition and Artificial Intelligence, 2014,27(8):720.
[11]丁少衡,姬东鸿,王路路.基于用户属性和评分的协同过滤推荐算法[J]. 计算机与工程设计,20152):487.
DING Shaoheng, JI Donghong, WANG Lulu. Collaborative Filtering Recommendation Algorithm Based on User Attributes and Scores[J]. Computer Engineering and Design, 2015(2):487.
[12]ZHANG Shuai, YAO Ling, et al. Deep Learning Based Recommender System: A Survey and New Perspectives[J] ACM Computing Surveys,2018,1(1):1267.
[13]黄立威,刘艳博..李德毅.基于深度学习的推荐系统[J].计算机学报,2018,41(7):1619.
HUANG Liwei, LIU Yanbo, LI Deyi. Surery on Deep Learning Based Recommender Systems[J]. Chinese Journal of Computers, 2018,41(7):1619.
[14]张敏,丁弼原,马为之,等. 基于深度学习加强的混合推荐方法[J]. 清华大学学报(自然科学版),2017(57):1014.
ZHANG Min, DING Biyuan, MA Weizhi, et al. Hybrid Recommendation Approach Enhanced by Deep Learning[J]. Journal of Tsinghua UniversityScience and Technology), 2017(57):1014.
[15]WU Yao, DU BOIS C, ZHENG A X, et al. Collaborative Denoising Auto-encoders for Top-N Recommender Systems[C]//Proceedings of the 9th ACM International Conference on Web Search and Data Mining, 2016:153.
[16]彭宏伟,靳远远,吕晓强,等.一种基于矩阵分解的上下文感知POI推荐算法[J]. 计算机学报,2018,41(34):1324.
PENG Hongwei, JIN Yuanyuan, L Xiaoqiang, et al. Context-Aware POI Recommendation Based on Matrix Factorization[J]. Chinese Journal of Computers, 2018,41(34):1324.
[17]HE Ruining, MCAULEY J. VBPR:Visual Bayesian Personalized Ranking from Implicit Feedback[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence,2016:144.
[18]LEI Chenyi, LIU Dong, LI Weiping, et al. Comparative Deep Learning of Hybrid Representations for Image Recommendations[C]// 2016 IEEE Conference on Computer Vision and Pattern Recognition,2016:2545.
[19]SALAKHUTDINOV R, MNIH A, HINTON G. Restricted Boltzmann Machines for Collaborative Filtering[C]// Proceedings of the 24th International Conference on Machine Learning,2007:791.
[20]TRUYEN T T, PHUNG D Q, VENKATESH S. Ordinal Boltzmann Machines for Collaborative Filtering[C]// Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence, 2009: 548.
[21]HE Jieyue, MA Be.Based-on Real-valued Conditional Restricted Boltzmann Machine and Social Network for Collaborative Filtering. Chinese Journal of Computers, 2016, 39(1): 183.
[22]WANG Xinxi, WANG Ye. Improving C; Ontent}ased and Hybrid Music Recommendation Using Deep Learning[C]// Proceedings of the 22nd ACM International Conference on Multimedia. 2014: 627.
[23]OORD A V D, DIELMAN S, SCHRAUWEN B.Deep Content-based Music Recommendation[C]// Proceedings of the 26th International Conference on Neural Information Processing Systems, 2013:2643.
(編辑:王 萍)