MAP(Mean Average Precision):
MAP(Mean Average Precision):
??? 單個主題的平均準確率是每篇相關文檔檢索出后的準確率的平均值。主集合的平均準確率(MAP)是每個主題的平均準確率的平均值。MAP 是反映系統在全部相關文檔上性能的單值指標。系統檢索出來的相關文檔越靠前(rank 越高),MAP就可能越高。如果系統沒有返回相關文檔,則準確率默認為0。
例如:假設有兩個主題,主題1有4個相關網頁,主題2有5個相關網頁。某系統對于主題1檢索出4個相關網頁,其rank分別為1, 2, 4, 7;對于主題2檢索出3個相關網頁,其rank分別為1,3,5。對于主題1,平均準確率為(1/1+2/2+3/4+4/7)/4=0.83。對于主題2,平均準確率為(1/1+2/3+3/5+0+0)/5=0.45。則MAP= (0.83+0.45)/2=0.64。”
NDCG(Normalized Discounted Cumulative Gain):
計算相對復雜。對于排在結位置n處的NDCG的計算公式如下圖所示:
(應該還有r=1那一級,原文檔有誤,不過這里不影響理解)
例如現在有一個query={abc},返回下圖左列的Ranked List(URL),當假設用戶的選擇與排序結果無關(即每一級都等概率被選中),則生成的累計增益值如下圖最右列所示:
考慮到一般情況下用戶會優先點選排在前面的搜索結果,所以應該引入一個折算因子(discounting factor): log(2)/log(1+rank)。這時將獲得DCG值(Discounted Cumulative Gain)如下如所示:
最后,為了使不同等級上的搜索結果的得分值容易比較,需要將DCG值歸一化的到NDCG值。操作如下圖所示,首先計算理想返回結果List的DCG值:
然后用DCG/MaxDCG就得到NDCG值,如下圖所示:
總結
以上是生活随笔為你收集整理的MAP(Mean Average Precision):的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LambdaMART的源码分析:一(MA
- 下一篇: GBDT(Gradient Boosti