理解NDCG


  關於NDCGwiki給點解釋很詳細,這里我談談我的理解。

   NDCGNormalized discounted cumulative gain):是用來衡量排序質量的指標。

  其中一種計算公式如下:

    

  先從理解CG,DCG入手。CGcumulative gain),累積獲得,指的是網頁gain的累加。例如:

     
其是個不斷累加的值,gain可以使自己定義的一種獲得,用來衡量網頁的相關性程度,上圖中的gain定義如下:

    

  DCGDiscounted Cumulative Gain),Discountedfactor為:

    

  那么,NDCG就是被IDEA DCG規格化的值,即DCG/IDCG

  NDCG如何理解?對於搜索引擎,本質是用戶搜一個query,引擎返回一個結果列表,那么如何衡量這個結果列表的好壞?我能夠想到的是:

  1. 我們希望把最相關的結果放到排名最靠前的位置,因為大部分用戶都是從上往下閱讀的,那么最相關的在前面可以最大程度減少用戶的閱讀時間;
  2. 我們希望整個列表的結果盡可能的和query相關;

  第一個條件的滿足是首要的,而第二個條件的加入是保證整體結果質量,而這兩個條件都體現在了NDCG里面,首先,計算NDCG,需要計算Gain這個gain即是每條結果的質量的定義NDCG把所有結果相加最終相加保證,整體質量越高的列表NDCG值越大。同時,Discounted的設計使得越靠前的結果權重越大,這保證了第一條,更相關的排在靠前的結果會有更大的NDCG值。從這兩點看,以NDCG為優化目標,保證了搜索引擎在返回結果總體質量好的情況下,把更高質量結果排在更前面。

  NDCG提供了一種計算方式,當我們有其他排名類似的需求的時候,NDCG都是值得參考的,其Gain以及Discounted的計算的變化可以產生很多其他有價值的metrics

 

參考文獻:

http://en.wikipedia.org/wiki/NDCG


免責聲明!

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



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