APP下载

神经因子分解机推荐模型改进研究

2020-06-19吴韦俊李烨

软件导刊 2020年4期
关键词:推荐系统

吴韦俊 李烨

摘 要:因子分解机对特征各维度之间的一阶线性关系和二阶线性关系建模,在推荐系统中已有较多应用。神经因子分解机模型(NFM)是因子分解机与神经网络的结合模型,它能捕获特征之间的高阶交互信息,使得模型预测效果更佳。但由于神经因子分解机模型一般都是采用全连接的前馈神经网络,使得整个推荐网络过于复杂,存在过拟合风险。为了降低神经因子分解机模型的整体复杂度,提高推荐模型的泛化性能,提出一种基于交叉网络的因子分解機模型(CFM),降低模型复杂度,提高模型泛化性能。实验表明,该模型在数据集上的预测准确度为77%左右,相比NrM预测准确度提高了约2%,整体模型泛化性能也有所提高。

关键词:推荐系统;交叉网络:神经因子分解机

DOI: 10. 11907/rjdk.191717

开放科学(资源服务)标识码(OSID):

中图分类号:TP301

文献标识码:A

文章编号:1672-7800(2020)004-0115-04

Research on Improvement of Recommendation Model Based on Neural

Factorization Machines

WU Wei-jun , LI Ye

(kSch.001 0f Optical Elect.rical and Compu t.er Engineerirzg , University of Slzangh.aifor Scie. nce. and Teclz nology , .Sh.angh.ai 200093 . Clzina )

Abstract: The factorization machine models the first-order linear relationship and the second-order linear relationship hetween thevarious dimensions of the f'eature . and it has been widely used in the recommendation system. The neuron factorization machine model( NFM ) is a combination model of factorization machine and neural network. It can capture high-order interaction information betweenfeatures. ,,-hich makes the prediction eff'ect better. However. since the neural factorization machine model generally uses a fully con-nected feedforward neural network . the entire recomruendation network is too complicated and there is a risk of overfitting. In order toreduce the overall complexity of the neural f'actorization machine model and improve the generalization performance of the proposedmodel, this paper proposes a cross-network-based factorization machine model ( CFM) to reduce the complexity of the model and im-prove the generalization performance of the model. Experiments show that the prediction accuracy of the model on the data set is about77% . which is about 2% higher than the NFM prediction accuracy, and the generalization performance of' the overall model is im-proved.Key Words : recommendation systeru ; cross network ; fa ctorization machine

O 引言

随着“互联网+”时代的到来,互联网被海量数据和信息充斥,互联网用户在面对各种购物网站或其它服务网站时会面临巨大的选择范围,从而导致信息过载问题…。在有限时间内,用户不可能浏览所有信息,因而越来越多的零售商和电商关注推荐系统模型应用,重视用户潜在需求、行为模式、兴趣爱好等[2],将用户满意的信息和产品推荐给用户。

推荐系统模型大致可以分为3类:基于内容的推荐、协同过滤推荐和混合推荐。目前运用较为成功的是协同过滤模型,它主要是根据目标用户的历史行为数据在整个数据库中寻找与目标用户兴趣、行为相似的用户,将他们喜欢或感兴趣的信息、物品推荐给目标用户。协同过滤模型最为核心的步骤就是目标用户最近邻查询[3],因而用户、项目的特征提取和相似度计算方法变得十分重要。

目前,随着深度学习的兴起,该项技术在图像处理、白然语言处理领域已有了广泛应用,如人脸识别、机器翻译、问答系统、情感分析等[4]同时,深度学习技术为推荐系统领域研究提供了新思路。①深度学习模型是一种端到端的学习模式,白动学习数据特征,而无需手动提取;②深度学习通过一个可学习的网络模型,可以提取海量信息的数据特征,具有强大的数据表征能力[5];③深度学习可以接受多源异构数据进行学习,得到数据的统一表征,可以有效缓解推荐系统的数据稀疏问题[6]。很多时候,推荐可以被视为是用户偏好的项目特征之间的双向交互,He等[7]提出的NCF(Neu ral Collaborative Filtering)模型就是一种旨在捕获用户和项目之间的非线性关系框架。CCCFNet(Cross-clomain Content-hoosted Collahorative Filtering neu-ral Network)8是它的一个扩展,其基本组件也是针对用户和项目双网络,构建多视图网络框架进行跨域推荐。卷积神经网络和对时间序列建模的循环神经网络在推荐系统领域也有应用[9-1]。Gong等[12]提出了一种基于注意力机制的卷积神经网络模型用于微博的标签推荐,他们将标签推荐视为一个多分类问题,所提出的模型由一个全局通道和一个局部注意力通道组成,全方位提取重要特征。然而在许多网站中,系统无法访问用户的长期消费习惯或者长期兴趣,只能通过会话或Cookie机制获得用户的短期偏好。Hidas等[13]提出了一种基于会话的GRU推荐模型用来捕获用户点击行为的短期变化特征,从而达到预测用户未来点击行为偏好。

虽然各种深度学习模型都在推荐系统领域有一定的应用和研究,但是用户和项目特征的有效提取及特征之间的交互一直都是深度学习在该领域应用和发展的难点[14]。本文提出基于因子分解机的高阶特征交互模型,使用一种交叉网络实现特征各维度之间的高阶交互信息提取,相比复杂度高的基于全连接神经网络的因子分解机模型(NeuralFactorization Machines,NFM)[15],該模型降低了模型复杂度,提高了模型泛化性能。

1相关理论

1.1 因子分解机

用户对项目的行为可以视为用户和项目的交互过程,进而获取用户和项目特征,它们之间的线性交互可能会更好地捕捉用户对项目偏好程度相关信息,给定一个实值特征向量 ,有线性模型:

对于非线性的情形,可以使用二阶多项式组合特征拟合数据集:

可以看出,线性模型的参数个数为n,而二次多项式模型的参数数量为0(N2)级别。对于高维问题,训练模型的代价很大。Rendle等[16]引入了一种因子分解机(FactorizationMachines,FM)策略,通过低秩扩展而不是一般的高维扩展来缓解该问题。其模型为:

其中, 为特征i的低维向量嵌入表示。可见,FM使用一个低维嵌入将特征映射到更小的K维空间中。与高维多项式模型相比,FM模型能够将参数数量从指数级降到线性级O(k×n)。

1.2 交叉网络

交叉网络( Cross Network)[17]是人工神经网络模型的一种形式,其每一层的网络表达式如下:

其中, 分别表示交叉网络第,层和第l+I层的输出向量, 表示该网络第,层的权重和偏置参数。每一个交叉网路层是在特征交叉函数厂后,添加该层的输入,映射函数 实现 残差的拟合。交叉网络一层结构如图1所示。

1.3交叉网络复杂度分析

令L。表示交叉网络层数,d表示输入维度,在每层交叉网络中需要学习的参数 ,且 ,则在整个交叉网络中需要学习的参数个数为:dx/。x2。

交叉网络的时间和空间复杂度在输入维度上都是线性的,每层之间则是一个权重向量。而对于一般前馈神经网络,由于其全连接结构,层与层之间参数都是权重矩阵[19]。若一个前馈神经网络输入维度为d,每层神经元个数为m,共有Ld层[20],那么学习的参数个数为dxm+m+(M2+m)×(LA-1)。显然,与前馈神经网络相比,交叉网络的复杂度非常小,因此,交叉网络的引入可以在很大程度上降低推荐模型的复杂度。

2基于交叉网络的因子分解机模型

2.1模型框架

基于深度学习的高阶特征交互模型框架如图2所示,整个模型由3个基本模块组成:因子分解机模型、交互池化层和交叉网络层。

给定一个输入数据 ,CFM模型的估计目标函数可以表示为:式中前两项为因子分解机模型的线性部分,f(X)表示特征之间的高阶交互信息。

2.2嵌入层

嵌入层是各维度特征到一个向量空间之间的映射,令 为输人数据第i个特征的嵌入表示,经嵌入向量表示后,获得的嵌入向量集合可表示为 。

2.3交互池化层

将嵌入层集合V输入到交互层,一个将嵌入向量转化成一个向量的表达式:

其中,“。”表示向量对应元素的乘积 ,交互层的输出为一个K维向量,编码了特征在嵌入空间的二阶交互信息。

2.4交叉网络层

将因子分解机模型的池化输出数据输入到多层交叉网络中。多层交叉网络定义如下:

式中 ,交叉网络的每层输出 ,其中,为交叉网络层数。

2.5预测层

将交叉网络的最后一层输出向量x1转化为最终预测:

其中, 表示预测层的权重向量。因此,基于交叉网络的因子分解机模型预测表达式为:

整个模型参数为

3 实验与结果分析

3.1 数据集与实验方法

系统环境为Windows 10,编程语言采用Pvthon 3.5,深度学习框架采用TensorfloW l.3。

Frapper数据集包含96 203个用户在不同上下义中APP的使用日志,除用户编号和APP编号外,还包含8个上下文变量,如天气、城市和时间等,使用one-hot编码实现日志到特征向量的编码,共有5382个特征。目标值为1表示用户使用过该APP,0表示未使用过。

与NFM模型进行对比研究,进行10次实验,每次实验采用10折交叉验证(10-fold IOCross-Validation),取各次实验均方误差( Mean Square Error,MSE)的平均值评估算法性能。

其中,k为总样本数, 为输入数据xi的真实标签。

3.2 实验结果分析

3.2.1 模型超参数的影响

使用梯度下降法训练CFM模型网络,超参数七和,由实验调参确定,不同取值会对该模型的性能产生影响。超参数七是输人数据每一维的嵌入维度,亦即交叉网络每一层的节点数,它们是相同的。

七对本文模型性能的影响如图3所示。可以看出,当k值较小时,模型无法提取有效的特征信息;当七值较大时,又会在特征编码时引入干扰信息,导致预测精准度降低;k=64时,模型性能最佳。

,对模型性能的影响如图4所示。可以看出,当l较小时模型有欠拟合现象,泛化性能较差;,较大时有过拟合现象,泛化性能也不佳;当,L=4时模型的泛化性能最好。

CFM模型的超参数取值如表1所示。

NFM模型的超参数取值如表2所示。

3.2.2模型间性能对比

NFM和CFM模型分别在训练集、测试集上的性能表现如图5所示。可以看出,NFM模型在训练集上的表现优于CFM模型,但在测试集上的表现则不及CFM模型。这是由于NFM模型的复杂度高,导致该模型产生了过拟合,泛化性能不佳。对于收敛速度,NFM模型在训练集上的表现略优于CFM模型,但在测试集上则略差。

4 结语

针对NFM模型复杂度高的问题,本文CFM模型使用具有较低复杂度的交叉网络代替前馈神经网络,实验表明,CFM模型具有更好的泛化性能。通过本文研究可以得出,传统神经网络模型属于全连接网络,模型复杂度较高,在训练阶段容易出现过拟合风险,简化神经网络模型,降低网络复杂度可以提高整体模型的泛化性能。后续研究可以关注不同特征在精度预测上的重要性,提高特征提取效率,以进一步提高预测精度。

参考文献:

[1]王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012.48(7):66-76

[2]刘建国,周涛,汪秉宏个性化推荐系统的研究进展[J].自然科学进展,2009. 19(1):1-15.

[3]马宏伟,张光卫,李鹏协同过滤推荐算法综述[J].小型微型计算机系统,2009, 30(7):1282-1288

[4]黄立威,江碧涛,吕守业,等.基于深度学习的推荐系统研究综述[J]计算机学报,2018,427(7):191-219

[5]王涛,李明.深度学习下的推荐系统研究[j]电脑知识与技术, 2017,13(25):180-181

[6] 陈先昌基于卷积神经网络的深度学习算法与应用研究[D].杭州:浙江工商大学,2014.

[7]HE X N. LIAO L Z, ZHANG H W,et al. Neural collaborative filtering[C]. Perth: Proceedings of the 26th International Conference on WorldWide Weh, 2017.

[8]LIAN J,ZHANC F, XIE X. et al. CCCFNet:a content-hoosted cnl-lahorative filtering neural network for cross domain recommender svs-tems ECl. International Conference on World Wide Weh Companion.International World Wide Web Conferences Steering Committee,2017

[9]TAN Y K. XU X, LIU Y. Impmved recurrent neural networks for ses-sion-hased recommendations[C].Proceedings of the lst Workshnp onDeep Learning fnr Recommender Svstems, 2016: 17-22.

[10]WU S,REN W,YU C, et al. Personal recommendation using deeprecurrent neural networks in NetEase[C].IEEE International Confer-ence on Data Engineering, 2016

[11]RAWAT Y S,KANKANHALLI M S.CnnTagNet: exploiting user con-text for image tag recommendatioii [C]. Amsterdam: Proceedings ofthe 24th ACM International Conference on Multimedia. 2016:1102-1106.

[12]GONC Y,ZHANG Q Hashtag recornmendation using attention-basedconvolutional neural network[C].International Joint Conference onArtificial Intelligence, 2016.

[13]HIDASI, BALAZS. KARATZOGLOU A. BALTRUNAS L. et al. Ses-sion-based recommendations with recurrent neural networks[J]. Com-puter Science, 2015

[14]王俊淑,张国明,胡斌基于深度学习的推荐算法研究综述[J].南

京师范大学学报:工程技术版,2018(4):33-43.

[15]HE X. CHUA T S Neural factorization machines for sparse predic-tive anah-tics[C].Proceedings of the 40th International ACM SIGIRConference on Research and Development in Information Retrieval,2017:355-364.

[16]RENDLE S. Factorization Machines[C].IEEE International Cnnfer-ence on Data Mining. 2011

[17]]SHAN Y, HOENS T R. JIAO J,et al. Deep Crossing: weh-scalemodeling withnut manualLLY crafted combinatorial features[C].ACMSIGKDD International Conference on Knowledge Discovery&DataMining, 2016.

[18]WANG R. FU B, FU G,et al. Deep&cross network for ad clickpredictionsEC]Halifax: Proceedings of the ADKDD'17, 2017.

[19]尹宝才,王文通,王立春深度學习研究综述[J]北京工业大学学报,2015(1):48-59.

[20]王涛,李明.深度学习下的推系统研究[J]电脑知识与技术,2017,13(25):180-181.

(责任编辑:孙娟)

收稿日期:2019-05-30

作者简介:吴韦俊(1994-),男,上海理工大学光电信息与计算机工程学院硕士研究生,研究方向为深度学习、推荐系统;李烨(1974-),

男,上海理工大学光电信息与计算机工程学院高级工程师、硕士生导师,研究方向为机器学习、大数据、工业控制与监测。

猜你喜欢

推荐系统
基于用户偏好的信任网络随机游走推荐模型
基于Mahout分布式协同过滤推荐算法分析与实现
基于Baseline SVD主动学习算法的推荐系统