劉 峰,王寶亮,潘文采
(1.天津大學(xué) 信息與網(wǎng)絡(luò)中心,天津 300072;2.天津大學(xué) 電氣自動化與信息工程學(xué)院,天津 300072)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,人類社會進(jìn)入了信息爆炸的時代。為緩解信息過載問題,對推薦系統(tǒng)的研究迫在眉睫。推薦系統(tǒng)主要根據(jù)用戶行為推薦用戶偏好的內(nèi)容[1],在電子商務(wù)[2]、新聞[3]、短視頻[4]等領(lǐng)域發(fā)揮著重要作用。
用戶-物品推薦是推薦系統(tǒng)比較常見的運(yùn)用,其對應(yīng)于圖模型中的二部圖。大多數(shù)網(wǎng)絡(luò)表示學(xué)習(xí)法不能直接應(yīng)用在二部圖模型中研究同質(zhì)網(wǎng)絡(luò)問題。網(wǎng)絡(luò)表示學(xué)習(xí)法主要構(gòu)建適合處理節(jié)點(diǎn)類型較多的網(wǎng)絡(luò)知識圖譜進(jìn)而解決異質(zhì)網(wǎng)絡(luò)問題,而二部圖模型缺乏針對性。文獻(xiàn)[5]提出基于圖模型的推薦算法可以通過隨機(jī)游走理論解釋,但該算法時間復(fù)雜度較高且不能體現(xiàn)用戶節(jié)點(diǎn)與物品節(jié)點(diǎn)的差異性。
將網(wǎng)絡(luò)表示學(xué)習(xí)法運(yùn)用到推薦算法中具有較好的效果[6]。傳統(tǒng)網(wǎng)絡(luò)表示學(xué)習(xí)法是根據(jù)一定的假設(shè)構(gòu)造矩陣,保留了網(wǎng)絡(luò)結(jié)構(gòu)信息的矩陣,進(jìn)一步得到節(jié)點(diǎn)的低維特征向量,如LLE[7]、IsoMap[8]、Laplacian Eigenmap[9]等方法。以上算法雖然在小網(wǎng)絡(luò)上具有較好的效果,但時間復(fù)雜度較高,在大規(guī)模網(wǎng)絡(luò)上應(yīng)用困難。近年來,人們提出用于學(xué)習(xí)圖的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
推薦算法需考慮用戶與物品大量交互和物品自身屬性的豐富性問題?;陬I(lǐng)域的推薦算法相似度表達(dá)簡單;基于矩陣分解的推薦算法相似度表達(dá)沒有考慮到用戶與物品的多維特征;基于協(xié)同過濾的推薦算法不能充分提取信息。因此,利用多維特征提高推薦算法的表示能力已成為需要研究的問題。
本文提出基于網(wǎng)絡(luò)表示學(xué)習(xí)的卷積協(xié)同過濾推薦算法。將二分網(wǎng)絡(luò)分成用戶與物品兩個同質(zhì)網(wǎng)絡(luò),并在各自網(wǎng)絡(luò)上利用GraphSAGE 模型進(jìn)行訓(xùn)練得到兩類節(jié)點(diǎn)的嵌入表示。在此基礎(chǔ)上,采用外積運(yùn)算得到兩類節(jié)點(diǎn)的關(guān)系矩陣,最終通過卷積神經(jīng)網(wǎng)絡(luò)捕捉特征中每一維的交互關(guān)系完成推薦任務(wù)。
通過使用GraphSAGE[10]模型完成網(wǎng)絡(luò)表示學(xué)習(xí)的任務(wù)。GraphSAGE 模型用于監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí),還可以選擇是否使用節(jié)點(diǎn)的屬性進(jìn)行訓(xùn)練。該方法適于解決外部信息多樣的推薦問題,對于將圖加入到新節(jié)點(diǎn)時不用重新訓(xùn)練整個模型,提高算法的泛用性。
GraphSAGE 模型是針對同質(zhì)圖問題進(jìn)行構(gòu)建的,通過節(jié)點(diǎn)的屬性信息和網(wǎng)絡(luò)結(jié)構(gòu)信息生成節(jié)點(diǎn)的嵌入表示。嵌入表示是每個節(jié)點(diǎn)學(xué)習(xí)各自的聚合函數(shù),通過該函數(shù)聚合節(jié)點(diǎn)的鄰域信息。該算法的前向傳播分為采樣、聚合、預(yù)測3 個步驟[10]。
在聚合和預(yù)測時,每階鄰居節(jié)點(diǎn)通過使用不同的函數(shù)聚合鄰居節(jié)點(diǎn)特征,將目標(biāo)節(jié)點(diǎn)特征表示和鄰居節(jié)點(diǎn)聚合屬性連接后通過非線性變換得到目標(biāo)節(jié)點(diǎn)的更新嵌入表示,所有節(jié)點(diǎn)逐層進(jìn)行迭代。該算法提出均值聚合函數(shù)(Mean Aggregator)、LSTM Aggregator、池化聚合函數(shù)(Pooling Aggregator)。均值聚合函數(shù)對采樣鄰居節(jié)點(diǎn)特征向量的每個維度求均值,作為目標(biāo)節(jié)點(diǎn)的特征向量;LSTM Aggregator[11]具有較強(qiáng)的數(shù)據(jù)表達(dá)能力,但對數(shù)據(jù)順序敏感。池化聚合函數(shù)(Pooling Aggregator)通過對目標(biāo)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)做非線性變換并進(jìn)行池化操作。GraphSAGE 前向傳播算法偽代碼如算法1 所示。
對于反向傳播部分,采用非監(jiān)督學(xué)習(xí)方式。參考SkipGram 模型,采用基于圖的損失函數(shù)使相鄰節(jié)點(diǎn)有更相似的特征表達(dá),損失函數(shù)如式(1)所示:
其中,zu為節(jié)點(diǎn)u通過GraphSAGE 生成的嵌入表示,節(jié)點(diǎn)ν為節(jié)點(diǎn)u在k層采樣內(nèi)得到的鄰居,σ為sigmoid 函數(shù),Pn為負(fù)采樣的概率分布,Q為負(fù)樣本數(shù)目。
1.2.1 算法的整體設(shè)計(jì)
對于用戶與物品二分網(wǎng)絡(luò)的問題,本文算法將二部圖分解成物品與物品的同質(zhì)網(wǎng)絡(luò)和用戶與用戶的同質(zhì)網(wǎng)絡(luò),利用GraphSAGE 模型將用戶的網(wǎng)絡(luò)特征結(jié)構(gòu)和屬性特征融合,得到具有相同維度的嵌入表達(dá)。對用戶與物品的特征向量進(jìn)行外積運(yùn)算,即通過矩陣表示用戶與物品特征每個維度之間的關(guān)系。最終通過卷積神經(jīng)網(wǎng)絡(luò)提取物品與用戶的潛在關(guān)系。本文算法流程如圖1 所示。
圖1 本文推薦算法流程Fig.1 Procedure of the proposed recommendation algorithm
在用戶與物品推薦場景下,通常物品和用戶的屬性信息和物品與用戶的交互信息是已知的。在這種環(huán)境下,通過圖的結(jié)構(gòu)來表示它們之間的關(guān)系。用戶和物品節(jié)點(diǎn)是圖的節(jié)點(diǎn),物品與用戶的交互關(guān)系是圖的連邊。通過這些映射就形成了物品與用戶的二部圖模型。假設(shè)推薦場景中包含m個用戶、n個物品,用戶節(jié)點(diǎn)集合用U={u1,u2,…,um}表示,物品節(jié)點(diǎn)集合用V={ν1,ν2,…,νn}表示。上述推薦問題對應(yīng)的用戶-物品二部圖表示為G=(U,V,E,W),E為圖G中所有邊的集合,eij表示節(jié)點(diǎn)ui與νj的連邊;W為圖G中用戶與物品的交互權(quán)重矩陣,wij為圖G中eij對應(yīng)的權(quán)重。
同質(zhì)網(wǎng)絡(luò)問題包括用戶網(wǎng)絡(luò)和物品網(wǎng)絡(luò)兩部分。以物品網(wǎng)絡(luò)為例,不同的物品有著相似的適用群體,如乒乓球和球拍有很強(qiáng)的關(guān)聯(lián)性。對于用戶網(wǎng)絡(luò),如果兩個用戶都是運(yùn)動愛好者,則兩者有著相似的愛好。因此,同質(zhì)網(wǎng)絡(luò)也有著深刻的聯(lián)系。
將用戶-物品二部圖分解為兩個同質(zhì)圖。對于圖G,定義用戶節(jié)點(diǎn)的一階相似度為:
得到|V|×|V|維的物品相似度矩陣和|U|×|U|維的用戶相似度矩陣,根據(jù)WV和W^U 構(gòu)建用戶同質(zhì)圖GU和物品同質(zhì)圖GV。在使用WU、WV構(gòu)建用戶同質(zhì)圖與物品同質(zhì)圖之前,根據(jù)WU、WV中權(quán)重分布情況適當(dāng)去掉權(quán)重過低的邊,避免噪聲干擾影響后續(xù)計(jì)算結(jié)果。
構(gòu)建用戶及物品屬性特征需考慮用戶及物品的屬性信息類型。對于結(jié)構(gòu)化數(shù)據(jù),將其中的非離散數(shù)據(jù)離散化,進(jìn)行one-hot 編碼得到特征編碼;對于非結(jié)構(gòu)化數(shù)據(jù),若為本文信息常使用TF-IDF[12]或LDA 算法[13]進(jìn)行結(jié)構(gòu)化處理,若為音頻、視頻、圖像等信息則使用相對應(yīng)的深度學(xué)習(xí)方法轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù)。通過GraphSAGE 模型得到的用戶屬性特征矩陣AU、物品屬性特征矩陣AV轉(zhuǎn)換為用戶特征矩陣MU與MV,表示如下:
假設(shè)得到的嵌入表示維度都為t,則可以表示用戶特征矩陣MU∈?m×t和物品特征矩陣MV∈?n×t。
利用外積運(yùn)算得到用戶與物品特征交互矩陣,對于用戶u 與物品表示用戶u 的特征向量表示物品i 的特征向量,則Mu,i的計(jì)算公式如下:
在協(xié)同過濾中,通常使用矩陣分解表示物品與用戶的關(guān)系并對物品與用戶的關(guān)系做內(nèi)積,只使用Mu,i中對角線上的信息。因多層感知機(jī)(Multilayer Perceptron,MLP)算法在理論上可以擬合任何函數(shù)關(guān)系,但是需要大量數(shù)據(jù)進(jìn)行訓(xùn)練。在用戶與物品推薦系統(tǒng)中,每個用戶的行為信息是有限的,所以本算法未采用直接拼接用戶、物品特征后通過MLP 進(jìn)行學(xué)習(xí)的方案。利用有限數(shù)據(jù)訓(xùn)練的深層網(wǎng)絡(luò)會降低其性能,且很難保證MLP 收斂到真實(shí)模型。同時在實(shí)驗(yàn)部分,直接拼接用戶、物品特征不經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練,直接通過MLP 進(jìn)行對比實(shí)驗(yàn),進(jìn)一步說明加入卷積神經(jīng)網(wǎng)絡(luò)增強(qiáng)了算法的效果。
本算法使用外積對物品與用戶的信息交互進(jìn)行建模,并利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,減少了訓(xùn)練所需數(shù)據(jù)量的同時也減少了模型中需要訓(xùn)練的參數(shù)。
1.2.2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型中的參數(shù)定義比傳統(tǒng)模型更復(fù)雜,其參數(shù)設(shè)計(jì)的一般規(guī)律可總結(jié)為以下4 個方面:
1)卷積層一般使用較小的卷積核,卷積核越大,輸出的特征圖越小,難以提取數(shù)據(jù)的特征,而且卷積核越小,相應(yīng)的參數(shù)也越小。
2)卷積步長一般設(shè)置較小,便于更好地提取特征。
3)池化層常使用2×2 的池化窗口。池化層的作用是對輸入數(shù)據(jù)進(jìn)行空間降維,當(dāng)池化操作過大時,數(shù)據(jù)信息易丟失,最終導(dǎo)致網(wǎng)絡(luò)性能下降。
4)全連接層的層數(shù)一般不宜超過3 層,全連接層數(shù)越多,訓(xùn)練難度越大,越容易造成過擬合和梯度消散。
本模型的CNN 部分如圖2 所示。采用常見的卷積網(wǎng)絡(luò)模型進(jìn)行設(shè)計(jì),為避免丟失過多的結(jié)構(gòu)信息,沒有使用卷積層和池化層將矩陣數(shù)據(jù)壓成一維。模型由3 層全連接層和6 層卷積層組成,卷積核大小均為3×3,步長為1×1。為了使輸入輸出的特征圖大小不變,將進(jìn)行填充操作。每2 層卷積層后加入池化層進(jìn)行最大值池化,池化核大小為2×2,步長為2×2。對特征圖進(jìn)行下采樣,并在之后2 個卷積層中將通道數(shù)翻倍,以此類推,在最后的卷積層添加Flatten 層將數(shù)據(jù)壓平并連接MLP 網(wǎng)絡(luò),逐漸將輸出維度縮小到一維。整個流程用式(7)表示,其中為最終神經(jīng)網(wǎng)絡(luò)的輸出。
圖2 卷積神經(jīng)網(wǎng)絡(luò)示意圖Fig.2 Schematic diagram of convolutional neural network
其中,σ為非線性函數(shù),除最后一層全連接層為sigmoid 激活函數(shù)外,其余所有卷積層與全連接層均使用ReLu 激活函數(shù)。總體的模型參數(shù)如表1所示。
表1 卷積神經(jīng)網(wǎng)絡(luò)部分模型參數(shù)Table 1 Convolutional neural network partial model parameter
1.2.3 損失函數(shù)設(shè)計(jì)
模型損失函數(shù)主要是平方損失函數(shù),定義該函數(shù)的前提是觀察的結(jié)果服從高斯分布。在實(shí)際問題中,用戶與物品的交互信息不一定服從高斯分布。本算法采用二分類的思想,將用戶與物品的關(guān)系采用“0”和“1”表示,0 表示不相關(guān),1 表示相關(guān)表示卷積網(wǎng)絡(luò)的輸出,代表預(yù)測物品i 與用戶u 相關(guān)的可能性。為了使具有概率性的含義,將其取值范圍限制在[0,1],因此在神經(jīng)網(wǎng)絡(luò)的最后一層激活函數(shù)選用sigmoid 函數(shù),使用的損失函數(shù)如式(8)所示:
其中,Y為正采樣集合,Y-為負(fù)采樣集合,yui表示用戶u 與物品i 的聯(lián)系表示卷積網(wǎng)絡(luò)最后的輸出。
最終模型訓(xùn)練時采用Adam 優(yōu)化算法[14],模型在MLP 部分添加Dropout 層以解決訓(xùn)練過擬合的問題[15],增強(qiáng)模型泛化能力。
Movielens-100k 數(shù)據(jù)集包含用戶提供的電影評分?jǐn)?shù)據(jù)。該數(shù)據(jù)集包括10 萬組用戶電影評分信息,評分為1~5的整數(shù),以及用戶的性別、年齡等類別標(biāo)簽信息。
Last.fm-2k 數(shù)據(jù)集包括近10 萬組用戶對歌手的收聽信息,用戶對某歌手的關(guān)系權(quán)值是用戶對該歌手所有作品的播放次數(shù),還有1 萬組用戶間好友關(guān)系,以及近20 萬組用戶對歌手添加的標(biāo)簽信息。Movielens 和Last.fm 的基本統(tǒng)計(jì)信息如表2 所示。
表2 實(shí)驗(yàn)數(shù)據(jù)集信息統(tǒng)計(jì)Table 2 Experimental data set information statistics
為驗(yàn)證本文算法的有效性,實(shí)驗(yàn)部分選取了具有代表性的ItemKNN[16]、BPR[17]、MF[18]、NeuMF[19]、ConvNCF[20]算法作為對比算法。
實(shí)驗(yàn)在ubuntu-16.04環(huán)境下進(jìn)行,使用python-3.6.5開發(fā),使用的庫包主要為numpy-1.14.3、networkx-2.3、keras-2.0.5、sklearn-0.20.0。
模型訓(xùn)練時需要提供正負(fù)樣本進(jìn)行學(xué)習(xí),本文對Movielens 與Last.fm 數(shù)據(jù)集進(jìn)行相同的處理。在排除實(shí)驗(yàn)測試集所需正樣本后,對考慮每一位用戶,假設(shè)其包含的正樣本數(shù)為n,設(shè)定負(fù)采樣系數(shù)為ns。對于該用戶將從其沒有發(fā)生過交互的物品集中隨機(jī)抽取ns×n個物品作為負(fù)樣本,保證對于每個用戶其正負(fù)樣本比例都是一樣的,以下實(shí)驗(yàn)數(shù)據(jù)中如沒有特殊說明ns的取值均為4。將全部樣本的90%作為訓(xùn)練集,10%作為驗(yàn)證集。
為驗(yàn)證算法在推薦問題下的性能,選用HR@k與NDCG@k 作為評價指標(biāo),以綜合衡量算法結(jié)果在無序評價指標(biāo)和有序評價指標(biāo)下的性能。
1)召回率
設(shè)R(u)是測試集上為用戶u 產(chǎn)生的推薦列表,T(u)是用戶發(fā)生過交互行為的物品列表。召回率定義為推薦列表中用戶最終發(fā)生交互的物品在測試集中的占比,計(jì)算公式如下:
Re值越大,表示推薦算法的召回率越高。由于Re的值與推薦列表的長度密切相關(guān),因此常寫作Re@k 以直接表明條件設(shè)置,表示為HR@k。
2)歸一化折損累計(jì)增益
歸一化折損累計(jì)增益(Normalized Discounted Cummulative Gain,NDGG)對推薦結(jié)果在列表中的排名增加了懲罰,計(jì)算公式如下:
其中,reli表示位置i推薦結(jié)果的相關(guān)性,k表示推薦列表的長度。考慮到評價指標(biāo)需要衡量推薦算法對不同用戶的推薦效果,因此提出NDCG 評價指標(biāo),對用戶u 的NDCG@k 的計(jì)算公式如下:
其中,I@K 為推薦算法為某一用戶返回的最佳推薦結(jié)果列表,最終N@k 的計(jì)算公式為:
NDCG 的取值范圍是[0,1],且越接近1,推薦效果越好。
2.5.1 性能分析
以下實(shí)驗(yàn)數(shù)據(jù)均為5 次獨(dú)立實(shí)驗(yàn)結(jié)果的平均值。本文與對比算法在Movielens數(shù)據(jù)集上的結(jié)果如表3 所示,在Last.fm 數(shù)據(jù)集上的結(jié)果如表4 所示。根據(jù)實(shí)驗(yàn)數(shù)據(jù)可以看出,本文提出的算法較ItemKNN 算法的性能有顯著提升,而基于神經(jīng)網(wǎng)絡(luò)的NeuMF 算法在Movielens 與Last.fm 上的表現(xiàn)均比傳統(tǒng)方法要好。ConvNCF 算法與本算法都優(yōu)于其他對比算法,說明利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行協(xié)同過濾是有效的。與ConvNCF算法相比,本文算法在Movielens 數(shù)據(jù)集上將HR@5 提升了1.89 個百分點(diǎn)、NDCG@5 提升了2.19 個百分點(diǎn),在Last.fm 數(shù)據(jù)集上將HR@5 提升了1.09 個百分點(diǎn),NDCG@5 提升了3.32 個百分點(diǎn)。因此,本算法在用戶-物品二分網(wǎng)絡(luò)的推薦問題上可以提升性能。
表3 對比算法在Movielens 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 3 Experiment results of comparison algorithm on Movielens datasets
表4 對比算法在Last.fm 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 4 Experiment results of comparison algorithm on Last.fm datasets
2.5.2 聚合器選擇對算法性能的影響分析
在上述2 個數(shù)據(jù)集上,Mean、LSTM、Pooling 這3 種聚合器的表現(xiàn)對比如圖3 所示,其中NG 是NDCG 的縮寫。Pooling 聚合器的性能最好,Mean 聚合器的性能最差,LSTM 聚合器的性能與Pooling 較為接近。由于LSTM 聚合器構(gòu)成鄰居節(jié)點(diǎn)序列時具有不確定性,因此LSTM 聚合器性能偶爾優(yōu)于Pooling 聚合器性能。LSTM 訓(xùn)練學(xué)習(xí)時間較長,因此,使用Pooling 聚合器的效果最佳。
圖3 3 種聚合器性能對比Fig.3 Performance comparison of three aggregators
2.5.3 算法收斂性分析
式(7)是本文推薦算法的基本模型,由于是二分類問題,因此可用“0”和“1”表示是否為推薦的物品。選擇sigmoid 函數(shù)將結(jié)果限制在0 和1 之間得到具體的損失函數(shù),如式(8)通過最小化損失函數(shù)訓(xùn)練模型參數(shù)。
通過實(shí)驗(yàn)驗(yàn)證本模型的收斂性。在訓(xùn)練學(xué)習(xí)過程中,采用早停法避免過擬合現(xiàn)象的發(fā)生。在Movielens數(shù)據(jù)集上訓(xùn)練500 次迭代,實(shí)驗(yàn)結(jié)果如圖4 所示。HR@10 在訓(xùn)練學(xué)習(xí)時比NDCG@10 更穩(wěn)定。隨著訓(xùn)練次數(shù)的增加,兩者均表現(xiàn)出穩(wěn)定的狀態(tài),因此本算法的收斂性能良好。
圖4 訓(xùn)練損失、HR@10 與NDCG@10 的訓(xùn)練結(jié)果Fig.4 Training loss,HR@10 and NDCG@10 training results
2.5.4 參數(shù)敏感性分析
參數(shù)敏感性是衡量算法的指標(biāo)。本算法主要分析卷積層數(shù)對推薦效果的影響。將物品與用戶的交互矩陣壓縮成一維向量,采用MLP 替代卷積神經(jīng)網(wǎng)絡(luò),作為卷積神經(jīng)網(wǎng)絡(luò)的消融實(shí)驗(yàn)。調(diào)整卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)使輸出的特征圖尺寸依次為16×16、8×8、4×4、2×2、1×1,將其壓成一維。根據(jù)維度大小設(shè)計(jì)合適的MLP 并完成后續(xù)訓(xùn)練。將上述5 組實(shí)驗(yàn)依次稱為Conv1~Conv5,在上述2 個數(shù)據(jù)集上完成的實(shí)驗(yàn)結(jié)果如圖5 所示。在協(xié)同過濾學(xué)習(xí)中加入卷積神經(jīng)網(wǎng)絡(luò)比單獨(dú)使用MLP 的效果更好。隨著卷積層數(shù)的增加和特征圖尺寸的縮小,HR@10 與NDCG@10都存在極值點(diǎn),呈現(xiàn)先上升后下降的趨勢。因此,適當(dāng)調(diào)整網(wǎng)絡(luò)層數(shù)與最終保留特征圖的尺寸能獲得最有效的信息。
圖5 卷積層數(shù)的敏感性分析Fig.5 Sensitivity analysis of convolution layers
本文推薦問題是一種二分類問題,其負(fù)采樣較靈活,因此需考慮負(fù)采樣比例對模型性能的影響。設(shè)置負(fù)采樣系數(shù)ns為2、4、6、8、10。在2 個數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)實(shí)驗(yàn)結(jié)果如圖6 所示。ns為4~6 較為合理。
圖6 訓(xùn)練集負(fù)采樣個數(shù)的敏感性分析Fig.6 Sensitivity analysis of the number of negative samples in the training set
用戶、物品的節(jié)點(diǎn)嵌入維度也會影響模型的效果。本實(shí)驗(yàn)將嵌入維度調(diào)整為8、16、32、64。實(shí)驗(yàn)結(jié)果如表5 所示,整體上各項(xiàng)評價指標(biāo)隨著維度的增加而增加。增大嵌入維度可以更好地保留有效信息,但當(dāng)維度過大時,訓(xùn)練參數(shù)會急劇增加,從而導(dǎo)致訓(xùn)練時間大大增加。在實(shí)際情況下,需要結(jié)合需求選擇合適的維度。
表5 用戶、物品節(jié)點(diǎn)嵌入維度的敏感性分析Table 5 Sensitivity analysis of embedded dimensions of user and item nodes
本文提出基于網(wǎng)絡(luò)表示學(xué)習(xí)與深度學(xué)習(xí)的推薦算法。將二部圖模型運(yùn)用于網(wǎng)絡(luò)表示學(xué)習(xí)法,將用戶與物品二分網(wǎng)絡(luò)分解為兩個同質(zhì)網(wǎng)絡(luò)。通過外積運(yùn)算表示用戶與物品特征每一維的關(guān)系矩陣,使用卷積神經(jīng)網(wǎng)絡(luò)捕捉特征中每一維的高階交互關(guān)系。與其他算法相比,在數(shù)據(jù)集上測試的推薦算法召回率和折損率都有相應(yīng)的提升并具有良好的收斂性。下一步將節(jié)點(diǎn)的屬性信息考慮進(jìn)網(wǎng)絡(luò)表示學(xué)習(xí)法,并進(jìn)行對比實(shí)驗(yàn)研究。