這篇文章是筆者閱讀《深度學習推薦系統》第五章推薦系統的評估的學習筆記,在原文的基礎上增加了自己的理解以及內容的補充,在未來的日子裡會不斷完善這篇文章的相關工作。
離線評估
在離線環境中利用已有的資料劃分訓練集和測試集對模型進行評估
劃分資料集方法
機器學習常用劃分方法:Holdout法、交叉驗證、留一法、自助法
客觀評價指標
機器學習模型常用指標:準確率、精確率、召回率、均方根誤差、對數損失
對於推薦模型,點選率的預測(預測模型)正確與否並不是最終目標,最重要的是輸出一個使用者感興趣的物品列表(排序模型),排序模型是根據模型的輸出機率對興趣物品排序,因此應該採用適合評估排序序列的指標來評估模型。
P-R曲線
- why work(能夠更關注正樣本的分數)
P-R曲線是精確率-查全率曲線,精確率和查全率兩個指標都是關於正樣本的相關計算,當閾值設定高時,查全率低,此時得分越高的物品被優先推薦,而不是簡單的實現二分類,因此,P-R曲線更適合排序模型。
- 參考學習連結:
ROC/AUC
- why work
- 參考學習連結:【評價指標】ROC曲線與AUC-CSDN部落格
mAP
NDCG
[!NOTE]
編者提到了在真正的離線實驗中並不需要選擇過多的評價指標,更重要的是快速定位,排除不可行的思路。
A/B 測試
又稱為“分桶測試”、“分流測試”,設定單一變數,透過實驗組A與對照組B進行對比評估,是模型上線前的最後一道測試,與離線測試不同,離線測試無法消除有偏資料的影響,並且無法還原實際工程環境(資料丟失、網路延遲)
分桶原則
-
層與層之間正交:層與層之間的對照實驗時獨立的,不相互影響;
-
同層之間互斥:同一個資料用於不同的實驗組;
評估指標
與離線測試不同,線上測試能夠直接計算業務的核心指標,因此更注重對點選率、轉化率等實際業務之表的對比。
存在的問題
- A/B測試佔用了過多的資源,當新提出的模型推薦效果差時還會對使用者造成損害;
- 分組使用者樣本分佈不平衡
Interleaving
Interleaving是一種快速線上評估方法,在大量初始演算法中篩選出work的演算法再進行A/B測試,解決A/B測試在測試時樣本可能分佈不平衡的問題,對相同使用者給與兩種方案,看使用者更喜歡哪種(類似於chatgpt有時會給兩種方案看使用者更喜歡哪種)
缺點
- 需要大量的輔助性資料標識;
- 只能對演算法的相對評估;
靈敏度對比
需要多少樣本才可以評估不同演算法的優劣性,圖中可以看出, Interleaving 方法利用\(10^3\)個樣本就能判定演算法 A是否比 B 好,而 A/B 測試則需要\(10^5\)個樣本才能將 p-value 降到 5%以下。這就意味著利用一組 A/B 測試的資源,可以做 100 組 Interleaving 實驗,這無疑極大地加強了線上測試的能力。