如何評價一個好的推薦系統算法

        Netflix 在網上舉辦了一個挑戰賽,獎勵100萬美元向全世界選手提出一套電影的推薦系統,RMSE比當前系統小10%的最優秀的那支隊伍將獲得該獎項。

        但是如何評價一個更好的推薦系統?What do we mean by better?

        在Netflix Prize, 對系統的性能評價使用了用戶對電影的實際評分與推薦系統對每部電影預測評分之間的RMSE。如果說我們希望向人們展示他們可能對某部電影會有多喜歡,那RMSE越小自然越好。然而,這很可能不是我們想要的。用戶實際關注的很可能是他們最喜歡的top-K部電影,至於他們不喜歡的電影,誤差大一些無所謂。

        chen_1st在他的博客中舉了個例子,假定訓練集中某用戶有10個評分爲5的商品,1000個評分爲1的商品。在以RSME爲優化目標時,這1010個商品是同等重要的,因此,算法會花費更大的精力去保證評分爲1的商品的預測值儘量準確,相比之下,評分爲5的商品被忽視了。而對於Top-K推薦來說,算法實際上應該儘量保證評分爲5的商品的預測的準確性,評分爲1的商品的預測結果是無關緊要的。

        用RMSE做目標,預測的是用戶對每個商品感興趣的程度,而以Recall或者Precision爲目標,預測的是用戶最感興趣的商品有哪些,這是兩個完全不同的目標,爲優化RMSE而設計的算法不見得適用於top-n推薦。在CofiRank等文獻中,也有相關討論。

        相似地,在Web檢索中,用戶期望相關結果儘可能排在前面,因而往往以precision作爲評價指標。而在專利檢索中,用戶期望儘可能多地返回相關結果,因而recall更合適的評價指標。搜索引擎不關心所有的文本估計的誤差是否都很小,它只關心Top-K條結果是否十分準確。

        在論文《The Relationship Between Precision-Recall and ROC Curves》中,作者把chen_1st例子中的數據集叫做highly-skewed dataset。作者在文中表明,對於二分類問題,ROC曲線可以比accuracy更好地評價算法的效果,然而在highly-skewed dataset上,ROC曲線會得到overly optimistic performance。而此時Precision-Recall曲線則能更好地反映這種數據集下的算法性能。

 

Reference

      1.http://cacm.acm.org/blogs/blog-cacm/22925-what-is-a-good-recommendation-algorithm/fulltext

      2.http://hi.baidu.com/chen_1st/item/741319e9a83c61a52f140b9e

      3.The Relationship Between Precision-Recall and ROC Curves

 

------------------------------

jiang1st2010

原文地址:http://blog.csdn.net/jiang1st2010/article/details/8949910

發佈了40 篇原創文章 · 獲贊 43 · 訪問量 85萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章