1. 程式人生 > >learning to rank 評價指標 MAP NDCG

learning to rank 評價指標 MAP NDCG

MAP(Mean average precision):評價一個rank方法效能的一個指標,現在有很多query,首先看rank方法對各個query來說效能分別是怎麼樣的(也就是AP),再平均起來,就是MAP。AP怎麼算那?舉個例子,現有一個query,與之相關的文件有4——D1,D2,D3,D4,用rank方法檢索後,D2,D3,D4的排序分別是1,3,5;D1沒有搜尋到。那麼AP = (0 + 1/1 + 2/3 + 3/5)/ 4。發現了麼,第一,相關的卻沒檢索到,AP貢獻為0;分母裡1,3,5就是rank後的結果。都相加後再average,也就是除以4。

這個方法有個問題,沒有考慮到D1——D4他們之間的排序,只是看relevant,或者not。

NDCG(Normalized Discounted Cumulative Gain):例子:有D1,D2,D3,D4四個文件,還有一個query。在MAP中,四個文件和query要麼相關,要麼不相關,也就是相關度非0即1。這裡改進了下,相關度從0到r,r人為設定,這裡取3。對這個query,四個文件的相關性分別為2,3,1,0,理想狀況下排序應該為D2,D1,D3,D4(3,2,1,0),咱自己rank方法給出的排序為D1,D2,D4,D3(2,3,0,1)。這樣DCG值為:rel1/log2(1+1) + rel2/log2(2+1) + rel3/log2(3+1) / rel4/log2(4+1) = 2/log2(2) + 3/log2(3) + 0/log2(4) + 1/log2(5)。log2這項是權重,因為越往後,使用者越沒有心思看,文件的價值也越小;如果你把相關度大的反而排在了後面,那就比較慘了。

最後計算NDCG = 理想排序時的DCG值 / rank演算法得到的DCG = 【3/log2(2) + 2/log2(3) + 1/log2(4) + 0/log2(5)】 / 【2/log2(2) + 3/log2(3) + 0/log2(4) + 1/log2(5)】

NDCG MAP這樣的評價指標通常是非平滑(連續)的。

相關推薦

learning to rank 評價指標 MAP NDCG

MAP(Mean average precision):評價一個rank方法效能的一個指標,現在有很多query,首先看rank方法對各個query來說效能分別是怎麼樣的(也就是AP),再平均起來,就是MAP。AP怎麼算那?舉個例子,現有一個query,與之相關的文件有

Learning to Rank for IR的評價指標MAP,NDCG,MRR

MAP(Mean Average Precision):單個主題的平均準確率是每篇相關文件檢索出後的準確率的平均值。主集合的平均準確率(MAP)是每個主題的平均準確率的平均值。MAP 是反映系統在全部相關文件上效能的單值指標。系統檢索出來的相關文件越靠前(rank 越高),MAP就可能越高。如果系統沒有返回相

IR的評價指標MAP,NDCG,MRR

轉載自:http://www.cnblogs.com/eyeszjwang/articles/2368087.html MAP(Mean Average Precision):單個主題的平均準確率是每篇相關文件檢索出後的準確率的平均值。主集合的平均準確率(MAP)是每個主題的平均準確率的平均值。MAP 是反

IR的評價指標-MAP,NDCG和MRR

Map:相關性,1 or 0,計算排序後rank值 NDCG: 設定相關性等級(2^5-1, 2^4-1…) 計算累計增益值(嗯,就累加起來) 計算折算因子log(2)/log(1+rank) (越靠前的,越容易被點選) 歸一化到NDCG,為了不同等級上的搜

Learning to rank (software, datasets)

rdl n) gbrt comm eve ftw eva ext ros Datasets for ranking (LETOR datasets) MSLR-WEB10k and MSLR-WEB30k You’ll need much patien

Learning to Rank

pager ros base span 方式 disco 機器 osi containe https://www.cnblogs.com/wentingtu/archive/2012/03/13/2393993.html Table of Contents 1 前言

Learning to Rank(轉)

搜索 class 差異 https mode 表示 排序 cef hot https://blog.csdn.net/kunlong0909/article/details/16805889 Table of Contents 1 前言 2 LTR流程 3 訓練數據

learning to rank學習筆記

learning to rank是這幾年火起來的一個學科,可以應用於檢索、推薦等排序場景中。我們的業務場景大都和排序相關,那麼掌握住learning to rank就又多了一條解決業務問題的方法。 常見的排序演算法: 1.文字相關性計算方法:BM25,TF_IDF,word2vec等。

Learning to Rank for Information Retrieval

Learning to Rank for Information Retrieval(LETOR) 是Microsoft的一個資訊檢索相關度排序的資料集,有 Supervised ranking Semi-supervised ranking Rank aggregation Lis

機器學習排序之Learning to Rank簡單介紹

PS:文章主要轉載自CSDN大神hguisu的文章"機器學習排序":           http://blog.csdn.net/hguisu/article/details/7989489       最近需要完成課程作業——分散式排序學習系統.它是在

【學習排序】 Learning to Rank中Pointwise關於PRank演算法原始碼實現

最近終於忙完了Learning to Rank的作業,同時也學到了很多東西.我準備寫幾篇相關的文章簡單講述自己對它的理解和認識.第一篇準備講述的就是Learning to Rank中Pointwise的認識及PRank演算法的實現.主要從以下四個方面進行講述:     1.學

目標檢測效能評價指標mAP、Precision、Recall、IoU

一、mAP 1. TP,FP,FN,TN (1)TP(True positives):正確劃分正例個數;正->正; (2)FP(False positives):錯誤劃分正例個數;負->正; (3)FN(False negatives):錯誤劃分負例個數;

learning to rank學習

1. 什麼是learning to rank? 2. 如何訓練一個排序模型? 訓練預料產生 對訓練預料提取特徵,通常特徵包含tf/idf, click, bm25, pagerank等特徵 訓練模型,常見模型: pointwise pairwise listwi

Learning to Rank 簡介

非常好的一篇總結Learning to Rank的總結文章! 去年實習時,因為專案需要,接觸了一下Learning to Rank(以下簡稱L2R),感覺很有意思,也有很大的應用價值。L2R將機器學習的技術很好的應用到了排序中,並提出了一些新的理論和演算法,不僅有效地

Learning To Rank之LambdaMART的前世今生

1.       前言 我們知道排序在很多應用場景中屬於一個非常核心的模組,最直接的應用就是搜尋引擎。當用戶提交一個query,搜尋引擎會召回很多文件,然後根據文件與query以及使用者的相關程度對文件進行排序,這些文件如何排序直接決定了搜尋引擎的使用者體驗。其他重要的應

論文分享--- >Learning to Rank: From Pairwise Approach to Listwise Approach

本篇博文分享和總結下論文LearningtoRank:FromPairwiseApproachtoListwiseApproachLearning\ to\ Rank: From\ Pairwise\ Approach\ to\ Listwise\ Approa

【學習排序】 Learning to Rank 中Listwise關於ListNet演算法講解及實現

    程式碼如下:package listNet_xiuzhang; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import

目標檢測模型的評價指標 mAP

在使用機器學習解決實際問題時,通常有很多模型可用。每個模型都有自己的怪癖(quirks),並且基於各種因素,效能會有所不同。 模型效能的評定都是在某個資料集上進行的,通常這個資料集被稱為 “validation 或 test” 資料集。模型效能的評價常用的指標

Learning to Rank 中Listwise關於ListNet演算法講解及實現

    前一篇文章"Learning to Rank中Pointwise關於PRank演算法原始碼實現"講述了基於點的學習排序PRank演算法的實現.該篇文章主要講述Listwise Approach和基於神經網路的ListNet演算法及Java實現.包括:     1.基於列的學習排序(Listwise

目標檢測評價指標mAP 精準率和召回率

首先明確幾個概念,精確率,召回率,準確率 精確率precision 召回率recall 準確率accuracy 以一個實際例子入手,假設我們有100個腫瘤病人. 95個良性腫瘤病人,5個惡性腫瘤病人. 我們有一個檢測系統,去檢測一個腫瘤病人是否為惡性. 那麼,對我們的系統來說,有100個樣本,5個正樣本,