吳韋俊 李燁
摘 要:因子分解機(jī)對(duì)特征各維度之間的一階線性關(guān)系和二階線性關(guān)系建模,在推薦系統(tǒng)中已有較多應(yīng)用。神經(jīng)因子分解機(jī)模型(NFM)是因子分解機(jī)與神經(jīng)網(wǎng)絡(luò)的結(jié)合模型,它能捕獲特征之間的高階交互信息,使得模型預(yù)測(cè)效果更佳。但由于神經(jīng)因子分解機(jī)模型一般都是采用全連接的前饋神經(jīng)網(wǎng)絡(luò),使得整個(gè)推薦網(wǎng)絡(luò)過(guò)于復(fù)雜,存在過(guò)擬合風(fēng)險(xiǎn)。為了降低神經(jīng)因子分解機(jī)模型的整體復(fù)雜度,提高推薦模型的泛化性能,提出一種基于交叉網(wǎng)絡(luò)的因子分解機(jī)模型(CFM),降低模型復(fù)雜度,提高模型泛化性能。實(shí)驗(yàn)表明,該模型在數(shù)據(jù)集上的預(yù)測(cè)準(zhǔn)確度為77%左右,相比NrM預(yù)測(cè)準(zhǔn)確度提高了約2%,整體模型泛化性能也有所提高。
關(guān)鍵詞:推薦系統(tǒng);交叉網(wǎng)絡(luò):神經(jīng)因子分解機(jī)
DOI: 10. 11907/rjdk.191717
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):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 引言
隨著“互聯(lián)網(wǎng)+”時(shí)代的到來(lái),互聯(lián)網(wǎng)被海量數(shù)據(jù)和信息充斥,互聯(lián)網(wǎng)用戶在面對(duì)各種購(gòu)物網(wǎng)站或其它服務(wù)網(wǎng)站時(shí)會(huì)面臨巨大的選擇范圍,從而導(dǎo)致信息過(guò)載問(wèn)題…。在有限時(shí)間內(nèi),用戶不可能瀏覽所有信息,因而越來(lái)越多的零售商和電商關(guān)注推薦系統(tǒng)模型應(yīng)用,重視用戶潛在需求、行為模式、興趣愛(ài)好等[2],將用戶滿意的信息和產(chǎn)品推薦給用戶。
推薦系統(tǒng)模型大致可以分為3類:基于內(nèi)容的推薦、協(xié)同過(guò)濾推薦和混合推薦。目前運(yùn)用較為成功的是協(xié)同過(guò)濾模型,它主要是根據(jù)目標(biāo)用戶的歷史行為數(shù)據(jù)在整個(gè)數(shù)據(jù)庫(kù)中尋找與目標(biāo)用戶興趣、行為相似的用戶,將他們喜歡或感興趣的信息、物品推薦給目標(biāo)用戶。協(xié)同過(guò)濾模型最為核心的步驟就是目標(biāo)用戶最近鄰查詢[3],因而用戶、項(xiàng)目的特征提取和相似度計(jì)算方法變得十分重要。
目前,隨著深度學(xué)習(xí)的興起,該項(xiàng)技術(shù)在圖像處理、白然語(yǔ)言處理領(lǐng)域已有了廣泛應(yīng)用,如人臉識(shí)別、機(jī)器翻譯、問(wèn)答系統(tǒng)、情感分析等[4]同時(shí),深度學(xué)習(xí)技術(shù)為推薦系統(tǒng)領(lǐng)域研究提供了新思路。①深度學(xué)習(xí)模型是一種端到端的學(xué)習(xí)模式,白動(dòng)學(xué)習(xí)數(shù)據(jù)特征,而無(wú)需手動(dòng)提取;②深度學(xué)習(xí)通過(guò)一個(gè)可學(xué)習(xí)的網(wǎng)絡(luò)模型,可以提取海量信息的數(shù)據(jù)特征,具有強(qiáng)大的數(shù)據(jù)表征能力[5];③深度學(xué)習(xí)可以接受多源異構(gòu)數(shù)據(jù)進(jìn)行學(xué)習(xí),得到數(shù)據(jù)的統(tǒng)一表征,可以有效緩解推薦系統(tǒng)的數(shù)據(jù)稀疏問(wèn)題[6]。很多時(shí)候,推薦可以被視為是用戶偏好的項(xiàng)目特征之間的雙向交互,He等[7]提出的NCF(Neu ral Collaborative Filtering)模型就是一種旨在捕獲用戶和項(xiàng)目之間的非線性關(guān)系框架。CCCFNet(Cross-clomain Content-hoosted Collahorative Filtering neu-ral Network)8是它的一個(gè)擴(kuò)展,其基本組件也是針對(duì)用戶和項(xiàng)目雙網(wǎng)絡(luò),構(gòu)建多視圖網(wǎng)絡(luò)框架進(jìn)行跨域推薦。卷積神經(jīng)網(wǎng)絡(luò)和對(duì)時(shí)間序列建模的循環(huán)神經(jīng)網(wǎng)絡(luò)在推薦系統(tǒng)領(lǐng)域也有應(yīng)用[9-1]。Gong等[12]提出了一種基于注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)模型用于微博的標(biāo)簽推薦,他們將標(biāo)簽推薦視為一個(gè)多分類問(wèn)題,所提出的模型由一個(gè)全局通道和一個(gè)局部注意力通道組成,全方位提取重要特征。然而在許多網(wǎng)站中,系統(tǒng)無(wú)法訪問(wèn)用戶的長(zhǎng)期消費(fèi)習(xí)慣或者長(zhǎng)期興趣,只能通過(guò)會(huì)話或Cookie機(jī)制獲得用戶的短期偏好。Hidas等[13]提出了一種基于會(huì)話的GRU推薦模型用來(lái)捕獲用戶點(diǎn)擊行為的短期變化特征,從而達(dá)到預(yù)測(cè)用戶未來(lái)點(diǎn)擊行為偏好。
雖然各種深度學(xué)習(xí)模型都在推薦系統(tǒng)領(lǐng)域有一定的應(yīng)用和研究,但是用戶和項(xiàng)目特征的有效提取及特征之間的交互一直都是深度學(xué)習(xí)在該領(lǐng)域應(yīng)用和發(fā)展的難點(diǎn)[14]。本文提出基于因子分解機(jī)的高階特征交互模型,使用一種交叉網(wǎng)絡(luò)實(shí)現(xiàn)特征各維度之間的高階交互信息提取,相比復(fù)雜度高的基于全連接神經(jīng)網(wǎng)絡(luò)的因子分解機(jī)模型(NeuralFactorization Machines,NFM)[15],該模型降低了模型復(fù)雜度,提高了模型泛化性能。
1相關(guān)理論
1.1 因子分解機(jī)
用戶對(duì)項(xiàng)目的行為可以視為用戶和項(xiàng)目的交互過(guò)程,進(jìn)而獲取用戶和項(xiàng)目特征,它們之間的線性交互可能會(huì)更好地捕捉用戶對(duì)項(xiàng)目偏好程度相關(guān)信息,給定一個(gè)實(shí)值特征向量 ,有線性模型:
對(duì)于非線性的情形,可以使用二階多項(xiàng)式組合特征擬合數(shù)據(jù)集:
可以看出,線性模型的參數(shù)個(gè)數(shù)為n,而二次多項(xiàng)式模型的參數(shù)數(shù)量為0(N2)級(jí)別。對(duì)于高維問(wèn)題,訓(xùn)練模型的代價(jià)很大。Rendle等[16]引入了一種因子分解機(jī)(FactorizationMachines,F(xiàn)M)策略,通過(guò)低秩擴(kuò)展而不是一般的高維擴(kuò)展來(lái)緩解該問(wèn)題。其模型為:
其中, 為特征i的低維向量嵌入表示??梢?jiàn),F(xiàn)M使用一個(gè)低維嵌入將特征映射到更小的K維空間中。與高維多項(xiàng)式模型相比,F(xiàn)M模型能夠?qū)?shù)數(shù)量從指數(shù)級(jí)降到線性級(jí)O(k×n)。
1.2 交叉網(wǎng)絡(luò)
交叉網(wǎng)絡(luò)( Cross Network)[17]是人工神經(jīng)網(wǎng)絡(luò)模型的一種形式,其每一層的網(wǎng)絡(luò)表達(dá)式如下:
其中, 分別表示交叉網(wǎng)絡(luò)第,層和第l+I層的輸出向量, 表示該網(wǎng)絡(luò)第,層的權(quán)重和偏置參數(shù)。每一個(gè)交叉網(wǎng)路層是在特征交叉函數(shù)廠后,添加該層的輸入,映射函數(shù) 實(shí)現(xiàn) 殘差的擬合。交叉網(wǎng)絡(luò)一層結(jié)構(gòu)如圖1所示。
1.3交叉網(wǎng)絡(luò)復(fù)雜度分析
令L。表示交叉網(wǎng)絡(luò)層數(shù),d表示輸入維度,在每層交叉網(wǎng)絡(luò)中需要學(xué)習(xí)的參數(shù) ,且 ,則在整個(gè)交叉網(wǎng)絡(luò)中需要學(xué)習(xí)的參數(shù)個(gè)數(shù)為:dx/。x2。
交叉網(wǎng)絡(luò)的時(shí)間和空間復(fù)雜度在輸入維度上都是線性的,每層之間則是一個(gè)權(quán)重向量。而對(duì)于一般前饋神經(jīng)網(wǎng)絡(luò),由于其全連接結(jié)構(gòu),層與層之間參數(shù)都是權(quán)重矩陣[19]。若一個(gè)前饋神經(jīng)網(wǎng)絡(luò)輸入維度為d,每層神經(jīng)元個(gè)數(shù)為m,共有Ld層[20],那么學(xué)習(xí)的參數(shù)個(gè)數(shù)為dxm+m+(M2+m)×(LA-1)。顯然,與前饋神經(jīng)網(wǎng)絡(luò)相比,交叉網(wǎng)絡(luò)的復(fù)雜度非常小,因此,交叉網(wǎng)絡(luò)的引入可以在很大程度上降低推薦模型的復(fù)雜度。
2基于交叉網(wǎng)絡(luò)的因子分解機(jī)模型
2.1模型框架
基于深度學(xué)習(xí)的高階特征交互模型框架如圖2所示,整個(gè)模型由3個(gè)基本模塊組成:因子分解機(jī)模型、交互池化層和交叉網(wǎng)絡(luò)層。
給定一個(gè)輸入數(shù)據(jù) ,CFM模型的估計(jì)目標(biāo)函數(shù)可以表示為:式中前兩項(xiàng)為因子分解機(jī)模型的線性部分,f(X)表示特征之間的高階交互信息。
2.2嵌入層
嵌入層是各維度特征到一個(gè)向量空間之間的映射,令 為輸人數(shù)據(jù)第i個(gè)特征的嵌入表示,經(jīng)嵌入向量表示后,獲得的嵌入向量集合可表示為 。
2.3交互池化層
將嵌入層集合V輸入到交互層,一個(gè)將嵌入向量轉(zhuǎn)化成一個(gè)向量的表達(dá)式:
其中,“。”表示向量對(duì)應(yīng)元素的乘積 ,交互層的輸出為一個(gè)K維向量,編碼了特征在嵌入空間的二階交互信息。
2.4交叉網(wǎng)絡(luò)層
將因子分解機(jī)模型的池化輸出數(shù)據(jù)輸入到多層交叉網(wǎng)絡(luò)中。多層交叉網(wǎng)絡(luò)定義如下:
式中 ,交叉網(wǎng)絡(luò)的每層輸出 ,其中,為交叉網(wǎng)絡(luò)層數(shù)。
2.5預(yù)測(cè)層
將交叉網(wǎng)絡(luò)的最后一層輸出向量x1轉(zhuǎn)化為最終預(yù)測(cè):
其中, 表示預(yù)測(cè)層的權(quán)重向量。因此,基于交叉網(wǎng)絡(luò)的因子分解機(jī)模型預(yù)測(cè)表達(dá)式為:
整個(gè)模型參數(shù)為
3 實(shí)驗(yàn)與結(jié)果分析
3.1 數(shù)據(jù)集與實(shí)驗(yàn)方法
系統(tǒng)環(huán)境為Windows 10,編程語(yǔ)言采用Pvthon 3.5,深度學(xué)習(xí)框架采用TensorfloW l.3。
Frapper數(shù)據(jù)集包含96 203個(gè)用戶在不同上下義中APP的使用日志,除用戶編號(hào)和APP編號(hào)外,還包含8個(gè)上下文變量,如天氣、城市和時(shí)間等,使用one-hot編碼實(shí)現(xiàn)日志到特征向量的編碼,共有5382個(gè)特征。目標(biāo)值為1表示用戶使用過(guò)該APP,0表示未使用過(guò)。
與NFM模型進(jìn)行對(duì)比研究,進(jìn)行10次實(shí)驗(yàn),每次實(shí)驗(yàn)采用10折交叉驗(yàn)證(10-fold IOCross-Validation),取各次實(shí)驗(yàn)均方誤差( Mean Square Error,MSE)的平均值評(píng)估算法性能。
其中,k為總樣本數(shù), 為輸入數(shù)據(jù)xi的真實(shí)標(biāo)簽。
3.2 實(shí)驗(yàn)結(jié)果分析
3.2.1 模型超參數(shù)的影響
使用梯度下降法訓(xùn)練CFM模型網(wǎng)絡(luò),超參數(shù)七和,由實(shí)驗(yàn)調(diào)參確定,不同取值會(huì)對(duì)該模型的性能產(chǎn)生影響。超參數(shù)七是輸人數(shù)據(jù)每一維的嵌入維度,亦即交叉網(wǎng)絡(luò)每一層的節(jié)點(diǎn)數(shù),它們是相同的。
七對(duì)本文模型性能的影響如圖3所示??梢钥闯?,當(dāng)k值較小時(shí),模型無(wú)法提取有效的特征信息;當(dāng)七值較大時(shí),又會(huì)在特征編碼時(shí)引入干擾信息,導(dǎo)致預(yù)測(cè)精準(zhǔn)度降低;k=64時(shí),模型性能最佳。
,對(duì)模型性能的影響如圖4所示??梢钥闯?,當(dāng)l較小時(shí)模型有欠擬合現(xiàn)象,泛化性能較差;,較大時(shí)有過(guò)擬合現(xiàn)象,泛化性能也不佳;當(dāng),L=4時(shí)模型的泛化性能最好。
CFM模型的超參數(shù)取值如表1所示。
NFM模型的超參數(shù)取值如表2所示。
3.2.2模型間性能對(duì)比
NFM和CFM模型分別在訓(xùn)練集、測(cè)試集上的性能表現(xiàn)如圖5所示??梢钥闯觯琋FM模型在訓(xùn)練集上的表現(xiàn)優(yōu)于CFM模型,但在測(cè)試集上的表現(xiàn)則不及CFM模型。這是由于NFM模型的復(fù)雜度高,導(dǎo)致該模型產(chǎn)生了過(guò)擬合,泛化性能不佳。對(duì)于收斂速度,NFM模型在訓(xùn)練集上的表現(xiàn)略優(yōu)于CFM模型,但在測(cè)試集上則略差。
4 結(jié)語(yǔ)
針對(duì)NFM模型復(fù)雜度高的問(wèn)題,本文CFM模型使用具有較低復(fù)雜度的交叉網(wǎng)絡(luò)代替前饋神經(jīng)網(wǎng)絡(luò),實(shí)驗(yàn)表明,CFM模型具有更好的泛化性能。通過(guò)本文研究可以得出,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型屬于全連接網(wǎng)絡(luò),模型復(fù)雜度較高,在訓(xùn)練階段容易出現(xiàn)過(guò)擬合風(fēng)險(xiǎn),簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)模型,降低網(wǎng)絡(luò)復(fù)雜度可以提高整體模型的泛化性能。后續(xù)研究可以關(guān)注不同特征在精度預(yù)測(cè)上的重要性,提高特征提取效率,以進(jìn)一步提高預(yù)測(cè)精度。
參考文獻(xiàn):
[1]王國(guó)霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012.48(7):66-76
[2]劉建國(guó),周濤,汪秉宏個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J].自然科學(xué)進(jìn)展,2009. 19(1):1-15.
[3]馬宏偉,張光衛(wèi),李鵬協(xié)同過(guò)濾推薦算法綜述[J].小型微型計(jì)算機(jī)系統(tǒng),2009, 30(7):1282-1288
[4]黃立威,江碧濤,呂守業(yè),等.基于深度學(xué)習(xí)的推薦系統(tǒng)研究綜述[J]計(jì)算機(jī)學(xué)報(bào),2018,427(7):191-219
[5]王濤,李明.深度學(xué)習(xí)下的推薦系統(tǒng)研究[j]電腦知識(shí)與技術(shù), 2017,13(25):180-181
[6] 陳先昌基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法與應(yīng)用研究[D].杭州:浙江工商大學(xué),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]王俊淑,張國(guó)明,胡斌基于深度學(xué)習(xí)的推薦算法研究綜述[J].南
京師范大學(xué)學(xué)報(bào):工程技術(shù)版,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]尹寶才,王文通,王立春深度學(xué)習(xí)研究綜述[J]北京工業(yè)大學(xué)學(xué)報(bào),2015(1):48-59.
[20]王濤,李明.深度學(xué)習(xí)下的推系統(tǒng)研究[J]電腦知識(shí)與技術(shù),2017,13(25):180-181.
(責(zé)任編輯:孫娟)
收稿日期:2019-05-30
作者簡(jiǎn)介:吳韋?。?994-),男,上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院碩士研究生,研究方向?yàn)樯疃葘W(xué)習(xí)、推薦系統(tǒng);李燁(1974-),
男,上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院高級(jí)工程師、碩士生導(dǎo)師,研究方向?yàn)闄C(jī)器學(xué)習(xí)、大數(shù)據(jù)、工業(yè)控制與監(jiān)測(cè)。