1、RP
R(recall)表示召回率、查全率,指查詢返回結果中相關文檔佔全部相關文檔的比例;P(precision)表示準確率、精度,指查詢返回結果中相關文檔佔全部查詢結果文檔的比例;
則 PR 曲線呈現出負相關的降低趨勢;
通常來講,recall 和 precision 反映了模型性能的兩個方面,單一依靠某個指標並不能較爲全面的評價一個模型的性能。
此時引入 F-Score/F-measure 做爲綜合指標,平衡 recall 和 precision 的影響,較爲全面的評價一個模型。
其中,F1-Score 表示準確率和召回率同樣重要;F2-Score 表示召回率比準確率重要一倍;F0.5-Score 表示準確率比召回率重要一倍。
2、MAP
對 PR 曲線進行積分求曲線下方的面積,就是 AP(Average Precision),即
其中,p 表示 precision,r 表示 recall,p 是一個以 r 爲參數的函數,AP 的計算是對排序位置敏感的,相關文檔排序的位置越靠前,檢索出相關的文檔越多,AP 值越大。
近似計算約等於 AAP(Aproximate Average Precision):
其中,N 表明全部相關文檔的總數,p(k) 表示能檢索出 k 個相關文檔時的 precision 值,而 △r(k) 則表示檢索相關文檔個數從 k-1 變化到 k 時(經過調整閾值)recall 值的變化狀況。
rel(k) 表示第 k 個文檔是否相關,若相關則爲1,不然爲0,則能夠簡化公式爲:
其中,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)累計效益
其中 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,-1,1)和(-1,1,3),根據 CG 的計算公式得出的排名是相同的,可是顯然前者的排序好一些。
因此須要在 CG 計算的基礎上加入位置信息的計算,現假設根據位置的遞增,對應的價值遞減,爲 1/log2(i+1),其中 log2(i+1) 爲折扣因子;
另外一種增長相關度影響比重的 DCG 計算公式:
三、IDCG(ideal DCG)
理想狀況下,按照相關度從大到小排序,而後計算 DCG 能夠取得最大值狀況。
其中 |REL| 表示文檔按照相關度從大到小排序,取前 k 個文檔組成的集合。
四、NDCG(Normalized DCG)
因爲每一個查詢所能檢索到的結果文檔集合長度不一致,k 值的不一樣會影響 DCG 的計算結果。因此不能簡單的對不一樣查詢的 DCG 結果進行平均,須要先歸一化處理。
NDCG 就是利用 IDCG 進行歸一化處理,表示當前的 DCG 與理想狀況下的 IDCG 相差多大:
這樣每一個查詢的 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)
倒數排名,指檢索結果中第一個相關文檔的排名的倒數。
二、MRR(mean reciprocal rank)
多個查詢的倒數排名的均值,公式以下:
ranki 表示第 i 個查詢的第一個相關文檔的排名。
三、Cascade Model(瀑布模型)
點擊模型中的瀑布模型,考慮到在同一個檢索結果列表中各文檔之間的位置依賴關係,假設用戶從上至下查看,若是遇到某一檢索結果項滿意並進行點擊,則操做結束;不然跳過該項繼續日後查看。第 i 個位置的文檔項被點擊的機率爲:
其中 ri 表示第 i 個文檔被點擊的機率,前 i-1 個文檔則沒有被點擊,機率均爲 1-rj;
四、ERR(Expected reciprocal rank)
預期的倒數排名,表示用戶的需求被知足時中止的位置的倒數的指望,與 RR 計算第一個相關文檔的位置倒數不一樣。
首先用戶在位置 r 處中止的機率 PPr 計算公式以下:
其中 Ri 是關於文檔相關度等級的函數,現假設該函數爲:
當文檔是不相關的(g=0),則用戶檢索到相關文檔的機率爲0;而當文檔極其相關(g=4,若是相關度劃分5個等級)時,用戶檢索到相關文檔的機率接近於1。上面公式中的 g 表示文檔的相關度,參考 NDCG 中的 rel。
更通用一點來說,ERR 不必定是計算用戶需求知足時中止的位置的倒數的指望,它能夠是基於位置的函數
φ(r) ,只要知足 φ(0)=1,且隨着 r→∞,φ(r)→0。
ERR 的計算公式以下:
能夠看出,當 φ(r)=1/r 時就是 ERR,當 φ(r)=1/log2(r+1) 就是DCG。
參考連接:
by. Memento