推薦系統常用測評方法和指標


摘要:

  測評方法:

    離線實驗

    在線實驗

  測評指標:

  1.用戶滿意度

    在線測評方法

  2.預測准確率

     2.1評分預測

     2.2TopN推薦

  3.覆蓋率(coverage)

  4.多樣性

  5.新穎性  

內容:

  

測評方法:

    離線實驗

    (1)通過日志系統獲得用戶行為數據,並按照一定格式生成一個標准的數據集;

    (2)將數據集按照一定的規則分成訓練集和測試集;

    (3)在訓練集上訓練用戶興趣模型,在測試集上進行預測;

     (4)通過事先定義的離線指標測評算法在測試集上的預測結果。

    

     離線實驗常見的預測指標:准確率,召回率,Fscore等

 

    在線實驗

         

在完成離線實驗和必要的用戶調查后,可以將推薦系統上線做AB測試
同樣有幾點需要注意:
(1)AB test 的好處是顯而易見的,可以公平獲得不同算法實際在線時的性能指標;
(2)AB test 和用戶調查一樣,同樣需要考慮到分布的隨機,盡量要將與最終指標有相關性的因素都列出來,總而言之就是切分流量是AB test 的關鍵;
(3)AB test 的一個重要缺點就是實驗周期長,這樣才能得到可靠的結果,因此AB test 不應該測試所有的算法,而是只測試在離線實驗和用戶調查中表現很好的算法
(4)如果有用戶標簽庫的話,會極大的幫助在線實驗。

4. 總結

一個新的推薦算法最終上線,需要完成上面所說的3個實驗:
(1)首先,需要通過離線實驗證明它在很多離線指標上優於現有的算法;
(2)然后,需要通過用戶調查確定它的用戶滿意度不低於現有的算法;
(3)最后,通過在線等AB測試確定它在我們關心的指標上優於現有的算法。

 

測評指標

  1.用戶滿意度

     在線測評方法:主要通過用戶行為的統計(點擊,停留時間,轉化率)或者通過用戶反饋(滿意,不滿意)

  2.預測准確率

    2.1評分預測

   定義:預測用戶對物品的評分的行為

   指標:
    均方根誤差(RMSE):

    

    平均絕對誤差(MAE):

    

   其中Rui是用戶u對物品i的實際評分,hat(Rui)是推薦系統預測的用戶u對物品i的預測評分;|T|是總記錄數

    2.2TopN推薦

   定義:TopN推薦是通過給用戶一個前N個喜好物品的推薦列表,TopN推薦的預測率一般通過准確率(precision)/召回率(recall)度量

   指標:

    准確率:

    

    召回率:

     

    其中R(u)是根據用戶在訓練集中的行為給出的推薦列表,T(u)是根據用戶在測試集中的行為給出的推薦列表

    預測率:

     rate = Precision / Recall

    平均准確率:

     

    參考鏈接(https://www.kaggle.com/wiki/MeanAveragePrecision

  3.覆蓋率(coverage)

   定義:度量了一個推薦系統挖掘長尾商品的能力

   指標:

    指標1:

    

    其中U是用戶集合,I是物品集合,R(u)是為用戶u推薦的N個物品的集合

    統計分布的指標:

    信息熵

    ,其中p(i)是物品i的流行度比上所有物品的流行度

    基尼系數(不同於CART中gini 系數):

    其中p(Ij)是降序的物品流行度字典的第j個物品的流行度

      

  4.多樣性(Diversity)

    定義:推薦系統中物品兩兩之間的不相似性

    指標:

     用戶u的推薦列表R(u)的多樣性:

      ,其中s(i,j)是物品i,j的相似度

     推薦系統的整體多樣性:

     ,即所有用戶推薦列表多樣性的平均值

 

  5.新穎性

      定義:給用戶推薦以前沒有接觸過的物品的度量

      指標:平均流行度(越高,新穎性越低)

選擇不同維度,對推薦系統進行測評

 

我的python代碼:https://github.com/Tongzhenguo/Python-Project/tree/master/recommendsys/measurement_index


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM