[LTR] 信息檢索評價指標(RP/MAP/DCG/NDCG/RR/ERR)

1、RP

R(recall)表示召回率、查全率,指查詢返回結果中相關文檔佔全部相關文檔的比例;P(precision)表示準確率、精度,指查詢返回結果中相關文檔佔全部查詢結果文檔的比例;
f9fa0f3c-e542-4bec-a51c-f1fbd4c1e2e4
 
45533e0d-4575-4428-909f-8a67872eebeb
則 PR 曲線呈現出負相關的降低趨勢;
058a9536-fe6c-4c21-84d5-467d9e35a456
通常來講,recall 和 precision 反映了模型性能的兩個方面,單一依靠某個指標並不能較爲全面的評價一個模型的性能。
此時引入 F-Score/F-measure 做爲綜合指標,平衡 recall 和 precision 的影響,較爲全面的評價一個模型。
22d25eb1-a548-4965-9bb7-1c62d7ceaf08
其中,F1-Score 表示準確率和召回率同樣重要;F2-Score 表示召回率比準確率重要一倍;F0.5-Score 表示準確率比召回率重要一倍。

2、MAP

對 PR 曲線進行積分求曲線下方的面積,就是 AP(Average Precision),即
9aa94817-14eb-43e6-937f-fe0e25281282
其中,p 表示 precision,r 表示 recall,p 是一個以 r 爲參數的函數,AP 的計算是對排序位置敏感的,相關文檔排序的位置越靠前,檢索出相關的文檔越多,AP 值越大。
近似計算約等於 AAP(Aproximate Average Precision):
5b39c9fe-d327-4543-82de-61f1cf73f4f1
其中,N 表明全部相關文檔的總數,p(k) 表示能檢索出 k 個相關文檔時的 precision 值,而 △r(k) 則表示檢索相關文檔個數從 k-1 變化到 k 時(經過調整閾值)recall 值的變化狀況。
rel(k) 表示第 k 個文檔是否相關,若相關則爲1,不然爲0,則能夠簡化公式爲:
984c61c5-337e-4d5b-ba7f-192e99eb3668
其中,N 表示相關文檔總數,position(i) 表示第 i 個相關文檔在檢索結果列表中的位置。
 
MAP(Mean Average Precision)即多個查詢的平均正確率(AP)的均值,從總體上反映模型的檢索性能。
 
下面舉一個例子來講明上述公式的計算:
查詢 query1 對應總共有4個相關文檔,查詢 query2 對應總共有5個相關文檔。當經過模型執行查詢一、2時,分別檢索出4個相關文檔(Rank=一、二、四、7)和3個相關文檔(Rank=一、三、5)。
則 query1AP=(1/1+2/2+3/4+4/7)/4=0.83,query2AP=(1/1+2/3+3/5+0+0)/5=0.45,最後 MAP=(0.83+0.45)/2=0.64。

3、NDCG

一、CG(Cumulative Gain)累計效益

7c723338-5b30-4824-99be-503c257250e7
其中 k 表示 k 個文檔組成的集合,rel 表示第 i 個文檔的相關度,例如相關度分爲如下幾個等級:
Relevance Rating Value
Perfect 5
Excellent 4
Good 3
Fair 2
Simple 1
Bad 0

二、DCG(Discounted Cumulative Gain)

在 CG 的計算中沒有考慮到位置信息,例如檢索到三個文檔的相關度依次爲(3,-11)和(-113),根據 CG 的計算公式得出的排名是相同的,可是顯然前者的排序好一些。
因此須要在 CG 計算的基礎上加入位置信息的計算,現假設根據位置的遞增,對應的價值遞減,爲 1/log2(i+1),其中 log2(i+1) 爲折扣因子
a4fe0c3e-f733-418c-a015-b14359025caf
另外一種增長相關度影響比重的 DCG 計算公式:
76654d8a-82be-4ce7-9f97-08f8d4e715fe
 

三、IDCG(ideal DCG)

理想狀況下,按照相關度從大到小排序,而後計算 DCG 能夠取得最大值狀況。
51869e97-3a06-40f1-ae79-dea40691e10a
其中 |REL| 表示文檔按照相關度從大到小排序,取前 k 個文檔組成的集合。
 

四、NDCG(Normalized DCG)

因爲每一個查詢所能檢索到的結果文檔集合長度不一致,k 值的不一樣會影響 DCG 的計算結果。因此不能簡單的對不一樣查詢的 DCG 結果進行平均,須要先歸一化處理。
NDCG 就是利用 IDCG 進行歸一化處理,表示當前的 DCG 與理想狀況下的 IDCG 相差多大:
baba3d13-fbd8-4448-9514-55ac759dbf34
這樣每一個查詢的 NDCG 均在 0-1 範圍內,不一樣查詢之間就能夠進行比較,求取多個查詢的平均 NDCG。

五、例子

經過一個計算示例來講明上面的公式,例如如今有一個 query={abc},返回下圖左列的 Ranked List,當假設用戶的選擇與排序結果無關,則根據相關度生成的累計增益以下圖所示:
  URL rel Gain(2reli-1) Cumulative Gain
#1 http://abc.go.com 5 31 31
#2 http://www.abctech.com 2 3 34=31+3
#3 http://abcnews.go.com/sections/ 4 15 49=31+3+15
#4 http://www.abc.net.au/ 4 15 64=31+3+15+15
#5 http://abcnews.com/ 4 15 79=31+3+15+15+15
#6 ... ... ... ...
如今考慮搜索結果排在前面的用戶會優先選擇,引入一個折算因子(discounting factor):1/(log(i+1)/log2) = log2/log(i+1)。
  URL rel Gain(2reli-1) Cumulative Gain DCG
#1 http://abc.go.com 5 31 31 31=31×1
#2 http://www.abctech.com 2 3 34=31+3 32.9=31+3×0.63
#3 http://abcnews.go.com/sections/ 4 15 49=31+3+15 40.4=32.9+15×0.50
#4 http://www.abc.net.au/ 4 15 64=31+3+15+15 46.9=40.4+15×0.43
#5 http://abcnews.com/ 4 15 79=31+3+15+15+15 52.7=46.9+15×0.39
#6 ... ... ... ... ...
而理想的狀況,根據相關度 rel 遞減排序後計算 DCG:
  URL rel Gain(2reli-1) IDCG(Max DCG)
#1 http://abc.go.com 5 31 31=31×1
#3 http://abcnews.go.com/sections/ 4 15 40.5=31+15×0.63
#4 http://www.abc.net.au/ 4 15 48.0=40.5+15×0.5
#5 http://abcnews.com/ 4 15 54.5=48.0+15×0.43
#7 http://abc.org/ 4 15 60.4=54.5+15×0.39
#9 ... ... ... ...
因此最終得出 NDCG 結果:
  URL rel Gain(2reli-1) Cumulative Gain DCG IDCG(Max DCG) NDCG
#1 http://abc.go.com 5 31 31 31=31×1 31=31×1 1=31/31
#2 http://www.abctech.com 2 3 34=31+3 32.9=31+3×0.63 40.5=31+15×0.63 0.81=32.9/40.5
#3 http://abcnews.go.com/sections/ 4 15 49=31+3+15 40.4=32.9+15×0.50 48.0=40.5+15×0.5 0.84=40.4/48.0
#4 http://www.abc.net.au/ 4 15 64=31+3+15+15 46.9=40.4+15×0.43 54.5=48.0+15×0.43 0.86=46.9/54.5
#5 http://abcnews.com/ 4 15 79=31+3+15+15+15 52.7=46.9+15×0.39 60.4=54.5+15×0.39 0.87=52.7/60.4
#6 ... ... ... ... ... ...  

4、ERR

一、RR(reciprocal rank)

倒數排名,指檢索結果中第一個相關文檔的排名的倒數。
9d0fa1c3-5446-4161-9bbb-b88811ff9b36

二、MRR(mean reciprocal rank)

多個查詢的倒數排名的均值,公式以下:
b9d4b10e-a0de-448d-8dd6-6962a57e7824
ranki 表示第 i 個查詢的第一個相關文檔的排名。

三、Cascade Model(瀑布模型)

點擊模型中的瀑布模型,考慮到在同一個檢索結果列表中各文檔之間的位置依賴關係,假設用戶從上至下查看,若是遇到某一檢索結果項滿意並進行點擊,則操做結束;不然跳過該項繼續日後查看。第 i 個位置的文檔項被點擊的機率爲:
48f5f9eb-dd78-4ad0-bb08-514712295384
其中 ri 表示第 i 個文檔被點擊的機率,前 i-1 個文檔則沒有被點擊,機率均爲 1-rj

四、ERR(Expected reciprocal rank)

預期的倒數排名,表示用戶的需求被知足時中止的位置的倒數的指望,與 RR 計算第一個相關文檔的位置倒數不一樣。
首先用戶在位置 r 處中止的機率 PPr 計算公式以下:
d9f84f88-933b-49dd-a6e2-0f470eb81386
其中 Ri 是關於文檔相關度等級的函數,現假設該函數爲:
3623a307-2760-4c02-806a-ea9ca4be5ceb
當文檔是不相關的(g=0),則用戶檢索到相關文檔的機率爲0;而當文檔極其相關(g=4,若是相關度劃分5個等級)時,用戶檢索到相關文檔的機率接近於1。上面公式中的 g 表示文檔的相關度,參考 NDCG 中的 rel。
更通用一點來說,ERR 不必定是計算用戶需求知足時中止的位置的倒數的指望,它能夠是基於位置的函數 φ(r) ,只要知足 φ(0)=1,且隨着 r→∞,φ(r)→0。
ERR 的計算公式以下:
29e3a765-0beb-4df5-beb1-010ac8a91b63
能夠看出,當 φ(r)=1/r 時就是 ERR,當 φ(r)=1/log2(r+1) 就是DCG。
 

參考連接:

 
 
by. Memento
相關文章
相關標籤/搜索