NDCG、AUC介紹

https://blog.csdn.net/u014313009/article/details/38944687算法

SIGIR的一篇推薦算法論文中提到用NDCG和AUC做爲比較效果的指標,以前沒了解過這兩個指標,便查找相關概念,整理以下。搜索引擎


1、NDCG
1.DCG
       首先,介紹一下DCG。DCG的全稱是Discounted Cumulative Gain,它是衡量搜索引擎算法的一個指標。搜索引擎通常採用PI(per item)的方式進行評測,即逐條對搜索結果進行等級的打分。好比在Google搜索到一個詞,獲得5個結果。咱們對這些結果進行3個等級的區分:Good、Fair、Bad,對應的分值分別是三、二、1。假設這5個結果的分值分別是三、一、二、三、2。
       使用DCG這個統計方法有兩個前提:
       (1) 在搜索頁面中,相關度越高的結果排在前面越好。
       (2) 在PI標註時,等級高的結果比等級低的結果好。
在一個搜索結果的list裏面,假設有兩個結果的評級都是Good,可是第一個排在第一位,第二個排在第40位,雖然等級是同樣的,但排在40位的那個結果被用戶看到的機率比較小,對整個頁面的貢獻也要比第一個結果小不少。因此第二個結果的得分應該有所減小。DCG的計算公式以下:.net

其中,就是第 i 個結果的得分。 
2. NDCG
       由於不一樣的搜索結果的數量極可能不相等,因此不一樣搜索的DCG值不能直接作對比。解決的方法是比較NDCG。NDCG的定義以下:blog

   IDCG(Ideal DCG),即理想的DCG。舉上面的例子來講,5個搜索結果的分值是三、一、二、三、2,那麼DCG = 3 + (1+1.26+1.5+0.86 )=7.62。
       而IDCG下的分值排列順序是三、三、二、二、1,因此IDCG=3 + (3+1.26+1+0.43)=8.69。
       因此,NDCG = DCG / IDCG = 0.88。索引

2、AUC
1. ROC曲線
       ROC分析的是二元分類模型,即輸出結果只有兩種類別的模型。ROC空間將僞陽性率(FPR,False Position Rate)定爲X軸,真陽性率(TPR,True Position Rate)定爲Y軸。
      TPR = TP / ( TP + FN),表示在全部實際爲陽性的樣本中,被正確判斷爲陽性的比例。(TP:真陽性,FN:僞陰性)
       FPR = FP / ( FP + TN),表示在全部實際爲陰性的樣本中,被正確判斷爲陰性的比例。(TN:真陰性,FP:僞陽性)get

對於包含100個陽性和100個陰性的樣本,如下是4個分類器的結果:it

其中,ACC表示準確率。能夠把這四個分類器映射成ROC空間中的一個點,以下圖所示:io

能夠發現兩個規律:(1) 越靠近左上角的點,準確率越高。(2) 若是點位於(0,0)和(1,1)的連線下方,那麼一個有效的補救方法是把全部預測結果反向(即,若是輸出結果爲正類,則最終斷定爲負類;若是輸出結果爲負類,則斷定爲正類)。
       在同一個分類器內,設置不一樣的閾值則會產生不一樣的座標,這些座標連成的曲線叫作ROC曲線。
       當閾值被設定爲最高時,全部的樣本都被預測爲陰性,因此FP=0,TP=0,此時的FPR = FP / (FP+TN)=0,TPR = TP / (TP+FN) =0。這是座標爲(0,0)。
       當閾值被設定爲最低時,全部樣本都被預測爲陽性,同理可得:FPR=1,TPR=1,座標爲(1,1)。因此ROC曲線通過了(0,0)和(1,1)。搜索

2. AUC
       ROC曲線示例以下:方法

  爲了比較分類器的好壞,就將每一個曲線下的面積做爲比較,面積越大,則分類器效果越好。其中,這個面積就叫作AUC,全稱是Area Under the roc Curve(ROC曲線下面積)。————————————————版權聲明:本文爲CSDN博主「__鴻」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/u014313009/article/details/38944687

相關文章
相關標籤/搜索