【推薦演算法】推薦系統的評估

九年义务漏网鲨鱼發表於2024-12-03

這篇文章是筆者閱讀《深度學習推薦系統》第五章推薦系統的評估的學習筆記,在原文的基礎上增加了自己的理解以及內容的補充,在未來的日子裡會不斷完善這篇文章的相關工作。

離線評估

在離線環境中利用已有的資料劃分訓練集和測試集對模型進行評估

劃分資料集方法

機器學習常用劃分方法:Holdout法、交叉驗證、留一法、自助法

客觀評價指標

機器學習模型常用指標:準確率、精確率、召回率、均方根誤差、對數損失

​ 對於推薦模型,點選率的預測(預測模型)正確與否並不是最終目標,最重要的是輸出一個使用者感興趣的物品列表(排序模型),排序模型是根據模型的輸出機率對興趣物品排序,因此應該採用適合評估排序序列的指標來評估模型。

P-R曲線

  • why work(能夠更關注正樣本的分數)

P-R曲線是精確率-查全率曲線,精確率和查全率兩個指標都是關於正樣本的相關計算,當閾值設定高時,查全率低,此時得分越高的物品被優先推薦,而不是簡單的實現二分類,因此,P-R曲線更適合排序模型。

  • 參考學習連結:

ROC/AUC

  • why work
  • 參考學習連結:【評價指標】ROC曲線與AUC-CSDN部落格

mAP

NDCG

[!NOTE]

編者提到了在真正的離線實驗中並不需要選擇過多的評價指標,更重要的是快速定位,排除不可行的思路。

A/B 測試

又稱為“分桶測試”、“分流測試”,設定單一變數,透過實驗組A與對照組B進行對比評估,是模型上線前的最後一道測試,與離線測試不同,離線測試無法消除有偏資料的影響,並且無法還原實際工程環境(資料丟失、網路延遲)

分桶原則

  • 層與層之間正交:層與層之間的對照實驗時獨立的,不相互影響;

  • 同層之間互斥:同一個資料用於不同的實驗組;

image

評估指標

與離線測試不同,線上測試能夠直接計算業務的核心指標,因此更注重對點選率、轉化率等實際業務之表的對比。

存在的問題

  1. A/B測試佔用了過多的資源,當新提出的模型推薦效果差時還會對使用者造成損害;
  2. 分組使用者樣本分佈不平衡

Interleaving

Interleaving是一種快速線上評估方法,在大量初始演算法中篩選出work的演算法再進行A/B測試,解決A/B測試在測試時樣本可能分佈不平衡的問題,對相同使用者給與兩種方案,看使用者更喜歡哪種(類似於chatgpt有時會給兩種方案看使用者更喜歡哪種)

image

缺點

  1. 需要大量的輔助性資料標識;
  2. 只能對演算法的相對評估;

靈敏度對比

需要多少樣本才可以評估不同演算法的優劣性,圖中可以看出, Interleaving 方法利用\(10^3\)個樣本就能判定演算法 A是否比 B 好,而 A/B 測試則需要\(10^5\)個樣本才能將 p-value 降到 5%以下。這就意味著利用一組 A/B 測試的資源,可以做 100 組 Interleaving 實驗,這無疑極大地加強了線上測試的能力。

image

相關文章