如何更爲合適地評測推薦算法? Top-N物品推薦算法評測設置回顧

  近十年裏,top-N商品推薦是隱式反饋中一個被普遍研究的課題,其目的是從大量數據中識別出用戶可能偏心的一小部分物品。前端

  各類top-N物品推薦算法已經被開發出來,特別是基於深度學習的研究取得了很大的進展。web

  爲了證實推薦算法的有效性,須要在基準數據集上創建可靠的評價實驗。一般,這樣的評估過程包括一系列對於數據集、指標、基線方法和其餘方案的設置。算法

  因爲每一個設置步驟能夠選擇不一樣的選項,須要制定和設計適當的標準,以使實驗設置標準化。爲此,有必要對近期研究中有分歧的實驗設置進行系統的回顧。網絡

  本文介紹一篇被CIKM 2020收錄的論文,在這篇論文中,對於不一樣的實驗設置對評價top-N商品推薦算法的影響,做者設計了一個經驗性的大規模實驗。性能

  

  論文標題:學習

  《Revisiting Alternative Experimental Settings for Evaluating Top-N Item Recommendation Algorithms》
測試

  論文來源:ACM CIKM 2020優化

  論文連接:http://arxiv.org/abs/2010.04484lua

  1設計

  論文介紹

  咱們試圖找出致使近期評測工做中出現分歧的重要評估設置。

  具體來講,考慮三個重要的影響因素,即 數據集分割、採樣指標和數據領域選擇 。

  數據集分割是指利用原始數據構造訓練集、驗證集和測試集;採樣指標是指用採樣方法得到不相關物品來計算評測指標的結果;數據領域選擇是指從不一樣領域中選擇合適的數據集進行評估。

  爲了檢驗這三個因素的影響,咱們在Amazonreview數據集上進行了大量的實驗,其中包含來自24個領域的1.428億條用戶交互記錄。

  top-N物品推薦本質上是一項排序任務。與先前的工做不一樣,本文並不關心特定方法的性能,而是研究一個特定的實驗設置因素如何影響不一樣方法的整體排序。

  本文選取了8種具備表明性的推薦算法做爲比較方法,包括傳統方法和基於神經網絡的方法。咱們利用三種序列相關性指標來刻畫排序結果的差別。

  咱們的實驗獲得瞭如下結論:

  首先,對於數據集分割,隨機切分與時序切分產生了必定程度上不一樣的方法排序。數據集的切分方式應該取決於特定的任務。建議在通常狀況下采用隨機切分的方式劃分數據集合,而對時間敏感的任務採用按照時序劃分方式(如序列推薦)。

  第二,基於採樣指標的表現排名與精確排名的相關性略弱,增長採樣物品的數量會提升排序相關性程度。在使用採樣指標時,研究人員應儘量採樣較多的不相關物品。

  最後,具備不一樣領域特徵或稀疏程度的數據集合可能會產生不太相同的表現排名。一個較優的策略是選擇可以涵蓋多個領域、不一樣方面的表明性數據集。

  2

  引言實驗設置與方案

  2.1 實驗設置

  在這一部分中,咱們描述數據集、比較方法和評估指標,來準備進行實驗。

  數據集

  咱們採用亞馬遜產品評論數據集進行評估,其中包含來自24個領域的1.428億條評論。對於top-N物品推薦,每條評論被視爲用戶和某個物品之間的交互記錄,而其他信息則被丟棄,好比文本和元數據。

  因爲幾種比較方法沒法在有限的時間內對Book領域的數據集得出結果,所以爲了提升效率,咱們刪除了這個領域。

  最後,咱們使用來自其他23個領域的用戶項交互數據做爲最終數據集。咱們進一步採用5-core的預處理方式,刪除了不活躍的用戶和不常常被點擊的商品。

  比較方法。咱們選取了八種推薦算法,包括popularity,ItemKNN,SVD++ [9]和BPR,DSSM,NCF,DIN 和 GCMC。在這八種方法中,popularity和ItemKNN主要基於簡單的全局或物品特定的統計,SVD++和BPR利用矩陣分解技術,DSSM和NCF利用神經網絡建模用戶-物品交互,DIN經過關注現有行爲來學習用戶偏好,GCMC採用圖神經網絡進行推薦。

  這八種方法很好地涵蓋了傳統方法和基於神經網絡的方法。在本文中,咱們只考慮general item recommendation,而不考慮context-awarerecommendation或sequential recommendation。注意,咱們的重點不是肯定最佳算法,而是研究不一樣實驗設置對最終表現排名的影響。

  評價指標

  Top-N項目推薦能夠視爲一項排序任務,排在前端的結果須要重點考慮。

  在下面的實驗中,咱們使用了四個指標:

  (1)頂部K個位置的截斷精度和召回率(P@K and R@K),

  (2)平均準確率(MAP),

  (3)ROC曲線下面積(AUC);

  (4)另外兩個指標的結果nDCG@K和MRR。

  它們與上述四個指標產生了類似的結果,咱們省略了對應的實驗結果。

  2.2 實驗方案

  在本節中,咱們將介紹用於比較top-N商品推薦的實驗方案。

  配置

  咱們引入「配置」一詞來表示上述三個因素的不一樣選擇的組合,即數據集分割,採樣指標和領域選擇。

  咱們選擇這三個因素是由於這些在最近的基於神經網絡的方法文獻中仍然存在必定的分歧(缺少標準化的討論)。

  注意,咱們不會列舉這三個因素的全部可能選項,咱們只考慮近期研究中流行或有爭議的選項。爲了減小其餘因素的影響,咱們可能經過不一樣的選項單獨報告結果,也可能根據先前的研究將其設置爲建議的選項。

  相關測量

  在給定配置的狀況下,咱們能夠得到基於某種指標的八種比較方法的一個排序列表。咱們採用三種排序相關性度量來刻畫兩個排序之間的相關性或類似度:

  (1)Overlap Ratio at top-k positions (OR@k);

  (2)Spearman’s Rank Correlation (SRC);

  (3)Inversion Pair Count (IPC)。

  選擇這三種方法的理由以下:

  SRC刻畫了總體排序的相關性,IPC提供了對SRC值的更直觀的理解,對於商品推薦,排名靠前的位置須要更多關注,可由OR@k刻畫。

  實驗步驟

  給定一個指標,咱們首先根據配置(用驗證集優化)導出八種方法的表現排序。爲了檢驗一個因素的影響,咱們將經過考慮備選方案來生成多個配置。而後,利用上述指標計算兩種不一樣配置下的表現排名之間的關聯度。最後,相關結果將在23個數據領域上取平均值(除第4.3節以外)

  3

  實驗

  在這一部分中,咱們給出了與數據集分割、採樣指標和數據領域選擇三個因素相關的實驗結果。當考慮一個因素時,咱們會固定其他兩個因素。

  也就是說,在兩個配置進行比較的狀況下,咱們只改變所研究的因素,而將其他的設置設爲相同的。

  3.1 數據集切分分析

  咱們首先研究不一樣的數據集切分策略(即構建訓練/驗證/測試集)對錶現排名的影響。

  設置

  對於每一個用戶,咱們首先使用兩種方法組織用戶的交互記錄:

  (1) 隨機排列(RO),隨機選擇商品;

  (2) 時序排列(TO),根據交互時間戳對商品進行排序。

  而後,可使用如下兩種經常使用方法拆分從新排序的用戶項交互序列:

  (1)基於比率的分割(Ratio-basedSplitting, RS),根據預約比率將數據集分爲三個部分,以進行訓練,驗證和測試,此處將比例設置爲8:1:1。

  咱們重複此過程五次,以生成不一樣的評估集,計算平均結果。

  (2)Leave-one-out分割(LS),選擇一個物品做爲測試集,另外一個物品做爲驗證集,其他物品所有做爲訓練集。

  LS策略能夠看做是RS的一個特例,當其中驗證集和測試集都只包含一個項目。考慮到物品排序和切分方式,能夠生成了四個組合,如圖1所示。

  

  圖1:四種切分策略的說明性示例。用戶與20個物品交互。項目i的下標表示與用戶的交互順序:較小的索引表示較早的交互時間。咱們使用標準、劃線和灰色框分別表示訓練集、驗證集和測試集。

  結果

  表1中給出了兩種不一樣配置之間的比較結果。

  首先,與切分法(比率法或留一法)相比,物品排列方式(隨機排列或時序排列)對錶現排名的影響更爲顯著。

  對於每個指標,表中前兩行的相關性數值顯著弱於最後兩行的相關性數值。時序排列本質上應用於序列化推薦(Sequential recommendation)的設置。

  建議在通常狀況下(尤爲是評估時序不敏感的推薦算法)應採用隨機排序,而在時序敏感的狀況下(如序列化推薦)採用時序排列。

  第二,使用相同的物品排列方式,兩種切分方法生成的算法排序很是類似 (請參見每一個度量的最後兩行)。

  實際上,在最近的文獻[8,11]中,留一法(leave-one-out)評測已經被普遍採用。咱們建議在通常狀況下使用基於比率的切分方式,以得到更準確的評估。

  然而,對於小數據集,留一法切分能夠緩解數據稀疏,而且簡化評測環節。

  

  表1:數據集合切分不一樣配置的相關性比較。全部結果都是基於23個領域進行平均得到的。這裏,「RS」和「LS」表示基於比率的分割和leave-one-out分割;「RO」和「TO」表示隨機排列和時序排列。「↑」(「↓」)表示越大(小)效果越好。

  3.2 採樣指標分析

  接下來,咱們研究抽樣指標(Sampled metrics,只使用一組採樣不相關物品用於評測指標的計算)對錶現排名的影響。

  採樣設置

  對於測試環節,當物品集合很大時,將項目集中的全部未交互物品都做爲候選對象是很費時的。因此,目前一種流行的方法是將採樣一小部分不相關物品進行計算。這種方法稱爲採樣指標。

  咱們考慮了兩種採樣策略:隨機採樣和流行度採樣,即根據均勻分佈或基於頻率的分佈對不相物品進行採樣。

  咱們進一步考慮使用三個不一樣數量的不相關樣本,即{10,50,100},這意味着一個真實物品將與10個、50個或100個採樣得到的不相關物品配對。當咱們採用leave-one-out法分割時,狀況變爲real-plus-N[3,6]。

  爲了進行比較,咱們將整個商品集(不包括真實物品)的排序做爲參考排名。

  根據第4.1節,對於數據集切分,在全部比較配置中採用基於比率的數據集分割(用RS表示)和隨機排序(用RO表示)。

  實驗結果

  表2展現了不一樣採樣指標的相關結果,這些結果遠小於表1中的數值。這代表使用採樣指標對錶現排名有較大影響。

  事實上,最近的研究已經討論過這樣一個問題[7]:採樣指標可能得不到一致的排序。另外一個觀察的結果是,採樣更多不相關的項目增長了採樣指標和準確指標之間的相關度。

  最後,不一樣的採樣策略可能會致使某些特定算法的表現動盪,從而嚴重影響表現排名。比較兩種採樣策略,均勻採樣與總體排名的相關性彷佛更高。

  通常來講,採樣指標不該使用於小數據集。若是須要,咱們建議採樣更多不相關的物品(如[9]建議的1000個項目)。

  

  表2:採樣指標不一樣配置的相關性比較。表中結果對於23個領域進行了平均。「={RO,RS}」表示用於使用隨機排序對於物品進行排列,使用基於比率的方法進行切分,「pop」/「uni」表示流行度/均勻採樣,下標表示採樣數量,「all」表示使用全部物品進行評測。

  3.3 數據鄰域選擇分析

  這裏,咱們考慮不一樣領域是否會致使不一樣的表現排名。這個問題對於回答如何選擇合適的數據集進行評測頗有用。

  實驗設置

  給定兩個領域,咱們首先根據第4.1節和第4.2節中建議的設置(RO,RS,all)生成一個配置,而後基於某個指標得到每一個領域下的表現排名。

  而後,咱們計算了兩個領域排名之間的Spearman’sRank Correlation得分。咱們對全部指標的SRC得分取平均值。最後的分數用來衡量兩個領域之間的相關性。

  實驗結果

  圖2顯示了兩個領域之間的平均相關結果。咱們對行和列進行從新排序,以即可以在對角線上聚合較大的值。有趣的是,整個熱度圖彷佛包含四大塊(組),其中組內相關值高於組間相關值。結果代表,在相同的配置下,不一樣的領域可能會產生不一樣的表現排名。

  所以,評估時應考慮領域差別。經過對數據集的考察,咱們發現領域特徵(例如,第一組主要對應於數字產品)和稀疏程度(如用戶-項目交互比率)彷佛對相關結果有顯著影響。

  使用多個來來自於不一樣領域、稀疏度不一樣的數據集是個好方法。這裏,「領域」是指Amazon數據集的類別。咱們將在將來的工做中使用更多的數據集來研究這個問題。

  

  圖2:成對領域相關性的可視化。每一個單元格表示兩個領域之間計算的相關性分數(顏色越深表示值越大)。

  4

  結語

  咱們經過實驗檢驗了三個重要因素對於top-N推薦算法評測的影響。咱們的實驗結果爲物品推薦算法提出了一些經驗建議。

  首先,對於數據集切分,建議使用基於比例切分方式而且使用隨機物品排列方式(非時序推薦任務),而leave-one-out切分方式能夠用於較小數據集或者加快評測流程(如調參過程)。

  第二,應該謹慎使用採樣指標。若是使用,咱們建議加大采樣樣本數。

  第三,建議使用來自不一樣領域的多個數據集合做爲評測數據集合。在將來的工做中,咱們還將研究更多因素和數據集合來進一步完善當前的工做。

  引用

  [1] S. Rendle, C. Freudenthaler, Z. Gantner, BPR:Bayesian Personalized Rankingfrom Implicit Feedback, in: UAI 2009, 452–461,2009.

  [2] S. Zhang, L. Yao, A. Sun, Y. Tay, Deep Learning Based Recommender System: ASurveyand New Perspectives, ACM Comput. Surv. 52 (1) (2019) 5:1–5:38.[3] A. Bellogín, P. Castells, I. Cantador, Precision-oriented evaluation ofrecommendersystems:an algorithmic comparison, in: ACM RecSys, 333–336, 2011.[4] T. Silveira, M. Zhang, X. Lin, Y. Liu, S. Ma, How good your recommendersystemis?A survey on evaluations in recommendation, JMLC 10 (5) (2019) 813–831.[5] H. Steck, Evaluation of recommendations: rating-prediction and ranking, in:ACM,RecSys 2013, 213–220, 2013.[6] A. Said, A. Bellogín, Comparative Recommender System Evaluation: BenchmarkingRecommendationFrameworks,in: ACM RecSys, 129–136, 2014.[7] W. Krichene, S. Rendle, On Sampled Metrics for Item Recommendation, in: ACMSIGKDD,2020.[8] R. He, J. J. McAuley, Ups and Downs: Modeling the Visual Evolution of FashionTrendswith One-Class Collaborative Filtering, in: WWW 2016, 507–517, 2016.[9]Y. Koren, Factorization meets the neighborhood: a multifacetedcollaborativeflteringmodel, in: ACM, SIGKDD 2008, 426–434, 2008.[10] P. Huang, X. He, J. Gao, L. Deng, A. Acero, L. P. Heck, Learning deepstructuredsemanticmodels for web search using clickthrough data, in: CIKM, 2013.[11] X. He, L. Liao, H. Zhang, L. Nie, X. Hu, T. Chua, Neural CollaborativeFiltering,in:WWW, 2017, 173–182, 2017.[12] G. Zhou, X. Zhu, C. Song, Y. Fan, H. Zhu, X. Ma, Y. Yan, J. Jin, H. Li, K.Gai,DeepInterest Network for Click-Through Rate Prediction, in: ACM, SIGKDD,1059–1068,2018.[13] R. van den Berg, T. N. Kipf, M. Welling, Graph Convolutional MatrixCompletion,CoRRabs/1706.02263.

相關文章
相關標籤/搜索