推薦系統常用評估指標

AUC&GAUC

多用於ctr任務.
同普通二分類問題的評價, 定義及實現見參考[1].

Recall

多用於召回任務.

  • 描述
    預測的topN, 與 用戶實際點擊的交集大小, 除以 實際點擊的集合大小.
  • 公式
    recall@N=1UseruUser{predictTopN}{click}{click}(1)recall@N = \frac{1}{|User|} \sum_{u \in User} \frac { |\{predictTopN\}\cap \{click\} |} {|\{click\}|} \tag 1

HitRate

HR@N for short. [2] 中把它叫 HitRate.
HitRate@N=1UseruUserI({predictTopN}{click})(2)HitRate@N=\frac{1}{|User|} \sum_{u \in User} { I(\{predictTopN\}\cap \{click\}) } \tag 2
where II is an indicator function, 表明預測結果與 click 元素之間的交集 是否>0.

由式(2)可得, 當用戶的點擊元素爲1一個時, HitRate等價於Recall.

Mean Reciprocal Rank

MRR for short. 平均倒數排名.
有考慮推薦結果的次序.
MRR=1UseruUser1position(label)(2)MRR= \frac{1}{|User|} \sum_{u \in User} \frac {1}{position(label)} \tag 2
分母爲label在預測的top-K中的次序.

  • 討論, 當top-K中沒有命中lable, 此時分母按無窮大, 該樣本的得分爲0.

nDCG

有考慮推薦結果的次序.

討論

超大規模候選的召回任務

工業推薦系統中, 推薦池在千萬以上規模, 若用 tensorflow 在整個池子中召回, 內存等資源是不支持這麼玩的.
於是有些論文[3]的評測方法, 並不是讓predictor直接預測整個Item{Item}集合上的top-K, 而是準備好 1個label和99個負樣本, 讓其在該範圍內作top-K預測.

參考

  1. my blog, 分類指標,AUC,ROC
  2. SDM,SDM: Sequential Deep Matching Model for Online Large-scale Recommender System
  3. SDM: Sequential Deep Matching Model for Online Large-scale Recommender System
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章