參考:http://en.wikipedia.org/wiki/Discounted_cumulative_gain
Normalized Discounted Cumulative Gain:一種對搜索引擎或相關程序有效性的度量。
2個假設:
1.強相關的文檔出現在結果列表越靠前(rank越高)越有用。
2.強相關文檔比弱相關文檔有用,比不相關文檔有用。
DCG來源於一個更早的、更基礎的方法---CG。
CG不考慮結果集中的序信息,單純把分級相關度相加。位置P處的CG值是:
是搜索結果列表的位置i處結果的分級相關度。
改變搜索結果的位置順序不會影響p的CG值。也就是說:移動一個相關性高的文檔到一個評級較高但相關性不大的文檔上面不改變CG的值。
DCG取代CG作為一個更准確的測量方法。
如果一個強相關的文檔排名靠后則應該受到懲罰,位置P處的DCG值是:
另一個DCG計算公式更加強調相關性
若分級相關度只在0和1取二值的話,二公式效果相同
nDCG
根據Query的不同,結果列表的長度也不同,所以這一度量考慮了正規化問題
IDCGp(Ideal DCG)是在一個完美的排序下,p所具有的最大DCG值
這樣一來無論Query是什么,nDCG都可以得到一個平均值,因此不同的Query之間的效能就可以做比較了。
完美的排序算法會使DCGp和IDCGp相同,從而使nDCGp為1,nDCG的取值在0到1之間
例:
結果列表中的6篇文檔D1,D2,D3,D4,D5,D6,判定了他們的相關度是3,2,3,0,1,2,則:
一個理想的排序應該是:3,3,2,2,1,0,所以
nDCG的缺點是:當排序的數很少(比如:只有1-3個),那么任何排序的nDCG值都比較接近,所以可以考慮使用AUC(area under the ROC curve)。
AUC學習參考文章:http://blog.csdn.net/chjjunking/article/details/5933105