国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學習的多元信息嵌入推薦模型

2021-03-16 13:29:08駿
計算機應用與軟件 2021年3期
關鍵詞:卷積向量神經(jīng)網(wǎng)絡

王 駿 虞 歌

(杭州師范大學信息科學與工程學院 浙江 杭州 311121)

0 引 言

在推薦算法中,協(xié)同過濾算法是使用最廣泛的推薦算法,傳統(tǒng)協(xié)同過濾算法分為基于用戶的協(xié)同過濾算法和基于內容的協(xié)同過濾算法[1]。前者計算用戶相似度,后者計算物品相似度,主要推薦思想是“人以群分,物以類聚”。在深度學習方法興起后,融合神經(jīng)網(wǎng)絡的矩陣分解法利用神經(jīng)網(wǎng)絡強大的擬合隱含關系的能力,來進行預測物品評分。

谷歌在2016年推出Wide&Deep網(wǎng)絡[2],在特征嵌入層之上加入多層感知機(Multi-Layer Perceptron,MLP)使得模型泛化能力更強。2017年He等[3]進一步提出一種多層感知機與廣義矩陣分解結合的神經(jīng)協(xié)同過濾模型(Neural Collaborative Filtering,NCF),既擁有矩陣分解的特征交互,又能通過多層感知機提取高階特征信息,使模型的推薦能力得到更大提升。從信息挖掘角度分析,該模型充分挖掘了隱含關系,可從大數(shù)據(jù)角度分析,從稀疏度高達90%的評分表訓練出命中率和歸一化折扣累積增益[4]都不錯的神經(jīng)網(wǎng)絡模型,但在廣泛的適用性上仍然存在不足,想滿足個性化的需求,還需要利用更多有用信息。因此,多元化信息融合研究是推薦系統(tǒng)熱門研究方向[5]。

本文在研究了已有推薦模型的基礎上,結合Movie Lens數(shù)據(jù)集的信息類型采用不同的算法提取所有已知信息,提出并實現(xiàn)一種改進的神經(jīng)協(xié)同過濾推薦模型,根據(jù)信息來源的有效性來配置推薦系統(tǒng)[6]。以MovieLens數(shù)據(jù)集作為研究對象,數(shù)據(jù)集包含性別、年齡、職業(yè)和電影名等信息。通過嵌入層全部嵌入所有信息,研究分析多元信息對神經(jīng)網(wǎng)絡產(chǎn)生的作用,最后進行評分預測。從MovieLens-100k和MovieLens-1m數(shù)據(jù)集的實驗結果表明,通過所有信息全部嵌入的方式,本文模型不僅學習到更多信息,而且表現(xiàn)也比神經(jīng)協(xié)同過濾模型更出色。

1 神經(jīng)協(xié)同過濾模型

NCF模型中,輸入層上面是嵌入層,它是一個全連接層,將來自輸入層的稀疏表示映射為稠密向量[3]。NCF算法對用戶和項目建模(用戶ID和項目ID兩個輸入),需要通過GMF和MLP兩個路線,把它們各自的運算得到的信息連接起來。GMF使用了一個線性內核來模擬潛在的特征交互;MLP使用非線性內核從數(shù)據(jù)中學習高階特征交互信息[7]。

NCF模型結構如圖1所示。

圖1 NCF模型結構

2 改進的神經(jīng)協(xié)同過濾模型

本文提出了混合多元信息的神經(jīng)協(xié)同過濾模型M-NCF。M-NCF模型在NCF模型基礎上使用更多嵌入層來嵌入不同的信息,其結構如圖2所示。

圖2 改進的M-NCF模型結構

2.1 嵌入層

輸入層上面是嵌入層,它是一個全連接層,用于將數(shù)據(jù)映射為特征向量。Movielens電影數(shù)據(jù)集中,對個性化推薦有影響的電影信息包含電影ID、電影類型(Category)、電影名(Title),用戶信息包含用戶ID、性別(Gender)、年齡(Age)、職業(yè)(Job),通過嵌入層全部嵌入成特征向量。其中,電影名使用文本卷積網(wǎng)絡處理,對電影名嵌入向量進行卷積和池化操作,拼接得到電影名特征向量,計算過程如下[8]:

假設句子單詞長度為n,每個句子可以表示為n個單詞組成形式:

x1:n=x1⊕x2⊕…⊕xn

(1)

假設卷積核w大小為h×k,其中h為文本卷積滑動窗口大小,k為嵌入維度,卷積核在句子x上卷積操作得到句子特征向量ci(i∈n):

ci=f(w·xi:i+h-1+b)

(2)

式中:b為偏置值;函數(shù)f(·)為非線性函數(shù)。

多個卷積核卷積后,生成的句子特征向量再接著進行最大池化操作,產(chǎn)生的多個新向量拼接成一個新的特征向量:

ci=[max(c1),max(c2),…,max(cn-h+1)]

(3)

最后通過全連接層輸出高階隱信息向量,這可以看作是提取出文本信息:

S=f(wn…(f(w1x+b1))+…+bn)

(4)

此外,年齡、性別、職業(yè)和電影類型映射成對應數(shù)字,電影ID和用戶ID經(jīng)過評分時間排序后再進入嵌入層。

2.2 多層感知機層(MLP層)

如圖2所示,MLP層將電影ID向量、用戶ID向量拼接成新的向量進入MLP層,經(jīng)過多層感知機產(chǎn)生高階特征信息。

假設m和n分別表示訓練集用戶和電影的數(shù)量,數(shù)據(jù)集內的任一用戶u∈m和任一電影i∈n,嵌入維度為k,P∈Rm×k和Q∈Rn×k分別表示用戶特征矩陣和物品特征矩陣,MLP層高階特征信息表達式表示為:

(5)

2.3 廣義矩陣分解層(GMF層)

在原來算法中,電影隱表示與用戶隱表示只是進行簡單特征交互獲得低階特征信息。改進算法中,電影隱表示是所有電影信息嵌入向量的拼接向量,用戶隱表示是所有用戶信息嵌入向量的拼接向量。廣義矩陣分解層向量交互過程表達式為:

Xu=[u,u′]

(6)

Xi=[i,i′]

(7)

pu=f(WuXu+bu)

(8)

qi=f(WiXi+bi)

(9)

φui=pu⊙qi

(10)

式中:u、i為任一用戶向量和電影向量;u′、i′為用戶信息向量和電影信息向量;Xu、Xi為用戶拼接向量和電影拼接向量;pu和qi分別表示用戶隱表示和電影隱表示,通過pu和qi的矩陣乘法得到評分信息φui。

2.4 循環(huán)神經(jīng)網(wǎng)絡層(RNN層)

傳統(tǒng)的推薦對用戶偏好進行全局預測,實際上默認用戶愛好是靜止不變的,但其實它們都是隨時間變化的,往往近期的行為對下一部電影有參考價值。循環(huán)神經(jīng)網(wǎng)絡對時間序列信息循環(huán)計算可以挖掘上下文關系,常被使用在自然語言處理中,通過構造用戶狀態(tài)和電影狀態(tài)進行自回歸計算,把循環(huán)神經(jīng)網(wǎng)絡引入到推薦系統(tǒng)對行為分析的應用中。本文使用的循環(huán)神經(jīng)網(wǎng)絡是GRU模型[9]。

用戶評分預測表示如圖3[10]所示,圖中uut、mit是不同時間的用戶RNN狀態(tài)和電影RNN狀態(tài)。

圖3 根據(jù)時序狀態(tài)預測電影評分

t時刻用戶狀態(tài)和電影評分預測下一時刻用戶潛在狀態(tài)、t時刻電影狀態(tài)和電影評分預測下一時刻電影狀態(tài)表達式分別表示為:

uu,t+1=g(uut,{rui|t})

(11)

mi,t+1=h(mit,{rui|t})

(12)

基于用戶評分行為預測評分問題表示為:

rui=f(uut,mit)

(13)

式中:輸出rui表示用戶u在時刻t對電影i的評分;uut、mit是t時刻的用戶狀態(tài)和電影狀態(tài)。

2.5 輸出層

來自MLP層、GMF層和RNN層的輸出在輸出層按合適的比例拼接成新的向量,然后通過全連接層輸出預測值,計算式表示為:

(14)

式中:hT是比例,MLP層、GMF層和RNN層的輸出按照合適比例組合成混合信息向量;W、b是全連接層權重和偏置值。

本文采用的代價函數(shù)為逐點損失類型的函數(shù),在模型優(yōu)化時,為了防止訓練出現(xiàn)過擬合現(xiàn)象,同時提高模型的泛化能力,使用L2正則化項,損失函數(shù)計算式為:

(15)

3 實 驗

3.1 數(shù)據(jù)集

MovieLens-100k數(shù)據(jù)集里面包括u.data、u.info、u.item、u.genre、u.user、u.occupation等文件,其中u.data文件包含943個用戶對于1 682部電影的100 000個評分(分值為[1,5]之間的整數(shù));每個用戶至少評分20部電影;u.user文件包含用戶的人口統(tǒng)計信息(年齡,性別,職業(yè),郵編);u.item文件包括電影名,電影ID,發(fā)布日期,IMDB電影網(wǎng)對應電影主頁網(wǎng)址,所屬的電影類型(恐怖、犯罪、喜劇等)。

MovieLens-1m數(shù)據(jù)集含有來自6 040名用戶對3 706部電影的100萬條評分數(shù)據(jù),分為三個表:評分表、用戶信息表和電影信息表。

3.2 實驗平臺

使用聯(lián)想筆記本電腦,內存為8 GB,CPU為Intel酷睿i53230M;操作系統(tǒng)是Windows 10,使用PyCharm開發(fā)工具,使用Python版本是3.6,Tensorflow版本為1.10.0。

3.3 模型參數(shù)設置

本文在MovieLens-100k和MovieLens-1m數(shù)據(jù)集上研究新算法的推薦能力,將數(shù)據(jù)集中80%的數(shù)據(jù)劃為訓練集,20%數(shù)據(jù)劃為測試集。訓練50個輪次(epoch),每次訓練數(shù)據(jù)量(batch size)為256,嵌入維度為32,優(yōu)化器使用Adam[11]優(yōu)化器。

嵌入層將用戶ID、電影ID和21個職業(yè)類型映射為對應的數(shù)字向量,18種電影類型映射為18位二進制列表,屬于某類型則置1,否則置0;用戶年齡劃為7個年齡區(qū)間,分別映射為7個數(shù)字;性別映射為0或者1;電影名首先轉成等長數(shù)字列表,長度是15,然后文本卷積滑動窗口在等長數(shù)字列表上進行卷積操作,分別滑動2、3、4、5個單詞,卷積核數(shù)量為8,嵌入維度為32,最后經(jīng)過一次最大池化操作得到一個長向量。

多層感知機層各層神經(jīng)元數(shù)量為[8,16,32,64],激活函數(shù)是ReLU函數(shù),每層參數(shù)初始化為均值為0、標準差為0.01的隨機正態(tài)分布,增加L2正則項來減小模型過擬合的風險,各層神經(jīng)元后還要接一層丟棄層[12],丟棄率為0.2。

循環(huán)神經(jīng)網(wǎng)絡層隱層神經(jīng)元數(shù)量是128,經(jīng)過循環(huán)神經(jīng)網(wǎng)絡處理后,用戶向量和電影向量還要經(jīng)過64個神經(jīng)元的全連接層映射為新的向量。輸出層的全連接神經(jīng)網(wǎng)絡增加L2正則項來減小模型過擬合的風險。

3.4 評價指標

均方差誤差MSE是常見的推薦系統(tǒng)評價指標[13],本文使用MSE對實驗評分預測做評價,MSE越小,表示模型越好。MSE的計算式為:

(16)

3.5 不同信息對推薦的影響

更多隱藏層數(shù)能夠加強神經(jīng)網(wǎng)絡提取信息能力,在合適范圍內增加層數(shù)提升模型性能,但是超出范圍會導致過擬合,導致神經(jīng)網(wǎng)絡學習能力降低;不同的用戶信息或電影信息對推薦結果影響不同,對電影推薦毫不相關的信息甚至會對神經(jīng)網(wǎng)絡更新起到噪音作用。

本文在MLP層選用[16,32,64,128]的各層神經(jīng)元數(shù)量與GMF層用戶信息和電影信息一一搭配探索影響因素,如表1和表2所示,表3考察循環(huán)神經(jīng)網(wǎng)絡(RNN)與各層神經(jīng)元影響,其中:MLP- 0為不啟用MLP層目的是設置空白對照,只啟用GMF層。所用數(shù)據(jù)集同為MovieLens-100k,訓練50輪,取穩(wěn)定在某范圍內震蕩的MSE平均值作評價指標,實驗數(shù)據(jù)有±0.05的誤差。

表1 不同用戶信息與各層神經(jīng)元

表2 不同電影信息與各層神經(jīng)元

表3 RNN與各層神經(jīng)元

可以看出,多層感知機對各因素影響并不相同,有些隨著網(wǎng)絡層數(shù)增加反而MSE在下降,在沒有MLP層的情況下,多數(shù)情況算法表現(xiàn)都不理想,說明多層感知機能夠學習到有用信息,在噪聲比較多的情況下擬合真實情況;電影信息中的電影類型和用戶信息中的性別對推薦影響最大,職業(yè)、年齡和電影名對推薦結果影響較小;循環(huán)神經(jīng)網(wǎng)絡在[8,16,32]和[8,16,32,64]的多層感知機結構中表現(xiàn)出色,而且總體表現(xiàn)比利用電影信息和用戶信息的算法好,可能有些電影信息和用戶信息與個性化推薦無關成了噪聲,進而影響了算法準確率。

3.6 新舊模型對比

圖4-圖7為訓練50輪,學習率為0.000 01,NCF和M-NCF在數(shù)據(jù)集MovieLens-100k和MovieLens-1m的MSE表現(xiàn)。

圖4 NCF在MovieLens-100k數(shù)據(jù)集的表現(xiàn)

圖5 M-NCF在MovieLens-100k數(shù)據(jù)集的表現(xiàn)

圖6 NCF在MovieLens-1m數(shù)據(jù)集的表現(xiàn)

圖7 M-NCF在MovieLens-1m數(shù)據(jù)集的表現(xiàn)

可以看出,經(jīng)多次實驗驗證,M-NCF的均方誤差都穩(wěn)定地比NCF小,可以認為,接收更多輔助信息并沒有給神經(jīng)網(wǎng)絡帶來太多噪聲。M-NCF能根據(jù)信息擬合出接近實際的數(shù)據(jù)。

3.7 不同模型對比

為了驗證新算法的泛化能力、穩(wěn)定性和準確性,以及各個結構對M-NCF的推薦影響作用。本文設置多個實驗組在MovieLens-100k和MovieLens-1m數(shù)據(jù)集進行對比實驗。

選取了原算法神經(jīng)協(xié)同過濾算法(NCF)、電影數(shù)據(jù)集信息全嵌入算法(M-NCF)、在廣義矩陣分解(GMF)層只嵌入電影信息的NCF算法(NCF-I)、在廣義矩陣分解(GMF)層只嵌入用戶信息的NCF算法(NCF-U)、結合循環(huán)神經(jīng)網(wǎng)絡的NCF算法(NCF-RNN)進行對比。

各算法主要的參數(shù)設置和神經(jīng)網(wǎng)絡結構基本相同,訓練50輪,學習率0.000 01,取不同算法在MovieLens-100k(ML100k)和MovieLens-1m(ML1m)數(shù)據(jù)集中算法訓練收斂后穩(wěn)定在某范圍內震蕩的平均值作評價指標,實驗數(shù)據(jù)有±0.05的實驗誤差,如表4所示。

表4 不同模型的MSE比較

可以看出,在MovieLens-100k和MovieLens-1m數(shù)據(jù)集各算法表現(xiàn)都比NCF好,說明增加了輔助信息的預測比只分析單一評分信息的預測更準確;多次實驗表明,M-NCF算法比NCF算法的均方誤差??;電影信息比用戶個人信息對個性化推薦影響稍微重要一點;NCF-RNN算法基于用戶行為作出的預測在MovieLens-100k表現(xiàn)比M-NCF還要好。綜上,M-NCF比實驗對比組其他算法性能更好,信息更多元化。

4 結 語

本文提出基于神經(jīng)協(xié)同過濾算法改進的M-NCF算法,相比原來的算法簡單地挖掘評分表的評分信息,結合低階特征交互信息和高階特征信息,改進算法融合了多元電影數(shù)據(jù)集信息,結合了循環(huán)神經(jīng)網(wǎng)絡預測用戶行為的優(yōu)點,對于端到端的推薦技術也有參考價值。從信息多元化來說,拓寬了推薦算法挖掘信息的廣度,從準確度來看,表現(xiàn)也比原來的神經(jīng)協(xié)同過濾算法好,而且不再是簡單的神經(jīng)網(wǎng)絡堆砌。通過對比實驗可見循環(huán)神經(jīng)網(wǎng)絡和多元化信息的確增加了神經(jīng)協(xié)同過濾算法的學習能力。

對于循環(huán)神經(jīng)網(wǎng)絡學習用戶行為問題,應該還有更優(yōu)化的解決方法。因為在同一時間段的電影觀看行為往往是最有參考價值的,所以時間分段是用戶行為學習更好的提升方法。

今后的研究會關注深度學習在多元信息融合方向的更多應用,比如注意力機制[14]在用戶興趣偏好上的應用、融合圖卷積與神經(jīng)協(xié)同過濾[15]的推薦算法等。

猜你喜歡
卷積向量神經(jīng)網(wǎng)絡
向量的分解
基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
聚焦“向量與三角”創(chuàng)新題
神經(jīng)網(wǎng)絡抑制無線通信干擾探究
電子制作(2019年19期)2019-11-23 08:42:00
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于傅里葉域卷積表示的目標跟蹤算法
向量垂直在解析幾何中的應用
基于神經(jīng)網(wǎng)絡的拉矯機控制模型建立
重型機械(2016年1期)2016-03-01 03:42:04
向量五種“變身” 玩轉圓錐曲線
復數(shù)神經(jīng)網(wǎng)絡在基于WiFi的室內LBS應用
通山县| 社会| 资中县| 米泉市| 玉林市| 西乡县| 高雄市| 凤庆县| 鱼台县| 油尖旺区| 孝义市| 夹江县| 两当县| 通许县| 六盘水市| 邢台市| 苗栗市| 秀山| 灵寿县| 卓资县| 会宁县| 西藏| 比如县| 汉沽区| 舟曲县| 郑州市| 锡林郭勒盟| 东阳市| 香河县| 始兴县| 佳木斯市| 新竹县| 襄樊市| 陵川县| 湘潭县| 伽师县| 南通市| 江西省| 安达市| 定兴县| 定西市|