排序指标NDCG

NDCG(Normalized distributed cumulative gain),用来衡量排序质量的指标。
计算公式为:
排序指标NDCG_第1张图片

NDCG的计算:CG–>DCG–>NDCG

CG:网页gain的累加。gain可以是自己定义的,用来衡量网页的相关程度。在NDCG中,相关度分成从0到r+1的等级(r是可设定的):

=2r1

例如现在有一个query={abc},返回下图左列的Ranked List(URL)。这里假设用户的选择与排序结果无关(每一级都等概率地被选中)。则生成的累计增益值如下:
排序指标NDCG_第2张图片
DCG:考虑到一般情况下,用户会优先选择排在前面的搜索结果,所以应该引入一个折算因子(distributed factor:):
log(2)log(1+rank)

这样,就得到了DCG值:
排序指标NDCG_第3张图片
不同等级上的搜索结果得分没有可比性,所以需要将DCG值归一化为NDCG值。
首先计算理想返回结果List的DCG值,然后用DCG/MaxDCG就得到NDCG值:
排序指标NDCG_第4张图片

NDCG的理解:对于搜索引擎,用户搜一个query,引擎返回一个结果列表,对于这个返回列表的质量评价需要考虑:
1. 由于用户的普遍阅读习惯是从上到下,所以越相关的结果应该放在越靠前的位置;
2. 整个返回列表结果应该尽可能与query相关。
在NDCG中,首先计算gain(即每条结果的质量定义),NDCG把所有结果的gain相加,保证了结果整体的质量(条件二);同时,distributed的设计使得越靠前的结果权重越高,保证了条件一

【参考】
http://www.cnblogs.com/eyeszjwang/articles/2368087.html
http://www.cnblogs.com/HappyAngel/p/3535919.html

你可能感兴趣的:(搜索,搜索)