一、RP
R(recall)表示召回率、查全率,指查詢返回結果中相關文檔占所有相關文檔的比例;P(precision)表示准確率、精度,指查詢返回結果中相關文檔占所有查詢結果文檔的比例;
則 PR 曲線呈現出負相關的下降趨勢;
此時引入 F-Score/F-measure 作為綜合指標,平衡 recall 和 precision 的影響,較為全面的評價一個模型。
其中,F1-Score 表示准確率和召回率一樣重要;F2-Score 表示召回率比准確率重要一倍;F0.5-Score 表示准確率比召回率重要一倍。
二、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個相關文檔。當通過模型執行查詢1、2時,分別檢索出4個相關文檔(Rank=1、2、4、7)和3個相關文檔(Rank=1、3、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。
三、NDCG
1、CG(Cumulative Gain)累計效益
其中 k 表示 k 個文檔組成的集合,rel 表示第 i 個文檔的相關度,例如相關度分為以下幾個等級:
2、DCG(Discounted Cumulative Gain)
在 CG 的計算中沒有考慮到位置信息,例如檢索到三個文檔的相關度依次為(3,-1,1)和(-1,1,3),根據 CG 的計算公式得出的排名是相同的,但是顯然前者的排序好一些。
所以需要在 CG 計算的基礎上加入位置信息的計算,現假設根據位置的遞增,對應的價值遞減,為 1/log2(i+1),其中 log2(i+1) 為折扣因子;
另一種增加相關度影響比重的 DCG 計算公式:
3、IDCG(ideal DCG)
理想情況下,按照相關度從大到小排序,然后計算 DCG 可以取得最大值情況。
其中 |REL| 表示文檔按照相關度從大到小排序,取前 k 個文檔組成的集合。
4、NDCG(Normalized DCG)
由於每個查詢所能檢索到的結果文檔集合長度不一致,k 值的不同會影響 DCG 的計算結果。所以不能簡單的對不同查詢的 DCG 結果進行平均,需要先歸一化處理。
NDCG 就是利用 IDCG 進行歸一化處理,表示當前的 DCG 與理想情況下的 IDCG 相差多大:
這樣每個查詢的 NDCG 均在 0-1 范圍內,不同查詢之間就可以進行比較,求取多個查詢的平均 NDCG。
5、例子
通過一個計算示例來說明上面的公式,例如現在有一個 query={abc},返回下圖左列的 Ranked List,當假設用戶的選擇與排序結果無關,則根據相關度生成的累計增益如下圖所示:
現在考慮搜索結果排在前面的用戶會優先選擇,引入一個折算因子(discounting factor):1/(log(i+1)/log2) = log2/log(i+1)。
四、ERR
1、RR(reciprocal rank)
倒數排名,指檢索結果中第一個相關文檔的排名的倒數。
2、MRR(mean reciprocal rank)
多個查詢的倒數排名的均值,公式如下:
ranki 表示第 i 個查詢的第一個相關文檔的排名。
3、Cascade Model(瀑布模型)
點擊模型中的瀑布模型,考慮到在同一個檢索結果列表中各文檔之間的位置依賴關系,假設用戶從上至下查看,如果遇到某一檢索結果項滿意並進行點擊,則操作結束;否則跳過該項繼續往后查看。第 i 個位置的文檔項被點擊的概率為:
其中 ri 表示第 i 個文檔被點擊的概率,前 i-1 個文檔則沒有被點擊,概率均為 1-rj;
4、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 的計算公式如下:
參考鏈接:
by. Memento