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

?

基于FGx_Deep算法的深度推薦

2020-11-17 06:55:44余夢夢孫自強
計算機工程與設(shè)計 2020年11期
關(guān)鍵詞:網(wǎng)絡(luò)結(jié)構(gòu)向量神經(jīng)網(wǎng)絡(luò)

余夢夢,孫自強

(華東理工大學(xué) 化工過程先進控制和優(yōu)化技術(shù)教育部重點實驗室,上海 200237)

0 引 言

推薦系統(tǒng)中,特征工程是必不可少的組成部分。傳統(tǒng)的推薦算法有:基于鄰域的協(xié)同過濾推薦[1]、基于內(nèi)容的推薦[2]以及SVD分解[3]等。但這些推薦算法主要依靠評分記錄,未能充分挖掘用戶喜好特征。Rendle提出因子分解機FM模型[4]對高階特征建模,有效進行特征間組合。又伴隨著神經(jīng)網(wǎng)絡(luò)模型在特征表示學(xué)習(xí)中展示出的強大能力,近年來眾多研究學(xué)者利用神經(jīng)網(wǎng)絡(luò)來挖掘特征關(guān)系。直到Huifeng Guo提出DeepFM模型[5],有效結(jié)合因子分解機與神經(jīng)網(wǎng)絡(luò)在特征學(xué)習(xí)中的優(yōu)點,并有效提取低階組合特征與高階組合特征。但DeepFM模型只基于原始特征組合,沒有充分挖掘特征隱含信息。在此基礎(chǔ)上,提出FG_DeepFM模型,利用特征生成卷積神經(jīng)網(wǎng)絡(luò)(FGCNN)[6],基于其網(wǎng)絡(luò)結(jié)構(gòu)的共享權(quán)重和池化機制生成新特征,并將原有特征及生成新特征進行特征拼接共同輸入到DeepFM模型中。基于以上模型學(xué)習(xí)的是隱式的交互特征,并未考慮顯式特征,本文引入極深因子分解機(xDeepFM)[7]模型,將其與FG_DeepFM模型融合,最終構(gòu)建FGx_Deep模型,以顯式和隱式方式自動學(xué)習(xí)低階高階特征,挖掘有效特征交互,提升系統(tǒng)推薦效果。

1 DeepFM算法原理

DeepFM模型有效結(jié)合因子分解機(FM)與深度神經(jīng)網(wǎng)絡(luò)在特征學(xué)習(xí)中的優(yōu)點,將FM算法與DNN算法整合到一起,實現(xiàn)端到端預(yù)測。DeepFM模型中,F(xiàn)M組成部分負(fù)責(zé)提取組合低階特征,DNN組成部分則采用全連接深度神經(jīng)網(wǎng)絡(luò)方式提取高階特征,其總體網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計如圖1所示。

圖1 DeepFM網(wǎng)絡(luò)結(jié)構(gòu)

由圖1得,DeepFM模型的DNN和FM部分共享同樣的輸入,其預(yù)測結(jié)果可寫為

(1)

其中,yFM是FM部分的輸出,yDNN是DNN部分輸出,則DeepFM模型具體設(shè)計原理如下所示。

1.1 特征嵌入

原始數(shù)據(jù)集一般呈多域類別形式,通常需進行one-hot編碼,例如,某用戶特征(性別=女性,身高=160,年齡=17),性別,身高,年齡屬于域類別,編碼后表示如下

圖2 嵌入層結(jié)構(gòu)

1.2 FM組成部分

FM算法是在線性回歸模型基礎(chǔ)上,引入特征交叉項,根據(jù)特征的隱向量做內(nèi)積來表述特征間的相關(guān)性,如將特征xi和xj的組合用xixj表示,表達(dá)式為

(2)

(3)

其中,vi,vj分別是特征xi,特征xj的隱向量,vi,f是隱向量vi的第f元素。

則以FM算法為原理,DeepFM模型設(shè)計FM組成部分網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

由圖3可知,F(xiàn)M組成部分模型輸出是和(Addition)單元與內(nèi)積(Inner product)單元總和,表達(dá)式如下

圖3 FM組成部分網(wǎng)絡(luò)結(jié)構(gòu)

(4)

其中,和(Addition)單元 〈w,x〉 反映一階特征提取特性,內(nèi)積(Inner product)單元反映二階特征提取特性。

1.3 DNN組成部分

DNN是前饋深度神經(jīng)網(wǎng)絡(luò),在DeepFM模型中用于學(xué)習(xí)高階特征組合。它與FM部分共享嵌入層,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,由圖4可得,嵌入層的輸出向量表示如下

圖4 DNN組成部分網(wǎng)絡(luò)結(jié)構(gòu)

α(0)=[e1,e2,…,en]

(5)

其中,ea是嵌入層的第a個域,n是域的數(shù)量,深度神經(jīng)網(wǎng)絡(luò)的前向傳播過程如下

α(l+1)=σ(W(l)α(l)+b(l))

(6)

其中,l表示神經(jīng)網(wǎng)絡(luò)層的深度,σ是激活函數(shù)。α(l),W(l),b(l)分別表示神經(jīng)網(wǎng)絡(luò)l層的輸出,模型權(quán)重和偏置。DeepFM模型的DNN結(jié)構(gòu),由原始特征輸入,首先通過嵌入層生成密集的實值特征嵌入向量,接著經(jīng)過隱藏層進行前向傳播,最終,DNN部分的輸出預(yù)測值為

(7)

其中,|H| 是隱藏層數(shù)量。

2 改進FG_DeepFM 模型

由于DeepFM模型只是基于原始特征進行提取低階組合特征和高階組合特征,未必能學(xué)習(xí)到有效特征間交互。在此基礎(chǔ)上,本文提出FG_DeepFM模型,應(yīng)用特征生成卷積神經(jīng)網(wǎng)絡(luò)(FGCNN),基于其網(wǎng)絡(luò)結(jié)構(gòu)的共享權(quán)重和池化機制生成新特征,并將原有特征及生成新特征進行特征拼接共同輸入到DeepFM模型中,提高系統(tǒng)模型的魯棒性。FG_DeepFM模型的框架如圖5所示。

圖5 FG_DeepFM模型框架

其中,F(xiàn)GCNN網(wǎng)絡(luò)是基于CCPM網(wǎng)絡(luò)模型改進的有效特征生成算法。CCPM網(wǎng)絡(luò)首先對連續(xù)特征的嵌入矩陣進行二維卷積[8],再使用彈性池化機制,通過特征聚合和壓縮表示,堆疊若干層后將其所得的特征矩陣作為多層感知機(MLP)輸入,但該網(wǎng)絡(luò)模型計算的是局部特征組合。針對這一現(xiàn)象,F(xiàn)GCNN使用重組層進行特征生成,有效緩解CCPM無法捕獲全局組合特征問題。FGCNN網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示,網(wǎng)絡(luò)模塊原理介紹如下。

圖6 FGCNN網(wǎng)絡(luò)

2.1 卷積層

(8)

(9)

2.2 池化層

第i池化層的池化結(jié)果為 (i+1) 卷積層輸入:Ei+1=Si

(10)

2.3 重組層

Fi=tanh(Si·WFi+BFi)

(11)

F=(F1,F2,…,Fnc)

(12)

3 xDeepFM模型

DeepFM模型和FG_DeepFM模型雖然能學(xué)習(xí)低階和高階組合特征,但只針對于元素級隱式特征。因此,針對以上現(xiàn)狀提出極深因子分解機(xDeepFM)模型,同時以顯式和隱式的方式自動學(xué)習(xí)高階特征,且其特征交互在向量級,還兼具記憶與泛化的學(xué)習(xí)能力,其模型整體結(jié)構(gòu)如圖7所示。

圖7 xDeepFM模型

由圖7可知,xDeepFM模型是壓縮交互網(wǎng)絡(luò)(CIN)神經(jīng)模型和DNN結(jié)構(gòu)組合,CIN模型中,將輸入原特征和神經(jīng)網(wǎng)絡(luò)隱層分別組織成一個矩陣,記為X0和Xk,CIN中每一層神經(jīng)元都是根據(jù)前一層的隱層向量以及原特征向量推算而來,其計算公式如下

(13)

(14)

(15)

第k層的第h映射表示為

(16)

xDeepFM模型輸出為

(17)

4 FGx_Deep深度推薦模型

本文在原有DeepFM基礎(chǔ)上,利用FGCNN網(wǎng)絡(luò)結(jié)構(gòu)生成新特征,構(gòu)建FG_DeepFM深度模型。并且考慮到DeepFM和FG_DeepFM模型只能有效提取隱式特征交互,根據(jù)模型融合思路,本文將FG_DeepFM模型和基于提取顯式向量級特征交互的xDeepFM模型加權(quán)融合,提出FGx_Deep模型。最后通過評價指標(biāo)來判斷模型預(yù)測性能,整體模型預(yù)測流程如圖8所示。

圖8 FGx_Deep模型算法流程

5 實驗研究

本節(jié)中通過實驗驗證改進模型的性能。所有實驗均在CPU上使用Intel(R) Core (TM) i5-4200H四核處理器,通過使用基于Tensorflow模型的Python 3.6編程語言進行實現(xiàn)。

5.1 實驗數(shù)據(jù)

本文采用美國Minnesota大學(xué)GroupLens項目研究組提供的MovieLens數(shù)據(jù)集[9]對算法進行評估。該數(shù)據(jù)集包含1000名用戶信息,1700部電影信息,以及100 000條用戶對電影評分交互數(shù)據(jù),其中每個用戶至少有20條評分記錄,評分范圍為1分(討厭)~5分(非常喜歡)。MovieLens 數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)見表1。

表1 MovieLens數(shù)據(jù)集統(tǒng)計數(shù)據(jù)分布

本文數(shù)據(jù)預(yù)處理中,以用戶ID、電影ID、用戶特征,18種不同電影類型進行one-hot編碼,構(gòu)造數(shù)據(jù)輸入模型的特征序列,預(yù)測目標(biāo)值是用戶對電影評分,每條輸入數(shù)據(jù)特征格式如下所示

“輸入特征1”→
[35 10 14 1 19 622 1 0 0 … 0 1]
“輸入特征2”→
[40 75 37 0 3 243 0 0 1 … 1 1]
“輸入特征3”→
[765 60 25 1 13 297 1 1 0 … 0 0]

上述輸入特征數(shù)據(jù)中,分別是用戶ID、電影ID、用戶年齡、用戶性別、用戶職業(yè)、用戶郵編,后18列代表18種不同類型電影,0表示不具有電影該類型屬性,1則表示具有該電影類型屬性。

5.2 評價指標(biāo)

本文選用均方根誤差RMSE和平均絕對誤差MAE對模型預(yù)測評分進行評價,當(dāng)RMSE和MAE越小,表明模型對于真實值擬合的偏差越小,則模型的推薦效果越好,具體公式定義如下

(18)

(19)

此外,現(xiàn)今推薦系統(tǒng)領(lǐng)域中,大部分以Top-N推薦形式出現(xiàn),通過推薦列表是否滿足用戶需求來評價模型效果。本文假設(shè)當(dāng)用戶對項目評分大于等于4分時,則認(rèn)為該用戶對此項目感興趣。模型會根據(jù)用戶對項目的預(yù)測評分,為用戶推薦預(yù)測得分最高的前N個項目。本文使用精準(zhǔn)率(precision)、召回率(recall)和F值3個指標(biāo),來度量模型的推薦效果,其值越高說明該模型推薦能力越強,表示如下

(20)

(21)

(22)

其中,U表示用戶集合,R(u) 表示Top-N推薦列表中用戶u感興趣的項目數(shù)量,T(u) 表示測試集中用戶u感興趣的所有項目數(shù)量。

5.3 參數(shù)設(shè)置

本文按80%和20%比例隨機劃分原數(shù)據(jù)集,以70%作訓(xùn)練集,10%作驗證集,20%作測試集進行實驗。其中,利用測試集評價模型的最終效果,利用驗證集獲取模型的超參數(shù)。本文的FGx_Deep推薦模型是基于FG_DeepFM模型和xDeepFM模型的加權(quán)融合,加權(quán)系數(shù)設(shè)置為[0.5,0.5],模型訓(xùn)練過程中,以均方根誤差作為誤差損失函數(shù),采用Adam算法進行優(yōu)化訓(xùn)練30次(epochs),為防止過擬合,提高模型泛化能力,設(shè)置丟棄率dropout=0.5。并設(shè)置原始特征嵌入向量維度k=15,則FG_DeepFM模型和xDeepFM模型其余參數(shù)設(shè)置如下:

在FG_DeepFM推薦模型中,F(xiàn)GCNN網(wǎng)絡(luò)設(shè)置4個卷積層、池化層和重組層,其卷積核寬度依次設(shè)置為[6,8,10,12],池化寬度設(shè)置為[2,2,2,2],重組層映射設(shè)置為[3,3,3,3],DeepFM模型的FM網(wǎng)絡(luò)結(jié)構(gòu)中原始特征線性學(xué)習(xí)權(quán)重為0.0001,特征嵌入向量學(xué)習(xí)權(quán)重為0.0005,DeepFM的DNN網(wǎng)絡(luò)結(jié)構(gòu)設(shè)定兩層隱藏層,神經(jīng)元設(shè)置為[128,128],DNN網(wǎng)絡(luò)的L2正則項系數(shù)設(shè)置為0.000 15,DNN網(wǎng)絡(luò)的調(diào)節(jié)學(xué)習(xí)率為0.0001。

在xDeepFM推薦模型中,CIN網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置兩層CIN層,每層神經(jīng)元個數(shù)設(shè)置為100,CIN網(wǎng)絡(luò)的L2正則項系數(shù)設(shè)置為0.0001,CIN網(wǎng)絡(luò)的調(diào)節(jié)學(xué)習(xí)率為0.0001。DNN網(wǎng)絡(luò)結(jié)構(gòu)設(shè)定兩層隱藏層,神經(jīng)元設(shè)置為[128,128],DNN網(wǎng)絡(luò)的L2正則項系數(shù)設(shè)置為0.0001,DNN網(wǎng)絡(luò)的調(diào)節(jié)學(xué)習(xí)率為0.0005。

在實驗過程中發(fā)現(xiàn)FGx_Deep模型推薦效果與原始特征嵌入向量維度相關(guān),分別取不同嵌入維度,進行實驗,實驗結(jié)果見表2。從表2可以看出,當(dāng)嵌入維度為15維的情況下,平均絕對值誤差(MAE)和均方根誤差(RMSE)值最低,本文提出的算法的推薦效果有所改善,實驗結(jié)果如下。

表2 嵌入向量維度對模型推薦效果影響

5.4 模型比較和分析

將本文提出的FGx_Deep算法、FG_DeepFM算法與UCF、ICF、SVD、SVD++[10]、DeepFM算法、xDeepFM算法和AFM算法[11]進行比較分析。為了驗證FGx_Deep算法與同類算法的性能比較,本文在實驗過程中選取深度推薦算法的特征嵌入維度為15維,具體實驗結(jié)果如下所示。

5.4.1 評分預(yù)測推薦

從表3數(shù)據(jù)中可以看出,本文所提FGx_Deep算法的RMSE和MAE值最低,預(yù)測評分精度最高,其推薦效果最優(yōu)。實驗1~實驗4方法屬于傳統(tǒng)的推薦算法,相比之下,F(xiàn)Gx_Deep推薦模型能更精準(zhǔn)實現(xiàn)評分預(yù)測,泛化能力更強,與UCF算法和ICF算法相比,RMSE指標(biāo)降低了近11%,MAE指標(biāo)降低了近9%,與SVD算法和SVD++算法相比,RMSE指標(biāo)降低了近4%,MAE指標(biāo)降低了近2%。

表3 模型評分預(yù)測對比

實驗5~實驗8方法屬于深度推薦算法,相比之下,F(xiàn)Gx_Deep模型融合xDeepFM模型和FG_DeepFM模型有效信息,充分挖掘輸入顯式和隱式特征,其評分預(yù)測推薦效果相較于其它深度推薦模型均有進一步提升,RMSE和MAE指標(biāo)明顯降低。分析結(jié)果表明本文提出的FGx_Deep算法的評分預(yù)測推薦效果是幾種方法中最優(yōu)的。

5.4.2 Top-N推薦

取推薦列表長度N為10,從表4數(shù)據(jù)中可以看出,Top-N推薦中,相比于其它算法,本文所提FGx_Deep算法的召回率、精準(zhǔn)率和F值指標(biāo)均有明顯提升,推薦效果最優(yōu)。

表4 模型Top-N推薦對比

實驗1~實驗4方法屬于傳統(tǒng)的推薦算法,在Top-N推薦中,F(xiàn)Gx_Deep推薦模型包含用戶和物品有效特征信息,泛化能力更強。與UCF算法和ICF算法相比,召回率指標(biāo)分別提高了近8%和13%,精準(zhǔn)率指標(biāo)分別提高了近6%和1%,F(xiàn)值提高了近9%和17%,與SVD算法和SVD++算法相比,召回率指標(biāo)分別提高了近10%和9%,精準(zhǔn)率指標(biāo)分別提高了近3%和4%,F(xiàn)值提高了近12%和11%。

實驗5~實驗8方法屬于深度推薦算法,相比之下,F(xiàn)Gx_Deep模型融合xDeepFM模型和FG_DeepFM模型有效信息,充分挖掘輸入顯式和隱式特征,其召回率、精準(zhǔn)率和F值相較于其它深度推薦模型均有進一步提升。分析結(jié)果表明Top-N推薦中,本文提出的FGx_Deep算法的推薦能力是幾種方法中最強的。

6 結(jié)束語

本文首先構(gòu)建FG_DeepFM模型,利用FGCNN網(wǎng)絡(luò)生成新特征,并與原始特征拼接輸入到深度DeepFM模型中,又考慮到顯式的特征交互,將FG_DeepFM模型與xDeepFM模型融合,提出FGx_Deep深度推薦模型。通過設(shè)計實驗,表明本文提出FGx_Deep模型充分利用特征信息,共同挖掘隱式和顯式的特征交互,低階特征和高階特征組合,較于其它模型,F(xiàn)Gx_Deep模型在評分預(yù)測推薦和Top-N推薦中模型推薦效果均進一步提升。同時,本文還分析原始特征嵌入向量維度對深度推薦模型效果的影響,設(shè)定合適的特征嵌入向量維度大小有助于提高模型的推薦效果。

猜你喜歡
網(wǎng)絡(luò)結(jié)構(gòu)向量神經(jīng)網(wǎng)絡(luò)
向量的分解
聚焦“向量與三角”創(chuàng)新題
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
電子制作(2019年19期)2019-11-23 08:42:00
向量垂直在解析幾何中的應(yīng)用
基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
重型機械(2016年1期)2016-03-01 03:42:04
基于互信息的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)
知識網(wǎng)絡(luò)結(jié)構(gòu)維對于創(chuàng)新績效的作用機制——遠(yuǎn)程創(chuàng)新搜尋的中介作用
滬港通下A+ H股票網(wǎng)絡(luò)結(jié)構(gòu)演化的實證分析
復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)比對算法研究進展
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
丰原市| 仁寿县| 荣成市| 八宿县| 浦县| 青田县| 肥乡县| 开阳县| 达尔| 金门县| 麟游县| 会同县| 哈尔滨市| 砚山县| 卓尼县| 新乡县| 城口县| 中西区| 北安市| 凤冈县| 冷水江市| 中方县| 方城县| 铜陵市| 永清县| 通江县| 礼泉县| 资中县| 武陟县| 垣曲县| 山阳县| 修文县| 仙居县| 兰州市| 文成县| 维西| 通山县| 隆林| 江山市| 蒙阴县| 广水市|