如何评估序列推荐模型?
有很多論文探討如何構(gòu)建優(yōu)秀的序列推薦模型,但是這篇論文<A Case Study on Sampling Strategies for Evaluating Neural Sequential Item Recommendation Models>探討如何評估這些序列推薦模型。最常見的評估方式是用一個較小的item子集,該集合包含所有相關(guān)items,和大量負(fù)采樣的items(從全集中采樣),有兩種采樣方法,一種是均勻隨機(jī)采樣,另一種是用流行度進(jìn)行采樣,這樣更符合item在整個集合出現(xiàn)的分布。大部分論文都用基于流行度采樣的的方式去評估比較各個序列推薦模型,然而該論文發(fā)現(xiàn)這種評估方式是錯的,和對不采樣進(jìn)行評估相差很大,所以使用流行度進(jìn)行負(fù)采樣和用全部item進(jìn)行評估是否存在差異呢?這篇論文就比較了當(dāng)前比較“出眾”的序列化模型在不同評估方式的區(qū)別,并給出結(jié)論。
實驗配置
訓(xùn)練集測試集構(gòu)造方式很簡單,每個人都會有個交互序列,去掉后面兩個,前面的序列用于訓(xùn)練,倒數(shù)第二個是預(yù)估,最后一個用于測試。評估指標(biāo)就是最常見的HR@K和NDCG@K:
該論文比較了以下幾種模型:
- GRU
- Neural Attentive Recommendation Machine(NARM)
- Self-Attention based Sequential Recommendation(SAS-Rec)
- Bert4Rec
實驗結(jié)果
先比較不同模型在不同數(shù)據(jù)集,采樣HR@10評估,用流行度采樣負(fù)采樣100的結(jié)果,如下圖所示,這樣看BERT4Rec在什么數(shù)據(jù)集都表現(xiàn)最好:
只能說,不要給上面的結(jié)論欺騙了!
我們隨機(jī)采樣20次,取平均,并對不同模型在不同采樣方式下進(jìn)行排序:
我們發(fā)現(xiàn),在full上,bert4rec在某些數(shù)據(jù)集竟然能倒數(shù)第一?在uniform上也表現(xiàn)一般。我們會發(fā)現(xiàn)使用uniform和popular的rank和full并不一致。
如果我們使用不同的負(fù)采樣個數(shù),評估排名變化又很大,如下圖所示:
看到這里,是不是不相信任何一個號稱自己是最強(qiáng)的序列推薦模型了?使用所有item的集合評估才是最正確的,在看這篇論文之前,十方也堅定的認(rèn)為按流行度進(jìn)行負(fù)采樣評估模型足以,看完這篇才發(fā)現(xiàn)這么做完全是錯的。
總結(jié)
以上是生活随笔為你收集整理的如何评估序列推荐模型?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模型的燃料,数据采样的秘密
- 下一篇: self-attention竟然没用?