李 嫻,張澤華,趙 霞,田 華
太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,山西 晉中030600
推薦系統(tǒng)作為一種有效的信息過(guò)濾系統(tǒng),可通過(guò)用戶顯式或隱式行為獲取信息[1]。一方面找到用戶可能感興趣的項(xiàng)目,另一方面通過(guò)推薦促進(jìn)用戶與項(xiàng)目之間的交互來(lái)增加收益。推薦系統(tǒng)已經(jīng)廣泛應(yīng)用到各個(gè)領(lǐng)域,如電子商務(wù)、旅游推薦、在線圖書(shū)電影、社交網(wǎng)絡(luò)等[2],可以通過(guò)個(gè)性化服務(wù)滿足用戶的內(nèi)在隱含需求。
目前,國(guó)內(nèi)外研究者提出了很多推薦算法。推薦系統(tǒng)通過(guò)用戶的顯式或隱式行為獲取用戶的偏好。主要分為基于內(nèi)容、協(xié)同過(guò)濾(基于用戶、基于物品、基于模型、基于矩陣分解)等方法[3]?;趦?nèi)容的推薦算法[4-5]根據(jù)用戶過(guò)去喜歡的物品特征學(xué)習(xí)用戶的喜好,最后生成推薦列表。但是算法要求提取有效的特征,容易出現(xiàn)一詞多義等問(wèn)題。協(xié)同過(guò)濾算法[6-7]普遍應(yīng)用于各大推薦任務(wù)中,將有共同興趣的用戶視為相似用戶?;谟脩?項(xiàng)目的評(píng)分矩陣計(jì)算得到相似用戶列表,在相似列表中出現(xiàn)頻次較多的商品推薦給用戶。這些推薦算法前提條件是用戶信息是清晰且確定的,將用戶劃分到某一類相似群體中。然而在復(fù)雜網(wǎng)絡(luò)中存在不確定性容易造成信息沖突,直接影響推薦結(jié)果。
復(fù)雜網(wǎng)絡(luò)中存在的信息沖突是由于信息的不充分或者不完備造成的,本文從融合多源信息的角度解決不確定網(wǎng)絡(luò)中的推薦問(wèn)題。推薦結(jié)果很大程度受到節(jié)點(diǎn)相似度的影響,對(duì)于復(fù)雜網(wǎng)絡(luò)中的節(jié)點(diǎn)使用傳統(tǒng)的相似度測(cè)量很難取得良好的效果。節(jié)點(diǎn)的相似性度量對(duì)推薦結(jié)果起著關(guān)鍵的作用。本文采用圖神經(jīng)網(wǎng)絡(luò)融合結(jié)構(gòu)信息和屬性信息獲得節(jié)點(diǎn)表示,更好地挖掘節(jié)點(diǎn)相似性。但是圖神經(jīng)網(wǎng)絡(luò)無(wú)法適用于以下場(chǎng)景:用戶6電影評(píng)分為5分,而用戶3評(píng)分為1分。在這種情況下,由于信息不充分容易造成信息沖突,用戶1無(wú)法立即做出選擇,如圖1所示。
圖1 電影推薦網(wǎng)絡(luò)中的“信息沖突”示例
因此,本文提出基于三支決策的圖神經(jīng)網(wǎng)絡(luò)推薦算法。首先,利用三支決策理論梳理局部沖突;然后,在信息不充分的邊界域基礎(chǔ)上,利用圖神經(jīng)網(wǎng)絡(luò)將節(jié)點(diǎn)映射到一個(gè)低維的向量空間,同時(shí)保持節(jié)點(diǎn)結(jié)構(gòu)信息和屬性信息;最后,根據(jù)獲得的節(jié)點(diǎn)嵌入信息重構(gòu)網(wǎng)絡(luò)并預(yù)測(cè)評(píng)分。
本文的主要貢獻(xiàn)包括兩個(gè)方面:
(1)提出了基于三支決策的圖神經(jīng)網(wǎng)絡(luò)推薦系統(tǒng)方法。該方法在三支決策理論的基礎(chǔ)上通過(guò)圖神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)評(píng)分,可有效地解決含有部分缺失數(shù)據(jù)的推薦問(wèn)題。
(2)本文實(shí)現(xiàn)了TWD-GNN算法的評(píng)測(cè)平臺(tái)。在不同數(shù)據(jù)集上與傳統(tǒng)的推薦算法相比,提高了推薦的準(zhǔn)確度,驗(yàn)證了TWD-GNN算法的可行性與有效性。
隨著互聯(lián)網(wǎng)的迅猛發(fā)展,大規(guī)模圖結(jié)構(gòu)數(shù)據(jù)已經(jīng)遍布各個(gè)領(lǐng)域。例如,微博用戶之間形成社交網(wǎng)絡(luò),淘寶用戶與商品構(gòu)成電子商務(wù)網(wǎng)絡(luò),生物分子網(wǎng)絡(luò)以及交通網(wǎng)絡(luò)等等。與圖像、文本不同,圖結(jié)構(gòu)是復(fù)雜多變的不規(guī)則領(lǐng)域。利用機(jī)器學(xué)習(xí)算法和數(shù)學(xué)模型進(jìn)行圖分析的關(guān)鍵之處在于圖的表示。圖神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)到圖結(jié)構(gòu)信息和節(jié)點(diǎn)特征,同時(shí)節(jié)省計(jì)算空間和時(shí)間,適用于節(jié)點(diǎn)分類、邊預(yù)測(cè)以及圖分類等任務(wù)[8-9]。
圖神經(jīng)網(wǎng)絡(luò)作為一種分析圖結(jié)構(gòu)的深度學(xué)習(xí)方法受到越來(lái)越多的關(guān)注。由于非歐幾里德數(shù)據(jù)的節(jié)點(diǎn)排序是沒(méi)有規(guī)律的,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)[10]需要遍歷節(jié)點(diǎn)可能出現(xiàn)的所有順序,難以承受如此龐大的計(jì)算量。同時(shí)受到網(wǎng)絡(luò)嵌入[11]的啟發(fā),將圖的節(jié)點(diǎn)、邊以低維的向量表示出來(lái)。Defferrard等人[12]提出ChebNet,將濾波器定義為Chebyshev多項(xiàng)式,驗(yàn)證了在圖上學(xué)習(xí)局部特征的能力。Gao等人[13]通過(guò)偏置隨機(jī)游走保留節(jié)點(diǎn)序列,只關(guān)注結(jié)構(gòu)信息而忽略了節(jié)點(diǎn)的屬性信息。然而推薦任務(wù)具有異質(zhì)性,包含大量且多種類型的信息?;趫D網(wǎng)絡(luò)的推薦任務(wù)將用戶和項(xiàng)目視為節(jié)點(diǎn),需要整合它們之間的聯(lián)系以及其他輔助信息來(lái)提高推薦質(zhì)量?,F(xiàn)有的方法大多只考慮了單一的信息,本文的主要工作是通過(guò)圖神經(jīng)網(wǎng)絡(luò)挖掘多源信息獲得更加精確的推薦。
三支決策(three-way decision)旨在處理信息模糊和不確定性問(wèn)題,將集合分為正域、負(fù)域和邊界域,分別對(duì)三個(gè)區(qū)域進(jìn)行不同的處理[14]。正域表示接受,負(fù)域表示拒絕,邊界域表示信息不充分時(shí),延遲做決策。當(dāng)信息不充分時(shí),邊界域相當(dāng)于加入一個(gè)緩沖區(qū),從而規(guī)避了傳統(tǒng)二支決策帶來(lái)的錯(cuò)誤拒絕或錯(cuò)誤接受。三支決策形式化描述如下[15-16]:
定義1基于一個(gè)標(biāo)準(zhǔn)C,整體集合U劃分為正域(POS)、邊界域(BND)、負(fù)域(NEG)。存在2種狀態(tài):屬于C和不屬于C,3種行為:A={aP,aB,aN}分別對(duì)應(yīng)接受、延遲、拒絕。
定義2不同狀態(tài)下采取不同行為對(duì)應(yīng)的損失函數(shù)矩陣,如表1。其中,λPP,λBP,λNP表示當(dāng)對(duì)象屬于C時(shí)采取aP,aB,aN三種行為對(duì)應(yīng)的損失值。λPN,λBN,λNN表示當(dāng)對(duì)象不屬于C時(shí)采取aP,aB,aN三種行為對(duì)應(yīng)的損失值。
表1 損失函數(shù)矩陣
定義3決策規(guī)則為:
若p(C|[x])≥α,則x∈POS(C)
若β<p(C|δ(xi))<α,則x∈BND(C)
若p(C|[x])≤β,則x∈NEG(C)
其中,p(C|[x])表示對(duì)象x屬于標(biāo)準(zhǔn)C的概率:
定義4在非空樣本集合U中給定任意xi,xi在條件屬性C的子集B中的鄰域?yàn)椋?/p>
其中,δ為鄰域參數(shù)。ΔB(xi,xj)表示xi和xj在屬性子集B上的距離。
定義5對(duì)象x屬于某一類C的概率為:
近年來(lái),三支決策已應(yīng)用到很多研究工作中。許多學(xué)者對(duì)三支決策進(jìn)行分析,探討了三支決策未來(lái)的發(fā)展方向[17-18]。Liu等人[19]將不完備信息系統(tǒng)中出現(xiàn)的缺失值與損失函數(shù)性結(jié)合形成一個(gè)新的三支決策模型。Zhang等人[20]提出一種新的多標(biāo)簽分類模型(TSEN)降低數(shù)據(jù)的復(fù)雜性和標(biāo)簽的模糊度。從粒度角度來(lái)看,Yang等人[21]提出多粒度粗糙集的層次結(jié)構(gòu)屬性。Qian等人[22]構(gòu)建多粒度序貫三支模型利用多視圖角度處理不確定的數(shù)據(jù)。除此之外,三支決策模型還應(yīng)用到垃圾郵件過(guò)濾、醫(yī)療選擇、面部相似性分析等各個(gè)方面[23]。
綜上所述,三支決策理論遵循“三分而治”,將復(fù)雜的問(wèn)題簡(jiǎn)單化。當(dāng)信息不充分或不完備時(shí),這種動(dòng)態(tài)決策為大數(shù)據(jù)處理帶來(lái)了新的思路。本文選擇三支決策理論梳理不確定信息并挖掘更加詳細(xì)的知識(shí)。
TWD-GNN算法利用三支決策理論將訓(xùn)練集劃分為POS、BND、NEG。由于信息不充分或者不完備,BND易發(fā)生信息沖突,NEG是噪聲數(shù)據(jù)。對(duì)POS中的用戶保留結(jié)果,對(duì)BND數(shù)據(jù)加入屬性信息,形成特征矩陣。通過(guò)圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶和項(xiàng)目的節(jié)點(diǎn)表示,提取有用信息并重構(gòu)網(wǎng)絡(luò)預(yù)測(cè)未觀察到的鏈接解決圖稀疏問(wèn)題。TWD-GNN算法將三支決策理論與圖神經(jīng)網(wǎng)絡(luò)相結(jié)合預(yù)測(cè)用戶評(píng)分,提高推薦質(zhì)量。算法步驟如下:
算法1基于三支決策的圖神經(jīng)網(wǎng)絡(luò)算法
輸入:A;/*評(píng)分矩陣*/
L;/*損失函數(shù)矩陣*/
輸出:A′;/*預(yù)測(cè)評(píng)分矩陣*/
①POS=?,
BND=?,
NEG=?;/*初始化*/
②for each x in A:
POS,BND,NEG←x;/*將用戶x劃分到正域、負(fù)域、邊界域*/
end for
③if x in BND:
X←x;/*將基于BND進(jìn)行one-hot編碼融合屬性信息,形成特征矩陣X*/
h=f(X,A);/*將用戶和項(xiàng)目嵌入到低維的空間*/
A′=g(h)/*預(yù)測(cè)評(píng)分矩陣*/
end if
TWD-GNN算法由數(shù)據(jù)集劃分、圖網(wǎng)絡(luò)表示、重構(gòu)圖網(wǎng)絡(luò)等部分組成。
基于三支決策模型將整個(gè)訓(xùn)練集劃分為正域、邊界域、負(fù)域。本文設(shè)計(jì)的損失函數(shù)矩陣,如表2所示。假設(shè)推薦給用戶不喜歡的項(xiàng)目帶來(lái)的損失值大于用戶喜歡的項(xiàng)目沒(méi)有被推薦的損失值。其中,Y表示喜歡,N表示不喜歡。90表示推薦給用戶不喜歡的項(xiàng)目帶來(lái)的損失值;18表示當(dāng)用戶喜歡這部電影時(shí),延遲決策所對(duì)應(yīng)的損失值;45表示用戶喜歡的項(xiàng)目沒(méi)有被推薦的損失值。
表2 MovieLens的損失函數(shù)矩陣
由表2損失函數(shù)矩陣和公式(1)計(jì)算得到:α=0.8,β=0.4。同時(shí)也符合文獻(xiàn)[24]提到的閾值組合,其中(0.3,0.8)符合人們中性的決策習(xí)慣。下面進(jìn)一步舉例說(shuō)明三支決策的思想,如圖1所示。首先,將整個(gè)數(shù)據(jù)集按照電影類型分為喜劇、科幻等,假設(shè)圖1中所有電影為喜劇。然后,根據(jù)公式(4)用戶對(duì)電影喜歡(評(píng)分[4,5])的概率PY初步判定用戶偏好。評(píng)價(jià)標(biāo)準(zhǔn)為:[0.6,1]-喜歡(Y),[0.4,0.6)-可能喜歡(M),[0,0.4)-不喜歡(N),如表3所示。其中:
表3 用戶的初步評(píng)價(jià)結(jié)果
最后,根據(jù)評(píng)分矩陣得到用戶之間的余弦距離,即鄰域距離,如表4所示。本文設(shè)置鄰域參數(shù)δ為0.4。傳統(tǒng)的鄰域三支決策模型定義的距離為Minkowski Distance距離越小,樣本相似度越高,將小于鄰域參數(shù)δ的劃為鄰域類。但是,閔式距離不適用于稀疏矩陣,在推薦系統(tǒng)中常用0代替用戶未評(píng)分的項(xiàng),過(guò)多的0會(huì)影響閔式距離的計(jì)算。因此,本文使用余弦距離的值越大,樣本越相似,將大于鄰域參數(shù)δ的劃為鄰域類。
表4 用戶的鄰域距離
以用戶u1為例,根據(jù)表3中的決策屬性D得到u1∈{u1,u2,u4},根據(jù)公式(3)計(jì)算:
即β<0.67<α,因此u1屬于邊界域。同理,將每個(gè)用戶劃分到各個(gè)區(qū)域。算法具體步驟如下:
算法2數(shù)據(jù)集劃分
輸入:A,L;
輸出:POS,BND,NEG
①C;/*制定評(píng)價(jià)標(biāo)準(zhǔn)*/
D;/*決策屬性*/
δ;/*初始化鄰域參數(shù)*/
α,β;/*根據(jù)表2計(jì)算閾值*/
②S1,S2,…,Sn;/*將數(shù)據(jù)集劃分為n類*/
③for each x in Sido:
δ(xi)={xj|xj∈S,dis(xi,xj)≥δ};/*計(jì)算用戶的鄰域類*/
end for
④POS←p(C|δ(xi))≥α;BND←β<p(C|δ(xi))<α;
NEG←p(C|δ(xi))≤β;/*根據(jù)決策規(guī)則將用戶劃分到正域、邊界域和負(fù)域*/
在推薦過(guò)程中,用戶與商品的交互是稀疏的。其中,得到的POS結(jié)果保留并直接推薦。在BND的基礎(chǔ)上通過(guò)one-hot編碼形成用戶和項(xiàng)目的特征矩陣。
有效的建模和利用復(fù)雜信息是推薦任務(wù)的關(guān)鍵。對(duì)于已經(jīng)形成的用戶-項(xiàng)目鄰接矩陣(評(píng)分矩陣)和特征矩陣,仍然是大規(guī)模、高維度、稀疏的網(wǎng)絡(luò)并存在一些噪聲數(shù)據(jù)。為降低計(jì)算復(fù)雜度,利用圖神經(jīng)網(wǎng)絡(luò)將其壓縮至低維、稠密的向量空間,學(xué)習(xí)節(jié)點(diǎn)的有用信息。令G=(u,v,ε,?)表示含有用戶節(jié)點(diǎn)ui∈u,項(xiàng)目節(jié)點(diǎn)vi∈v以及邊(ui,r,vj)∈ε的無(wú)向圖。其中,r∈{1,2,…,R}=?表示邊帶有的評(píng)分等級(jí)。
圖神經(jīng)網(wǎng)絡(luò)的特征提取主要依賴于卷積操作。為了更好地學(xué)習(xí)節(jié)點(diǎn)的隱藏狀態(tài),需要卷積層取得局部特征。通常圖神經(jīng)網(wǎng)絡(luò)的卷積操作分為譜方法和空間域兩類。其中,譜方法依賴于拉普拉斯矩陣分解,計(jì)算復(fù)雜度較高。而空間域是通過(guò)整合鄰域節(jié)點(diǎn)信息將圖映射到向量。TWD-GNN算法通過(guò)一階鄰域獲取局部特征可以被認(rèn)為是信息傳遞的過(guò)程[25]。將信息從用戶傳遞并轉(zhuǎn)換到項(xiàng)目節(jié)點(diǎn),反之亦然,如圖2所示。
從節(jié)點(diǎn)本身和信息傳遞兩個(gè)角度形式化表示:
其中,xi表示每個(gè)節(jié)點(diǎn)原始的特征向量。xi'表示整合每個(gè)節(jié)點(diǎn)的鄰居信息獲得節(jié)點(diǎn)表示,形成N×D的特征矩陣。同時(shí)為每個(gè)評(píng)分級(jí)r分別做相應(yīng)的信息傳遞。即:
圖2 信息傳遞示意圖
其中,mi→j,r表示用戶i到項(xiàng)目j在評(píng)級(jí)r下的信息傳遞。Ni表示節(jié)點(diǎn)xi的鄰居個(gè)數(shù),作為歸一化常數(shù)。由于邊上帶有評(píng)分的標(biāo)簽,Wr表示不同類型邊參數(shù)矩陣。接下來(lái),使用非線性激活函數(shù)σ(?)=ReLU(?)進(jìn)行映射:
將上層得到的特征向量hi進(jìn)行權(quán)重計(jì)算,即經(jīng)過(guò)全連接層得到用戶節(jié)點(diǎn)的最終嵌入ui,項(xiàng)目節(jié)點(diǎn)的最終嵌入vj也類似:
其中,W1表示原始特征向量的權(quán)重矩陣,b表示偏置項(xiàng),加入b是為了能夠更好地?cái)M合數(shù)據(jù),fi表示用戶特征(輔助信息)的表示,W2表示用戶鄰居的權(quán)重矩陣,W表示嵌入之后特征向量的權(quán)重矩陣。
以特征矩陣和各個(gè)評(píng)級(jí)下的鄰接矩陣為輸入,融合了結(jié)構(gòu)和屬性信息。通過(guò)在用戶-項(xiàng)目圖上傳遞信息,將其壓縮至低維空間,得到用戶和項(xiàng)目的最終嵌入表示。
在現(xiàn)實(shí)生活中,用戶只與有限的項(xiàng)目交互,即網(wǎng)絡(luò)中缺少鏈接?;谏缃痪W(wǎng)絡(luò)的推薦系統(tǒng)本質(zhì)上是預(yù)測(cè)問(wèn)題,將用戶和項(xiàng)目的嵌入恢復(fù)成原始數(shù)據(jù),也就是重構(gòu)圖預(yù)測(cè)評(píng)分,補(bǔ)充網(wǎng)絡(luò)中缺失的鏈接,從而解決圖稀疏的問(wèn)題。為了重構(gòu)圖中的鏈接,將每一種評(píng)級(jí)視為單獨(dú)的類,然后應(yīng)用softmax函數(shù),在可能的評(píng)級(jí)上生成概率分布:
其中,ui是用戶最終的嵌入表示,vj是項(xiàng)目最終的嵌入表示。p(A′ij=r)表示softmax函數(shù)獲得用戶和項(xiàng)目之間存在不同評(píng)分鏈接的概率。Er∈E×E是用戶或項(xiàng)目嵌入后的參數(shù)矩陣。預(yù)測(cè)評(píng)級(jí)A′ij為:
本文設(shè)定的損失函數(shù)為預(yù)測(cè)評(píng)分的負(fù)對(duì)數(shù)似然:
當(dāng)r=Aij時(shí)Ι[r=Aij]=1,否則為0。矩陣Ω∈{0,1}Nu×Ni使得A中觀測(cè)到的評(píng)級(jí)表示為1,而未觀測(cè)到的評(píng)級(jí)表示為0。那么,這樣只優(yōu)化了觀測(cè)到的評(píng)級(jí)。
傳統(tǒng)的dropout讓神經(jīng)網(wǎng)絡(luò)的某個(gè)神經(jīng)元以一定概率停止工作來(lái)減少過(guò)擬合。為了更好地訓(xùn)練未觀測(cè)到的評(píng)級(jí),通過(guò)隨機(jī)丟棄特定節(jié)點(diǎn)的所有傳出消息,稱為節(jié)點(diǎn)丟失(node dropout)[26]。在實(shí)驗(yàn)中發(fā)現(xiàn)節(jié)點(diǎn)丟失比信息丟失在正則化方面更加有效。節(jié)點(diǎn)丟失使嵌入更加獨(dú)立于特定的用戶或項(xiàng)目影響。
通過(guò)不同觀測(cè)到的評(píng)級(jí)對(duì)公式(13)中損失函數(shù)的貢獻(xiàn)引入小批量梯度下降(mini-batching)。也就是說(shuō),本文只從用戶和項(xiàng)目對(duì)的總和中抽取固定數(shù)量的貢獻(xiàn)。通過(guò)僅考慮對(duì)損失函數(shù)的固定數(shù)量的貢獻(xiàn),移除未出現(xiàn)在當(dāng)前批次中的用戶和項(xiàng)目。這既是一種有效的正規(guī)則化手段,也是降低訓(xùn)練模型的內(nèi)存需求,同時(shí)加快收斂速度。TWD-GNN算法訓(xùn)練的復(fù)雜度為ο((N+F)HI),其中N是節(jié)點(diǎn)數(shù),F(xiàn)是節(jié)點(diǎn)特征的維數(shù),H是隱藏層的大小,I是迭代次數(shù)。實(shí)際上,F(xiàn),H?N,I獨(dú)立于N,因此整個(gè)算法的時(shí)間復(fù)雜度為ο(N)。
實(shí)驗(yàn)使用的數(shù)據(jù)集是推薦系統(tǒng)常用的MovieLens(100K)數(shù)據(jù),包括943用戶對(duì)1 682部電影的100 000個(gè)評(píng)分,評(píng)分范圍是[1,5]。還有用戶(包括年齡、性別、職業(yè)等)和電影類型等輔助信息。整個(gè)數(shù)據(jù)集稀疏度為0.063 。
實(shí)驗(yàn)需要對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理。首先,輸入評(píng)分矩陣,根據(jù)設(shè)計(jì)的損失函數(shù)矩陣計(jì)算出閾值α=0.8,β=0.4,訓(xùn)練得到最優(yōu)的鄰域參數(shù)δ為0.4。
其次,由于用戶喜歡一部電影不僅僅是因?yàn)樵u(píng)分高,還可能因?yàn)殡娪暗念愋偷鹊戎T多因素。在邊界域的基礎(chǔ)上,融合用戶和電影的輔助信息。由于用戶和項(xiàng)目特征都是離散的,需要對(duì)其進(jìn)行one-hot編碼。例如,用戶性別={男,女},編碼后為,男:10,女:01;電影類型={喜劇,戰(zhàn)爭(zhēng),科幻},編碼后為,喜?。?01,戰(zhàn)爭(zhēng):010,科幻:100??梢?jiàn),one-hot是一位有效編碼,當(dāng)用戶或者項(xiàng)目有多個(gè)特征出現(xiàn)時(shí),將各個(gè)特征的編碼連起來(lái)形成最終的節(jié)點(diǎn)表示。one-hot編碼便于特征歸一化,同時(shí)距離計(jì)算更合理。
通過(guò)多次實(shí)驗(yàn)設(shè)置全連接層隱藏單元個(gè)數(shù)為8,學(xué)習(xí)率設(shè)置為0.01,dropout率為0.6得到結(jié)果最優(yōu)。本次實(shí)驗(yàn)將整個(gè)數(shù)據(jù)分為80%訓(xùn)練集,20%的測(cè)試集。實(shí)驗(yàn)結(jié)果取5次運(yùn)行的平均值。
為驗(yàn)證TWD-GNN算法的可行性,分別與以下三種算法比較。
CF:傳統(tǒng)的協(xié)同過(guò)濾根據(jù)評(píng)分矩陣,采用余弦相似度發(fā)現(xiàn)相似偏好的用戶,前k個(gè)為最終推薦結(jié)果。
fMF[27]:構(gòu)建決策樹(shù),每個(gè)節(jié)點(diǎn)代表一個(gè)問(wèn)題。在訪問(wèn)過(guò)程中通過(guò)用戶對(duì)項(xiàng)目問(wèn)題的反饋不斷改變用戶表征,啟動(dòng)用戶偏好。
ApproSVD[28]:基于奇異值分解的增量算法轉(zhuǎn)換為矩陣更新問(wèn)題。將用戶的偏好向量乘以電影特征向量,獲得最終的預(yù)測(cè)評(píng)級(jí)。
實(shí)驗(yàn)采用的評(píng)測(cè)指標(biāo)是均方根誤差(RMSE)及平均絕對(duì)誤差(MAE),T是測(cè)試集:
為了驗(yàn)證算法的有效性,與傳統(tǒng)的協(xié)同過(guò)濾算法CF、冷啟動(dòng)推薦算法fMF以及矩陣分解算法ApproSVD的RMSE、MAE進(jìn)行橫向比較,以及在數(shù)據(jù)不同稀疏度時(shí)分析推薦性能??v向分析三支決策閾值的上邊界α、鄰域參數(shù)δ對(duì)推薦結(jié)果的影響。
TWD-GNN算法基于電影MovieLens數(shù)據(jù)集與上述三種算法進(jìn)行比較。推薦的RMSE、MAE結(jié)果如表5所示。從表5中可以看出:與傳統(tǒng)的協(xié)同過(guò)濾CF相比,TWD-GNN算法具有較好的推薦準(zhǔn)確性。因?yàn)閭鹘y(tǒng)的協(xié)同過(guò)濾只是基于評(píng)分矩陣來(lái)推薦,現(xiàn)實(shí)中用戶只對(duì)有限的電影進(jìn)行打分。ApproSVD算法實(shí)際上是基于矩陣分解來(lái)學(xué)習(xí)潛在特征,沒(méi)有融入用戶或者項(xiàng)目的輔助信息。fMF算法是通過(guò)初始訪問(wèn)啟動(dòng)用戶偏好,以函數(shù)的形式將用戶的反饋與配置文件綁定。但是繁瑣的訪問(wèn)過(guò)程或者涉及用戶的隱私問(wèn)題會(huì)逐漸降低用戶對(duì)推薦系統(tǒng)的信心。由于TWD-GNN算法不只是基于評(píng)分矩陣,同時(shí)融入了用戶和電影的輔助信息,即結(jié)合了結(jié)構(gòu)屬性和特征屬性。TWD-GNN算法的推薦效果優(yōu)于其他的推薦算法。TWD-GNN算法還在Douban電影數(shù)據(jù)集下與其他三種算法進(jìn)行比較,如表6所示。取Douban數(shù)據(jù)集2 000名用戶對(duì)2 000部電影的106 828個(gè)評(píng)分,評(píng)分范圍是[1,5],數(shù)據(jù)集稀疏度為0.027??梢钥闯觯贒ouban數(shù)據(jù)集上TWD-GNN算法仍有較好的推薦效果。
表5 MovieLens下不同算法比較
表6 Douban下不同算法比較
為驗(yàn)證TWD-GNN算法在稀疏數(shù)據(jù)下的效果,從MovieLens訓(xùn)練集中刪除一部分?jǐn)?shù)據(jù),得到不同稀疏度下的RMSE和MAE。如圖3和圖4所示。隨著數(shù)據(jù)稀疏度的不斷增加,CF算法準(zhǔn)確度下降得最快。fMF和ApproSVD算法在稀疏度為95%之前準(zhǔn)確度下降得比較平緩。而TWD-GNN算法即使在稀疏度為97%時(shí)仍有較好的推薦效果。
圖3 不同稀疏度下RMSE比較
圖4 不同稀疏度下MAE比較
參數(shù)影響著推薦結(jié)果,對(duì)參數(shù)敏感性進(jìn)行分析顯得尤為重要。本節(jié)基于MovieLens數(shù)據(jù)集的訓(xùn)練集和測(cè)試集分析三支決策閾值的上邊界α,以及鄰域參數(shù)δ對(duì)推薦準(zhǔn)確度RMSE和MAE的影響。根據(jù)表2的損失函數(shù)矩陣,計(jì)算出三支決策最優(yōu)的閾值。在β≤α的約束條件下計(jì)算α和β變化時(shí)的推薦準(zhǔn)確度。經(jīng)多次實(shí)驗(yàn)驗(yàn)證參數(shù)步長(zhǎng)為0.1時(shí)結(jié)果變化最明顯,同時(shí)驗(yàn)證α和β在訓(xùn)練/測(cè)試集是否最優(yōu)。
參數(shù)α決定整個(gè)數(shù)據(jù)集中正域的多少,α過(guò)小可能會(huì)把不確定信息推薦給用戶,造成錯(cuò)誤的接受;α過(guò)大使推薦要求更加苛刻,容易把有用的信息視為噪聲數(shù)據(jù),直接影響最終的推薦結(jié)果。圖5和圖6中的取值范圍是[0.5,1],步長(zhǎng)為0.1。從測(cè)試集與訓(xùn)練集可以看出,在α=0.8時(shí)RMSE及MAE的值最小,即TWD-GNN算法推薦效果最優(yōu)。同理,三支決策閾值的下邊界β=0.4時(shí)效果最優(yōu)。
圖5 α對(duì)RMSE的影響
圖6 α對(duì)MAE的影響
參數(shù)δ決定鄰域類的個(gè)數(shù),鄰域參數(shù)δ過(guò)大,對(duì)鄰居的要求更高,甚至找不到鄰居;鄰域參數(shù)δ過(guò)小,不足以把數(shù)據(jù)分開(kāi)。本文工作設(shè)置δ的取值范圍為[0,1],步長(zhǎng)為0.1。從圖7和圖8中可以看出δ=0.4的時(shí)候效果最好。
圖7 δ對(duì)RMSE的影響
圖8 δ對(duì)MAE的影響
綜上所述,TWD-GNN算法的優(yōu)勢(shì)在于采用三支決策理論將大規(guī)模的復(fù)雜網(wǎng)絡(luò)縮小至易于處理的集合。正域直接推薦,而邊界域由于信息不足使得用戶延遲決策,負(fù)域是噪聲數(shù)據(jù)。將邊界域融合除電影評(píng)分以外的其他輔助信息,如用戶的年齡、職業(yè),電影的類型等。根據(jù)輔助信息中提取的有效信息重構(gòu)圖網(wǎng)絡(luò),從而解決含有部分缺失數(shù)據(jù)的推薦問(wèn)題。可以看到在不同稀疏度和數(shù)據(jù)集下,TWD-GNN算法有較好的推薦效果。
本文提出了一種基于三支決策的圖神經(jīng)網(wǎng)絡(luò)推薦方法。針對(duì)復(fù)雜網(wǎng)絡(luò)中存在信息沖突的問(wèn)題,將大規(guī)模數(shù)據(jù)經(jīng)三支決策劃分可有效將不確定問(wèn)題域空間縮小到一個(gè)有限的集合范疇內(nèi)。然后通過(guò)圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)結(jié)構(gòu)信息和屬性信息,使其適用于某些信息不完備的場(chǎng)景。TWD-GNN算法在一定程度上能夠解決含有不確定信息的推薦問(wèn)題。同時(shí)與傳統(tǒng)推薦系統(tǒng)方法比較,TWD-GNN算法具有較好的推薦質(zhì)量。