該論文使用圖神經(jīng)網(wǎng)絡(luò)GCN和循環(huán)神經(jīng)RNN結(jié)合進行推薦系統(tǒng)中矩陣的補全。
提出兩種方法:多圖卷積+RNN
矩陣分解+各自的圖卷積+RNN:
矩陣補全的目標函數(shù):
可以看作使得補全矩陣的秩較低的問題淋纲,即
加入預(yù)測值和真實值之間的差異大小,使用核范數(shù)替代矩陣的秩:
最終目標函數(shù)是:
其中g(shù)c表示列圖掘鄙,是用戶之間的關(guān)系圖耘戚,gr表示行圖,是item 之間的關(guān)系
W是用戶圖的鄰接矩陣操漠,H是item圖的鄰接矩陣收津。
考慮圖上的平滑度計算Dirichlet norm:即相似的節(jié)點應(yīng)該有相似的特征表示:
Dirichlet norm計算:
訓(xùn)練過程:
其中(1)forward函數(shù):(主要看了矩陣分解的處理方法的代碼)
實驗中r取10,GCNN每個圖節(jié)點得到q維的特征向量,圖神經(jīng)網(wǎng)絡(luò)的輸出作為RNN的輸入浊伙,RNN的輸出是32維撞秋,再使用一個全連接層把輸出維度變?yōu)閞維得到dH,dW,之后再去更新W和H矩陣嚣鄙,得到下一個時刻的新的H部服,W矩陣。
在T(10)次時間迭代中經(jīng)過圖神經(jīng)網(wǎng)絡(luò)和RNN得到更新的Hout拗慨,Wout的值
(2)之后使用得到的Hout,Wout奉芦,用戶圖和item圖的拉普拉斯矩陣赵抢,
M代表訓(xùn)練集和驗證集合并的一個用戶-item矩陣,allmask代表和M形狀相同声功,在訓(xùn)練集和驗證集存在的矩陣上的位置都置為1烦却,表示只考慮這些數(shù)據(jù)。
使用這些值計算得到目標函數(shù)loss
(3) 進行反向傳播先巴,計算梯度值其爵,更新圖神經(jīng)網(wǎng)絡(luò)和RNN網(wǎng)絡(luò)中的各項系數(shù),梯度清零伸蚯。
(4) 使用Hout摩渺,Wout相乘得到矩陣Xpred,是預(yù)測得到的用戶-item矩陣剂邮,之后與測試集比較摇幻,計算均方根誤差。
疑惑:為什么使用RNN預(yù)測的不是矩陣W挥萌,H绰姻,而是dH,dW,使用這個網(wǎng)絡(luò)的好處在哪?