close

1.Precision & Recall

2.F-Score

3.ROC Curve ( Receiver Operatng Characteristics)

4.Area under the ROC curve

5.Eleven-point interpolated average precision

5.MAP (Mean average precision)

 

Precision & Recall

 

在Information Retrieval 中,最直接用來衡量一個model的效能就是Precision & Recall

Precision : Tp / Tp + Fp , 即表示在所有Retrieve出的document中,有多少是Relevance.

 

Recall : Tp / Tp + Tn ,   即表示在所有Relevance的document中,有多少是被Retrieve到.

 

在理論上,Precision跟Recall之間是無絕對的對應關係,

 

但在實際應用上,通常Precision會隨著Retrieval document越多而遞減,而Recall則會遞增.

 

For Example(假設database中,relevance的document數目為10)


document

Positive/Negtive

Precision

Recall

1

+

1/1=100%

1/10=10%

2

+

2/2=100%

2/10=20%

3

-

2/3=67%

2/10=20%

4

+

3/4=75%

3/10=30%

...

...

...

...

 

 

而如果我們要使用單一個measure來evaluation搜尋的效能,

使用的通常為F-Score.

 

F-Score

 

F-score就是Precision與Recall的調和平均數(Harmonic Mean),

 

即 F = 2/(1/p + 1/r) = 2pr/(p+r)

 

而有時也會給予Precision及Recall不同的權重(weight)來進行計算,

 

即F = 2 / [a*(1/p)+(1-a)*(1/r)] = (b*b+1)pr / (b*b)p+r

 

若取b=1則F就等同於原來的式子,

 

若b>1,代表weight較偏重於Recall,

 

若0<b<1,代表weight較偏重於Precision.

 

前面所介紹的Precison & Recall 以及 F-score,針對的都是未排序的document,

 

但在實際的search engine中,所search的結果之間都是經過排序的,

 

因此就有人提出了 Eleven-point interpolated average precision, MAP(Mean Average Precision)

 

以及NDCG (normal discount cumulative gain).

 

ROC Curve

 

Y軸為True Positive (或稱為sensitivity或recall),而X軸為False Positive (或稱為1-Specificity),

 

一個Query的回傳結果分為兩個Part,一個為相關的set,另一個為不相關的set,

 

而True Positive指的就是相關的set在所有相關的document中佔有多大比例.[即 tp / (tp + tn)]

 

False Positive則是指不相關的set在所有不相關的document中佔有多大的比例.[即 fp /(fp+fn)]

 

當一個system越好時,則它的ROC Curve會較偏向於左邊.

 

關於此點,我們固定Y軸來看,若一個System的 Recall越高,則有兩種狀況,

 

第一:回傳的Result不大,但Corpus中的Relevance document有很高的比例都被retrieval到了.

 

第二:回傳的Result很大,讓Corpus中的Relevance document有很高的比例都被retrieval到了.

 

如果為第一點,則False positive會很低,因為回傳的結果有大部份都是不相關,則整個ROC curve會

 

往左邊靠,但如果是第二點,則False positive會很高,因為回傳的結果有大部份都是不相關,

 

此時ROC curve會往右邊偏移.

 

因此可得知,若一個System較好,則其ROC Curve必定較為偏向右邊.(即起伏較快)

 

以下圖來講,C的curve在回傳較少的result時便可達到100% recall,

 

而A curve相對來說則需要較多的result才能達到100% recall.

 

因此C 這個System相對於A來說,其performance是較好的.

 

F1.small.gif 

(ref:http://clincancerres.aacrjournals.org/content/12/23/6985.full)

 

 

Area under the ROC Curve (AUC):

 

AUC即是計算ROC Curve的曲線下面積(即下圖的A區域),

 

以下圖來看,假設HR(C)代表的是回傳的結果中佔所有相關document的比例,

 

而FAR(C)則是代表回傳的結果中佔有不相關document的比例,

 

則此曲線下的面積值,即是HR(C)*FAR(C)再由0積分到1.

 

而其道理同ROC Curve,若AUC的value較高,則表示一個System可正確的區分

 

正確及錯誤的狀況.

image008.gif 

(ref:http://www.acadametrics.co.uk/roc.htm)

 

 

 

Eleven-point interpolated average precision


11-point interpolated average precision是將Recall分為11個等級,

 

分別為 0.0 , 0.1 , 0.2 , 0.3 , ... , 1.0 , 分別表示全部資料的 0% , 10% , 20% , ... , 100%

 

而每個等級上的precision則取目前此點之後的Max precision,而為什麼要這樣子 , 因為在

 

11-point interpolated average precision上的一個基本假設是:如果我們可以增加View set中

 

relevance document 的比利的話, 那user都會想要去看更多的document.

 

由此方法所繪出的Precision-Recall Curve在某種程度上就可以看出不同方法在document

 

ranking上的好壞.

 

MAP (Mean average precision)


MAP 不同於11-point interpolated average precision,它提供了使用single value來判讀

 

不同method在document ranking上的好壞,

 

它的計算方式如下:

 

1.首先先計算個別Query所retrieval出的average precision.

 

2.再將每個Query所得的average precision求其算數平均數(Arithmetic Mean),所得即為MAP.

 

 

 

 

arrow
arrow
    全站熱搜

    JerryCheng 發表在 痞客邦 留言(0) 人氣()