SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS筆記

一、這篇論文解決什么問題

session-based recommendation:用戶未登錄狀態(tài)下, 僅僅依賴匿名會話進行用戶下一個行為預測的一種算法(session-based recommendation

作者認為此論文發(fā)表前其他方法的不足:沒有充分利用session信息

作者如何利用session信息:GRU(考慮隱含信息,考慮事件次序)

二、作者提出的模型架構

input layer + GRU layer + feed-forward layer + output layer

三、作者對GRU模型的幾點改進

session-parallel mini-batches

這里的核心問題:如何處理變長序列

作者的做法,其實就是把無意義的padding(padding本身不包含語義信息)優(yōu)化為有意義的padding(用其他session的事件來padding)


實際上,現(xiàn)在可以通過pack操作處理變長序列

sampling on the output

理想情況下,可以計算所有item的分數(shù)。但是在實踐中,需要對負樣本采樣,作者的做法也很簡單,同一個mini-batch的其他樣本就是負樣本。

ranking loss

pointwise and pairwise的ranking loss作者都試過了,發(fā)現(xiàn)pairwise ranking loss表現(xiàn)更好,作者用了BPR和TOP1

BPR(Bayesian Personalized Ranking):


TOP1:?


四、論文中對模型的優(yōu)化結(jié)論

1. 輸入加了embedding層后,效果變差

2. 在多層GRU層的情況下,輸入層直接連越深的GRU層,效果會變好

3. 一層的GRU比多層的效果好

4. 增加GRU的大小,也就是增加hidden size,也會使效果變好

5. 一層feed-forward層足夠,多了效果也不會變好

6.?pairwise ranking loss優(yōu)于pointwise?ranking loss

五、對這篇論文的感受

現(xiàn)在看貌似很簡單,但是這篇論文在2016年就把GRU很好地應用到session-based recommendation中,已經(jīng)很有意義了。

另外,我對session-parallel mini-batches這部分的理解不是很有把握。

PS:本文的所有公式和圖表都來自于論文:SESSION-BASED RECOMMENDATIONS WITH RECURRENT NEURAL NETWORKS,有理解不對的地方,歡迎指正

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容