机器学里面的一些概念-召回率,精确度等的介绍
準(zhǔn)確率召回率
http://blog.sina.com.cn/s/blog_4b59de070100ehl7.html
最近一直在做相關(guān)推薦方面的研究與應(yīng)用工作,召回率與準(zhǔn)確率這兩個(gè)概念偶爾會(huì)遇到,
知道意思,但是有時(shí)候要很清晰地向同學(xué)介紹則有點(diǎn)轉(zhuǎn)不過彎來。
召回率和準(zhǔn)確率是數(shù)據(jù)挖掘中預(yù)測(cè)、互聯(lián)網(wǎng)中的搜索引擎等經(jīng)常涉及的兩個(gè)概念和指標(biāo)。
召回率:Recall,又稱“查全率”——還是查全率好記,也更能體現(xiàn)其實(shí)質(zhì)意義。
準(zhǔn)確率:Precision,又稱“精度”、“正確率”。
以檢索為例,可以把搜索情況用下圖表示:
| ? | 相關(guān) | 不相關(guān) |
| 檢索到 | A | B |
| 未檢索到 | C | D |
?
?
A:檢索到的,相關(guān)的??????????????? (搜到的也想要的)
B:檢索到的,但是不相關(guān)的????????? (搜到的但沒用的)
C:未檢索到的,但卻是相關(guān)的??????? (沒搜到,然而實(shí)際上想要的)
D:未檢索到的,也不相關(guān)的????????? (沒搜到也沒用的)
如果我們希望:被檢索到的內(nèi)容越多越好,這是追求“查全率”,即A/(A+C),越大越好。
如果我們希望:檢索到的文檔中,真正想要的、也就是相關(guān)的越多越好,不相關(guān)的越少越好,
這是追求“準(zhǔn)確率”,即A/(A+B),越大越好。
“召回率”與“準(zhǔn)確率”雖然沒有必然的關(guān)系(從上面公式中可以看到),在實(shí)際應(yīng)用中,是相互制約的。
要根據(jù)實(shí)際需求,找到一個(gè)平衡點(diǎn)。
往往難以迅速反應(yīng)的是“召回率”。我想這與字面意思也有關(guān)系,從“召回”的字面意思不能直接看到其意義。
“召回”在中文的意思是:把xx調(diào)回來。“召回率”對(duì)應(yīng)的英文“recall”,
recall除了有上面說到的“order sth to return”的意思之外,還有“remember”的意思。
Recall:the ability to remember sth. that you have learned or sth. that has happened in the past.當(dāng)我們問檢索系統(tǒng)某一件事的所有細(xì)節(jié)時(shí)(輸入檢索query查詢?cè)~),
Recall指:檢索系統(tǒng)能“回憶”起那些事的多少細(xì)節(jié),通俗來講就是“回憶的能力”。
“能回憶起來的細(xì)節(jié)數(shù)” 除以 “系統(tǒng)知道這件事的所有細(xì)節(jié)”,就是“記憶率”,
也就是recall——召回率。簡單的,也可以理解為查全率。
??根據(jù)自己的知識(shí)總結(jié)的,定義應(yīng)該肯定對(duì)了,在某些表述方面可能有錯(cuò)誤的地方。
假設(shè)原始樣本中有兩類,其中:
1:總共有 P個(gè)類別為1的樣本,假設(shè)類別1為正例。?
2:總共有N個(gè)類別為0 的樣本,假設(shè)類別0為負(fù)例。?
經(jīng)過分類后:
3:有 TP個(gè)類別為1 的樣本被系統(tǒng)正確判定為類別1,FN 個(gè)類別為1 的樣本被系統(tǒng)誤判定為類別 0,
顯然有P=TP+FN;?
4:有 FP 個(gè)類別為0 的樣本被系統(tǒng)誤判斷定為類別1,TN 個(gè)類別為0 的樣本被系統(tǒng)正確判為類別 0,
顯然有N=FP+TN;?
?
那么:
精確度(Precision):
P = TP/(TP+FP) ;? 反映了被分類器判定的正例中真正的正例樣本的比重(?
?
準(zhǔn)確率(Accuracy)
A = (TP + TN)/(P+N) = (TP + TN)/(TP + FN + FP + TN);????
反映了分類器統(tǒng)對(duì)整個(gè)樣本的判定能力——能將正的判定為正,負(fù)的判定為負(fù)?
?
召回率(Recall),也稱為 True Positive Rate:
R = TP/(TP+FN) = 1 - FN/T;? 反映了被正確判定的正例占總的正例的比重?
?
轉(zhuǎn)移性(Specificity,不知道這個(gè)翻譯對(duì)不對(duì),這個(gè)指標(biāo)用的也不多),
也稱為 True NegativeRate?
S = TN/(TN + FP) = 1 – FP/N;?? 明顯的這個(gè)和召回率是對(duì)應(yīng)的指標(biāo),
只是用它在衡量類別0 的判定能力。?
?
F-measure or balanced F-score
F = 2 *? 召回率 *? 準(zhǔn)確率/ (召回率+準(zhǔn)確率);這就是傳統(tǒng)上通常說的F1 measure,
另外還有一些別的F measure,可以參考下面的鏈接?
?
上面這些介紹可以參考:?
http://en.wikipedia.org/wiki/Precision_and_recall
同時(shí),也可以看看:http://en.wikipedia.org/wiki/Accuracy_and_precision
?
為什么會(huì)有這么多指標(biāo)呢?
??????? 這是因?yàn)槟J椒诸惡蜋C(jī)器學(xué)習(xí)的需要。判斷一個(gè)分類器對(duì)所用樣本的分類能力或者在不同的應(yīng)用場(chǎng)合時(shí),
需要有不同的指標(biāo)。 當(dāng)總共有個(gè)100 個(gè)樣本(P+N=100)時(shí),假如只有一個(gè)正例(P=1),
那么只考慮精確度的話,不需要進(jìn)行任何模型的訓(xùn)練,直接將所有測(cè)試樣本判為正例,
那么 A 能達(dá)到 99%,非常高了,但這并沒有反映出模型真正的能力。另外在統(tǒng)計(jì)信號(hào)分析中,
對(duì)不同類的判斷結(jié)果的錯(cuò)誤的懲罰是不一樣的。舉例而言,雷達(dá)收到100個(gè)來襲 導(dǎo)彈的信號(hào),
其中只有 3個(gè)是真正的導(dǎo)彈信號(hào),其余 97 個(gè)是敵方模擬的導(dǎo)彈信號(hào)。假如系統(tǒng)判斷 98 個(gè)
(97 個(gè)模擬信號(hào)加一個(gè)真正的導(dǎo)彈信號(hào))信號(hào)都是模擬信號(hào),那么Accuracy=98%,
很高了,剩下兩個(gè)是導(dǎo)彈信號(hào),被截掉,這時(shí)Recall=2/3=66.67%,
Precision=2/2=100%,Precision也很高。但剩下的那顆導(dǎo)彈就會(huì)造成災(zāi)害。?
?
因此在統(tǒng)計(jì)信號(hào)分析中,有另外兩個(gè)指標(biāo)來衡量分類器錯(cuò)誤判斷的后果:
漏警概率(Missing Alarm)
MA = FN/(TP + FN) = 1 – TP/T = 1 - R;? 反映有多少個(gè)正例被漏判了
(我們這里就是真正的導(dǎo)彈信號(hào)被判斷為模擬信號(hào),可見MA此時(shí)為 33.33%,太高了)?
?
虛警概率(False Alarm)
FA = FP / (TP + FP) = 1 – P;反映被判為正例樣本中,有多少個(gè)是負(fù)例。?
?????? 統(tǒng)計(jì)信號(hào)分析中,希望上述的兩個(gè)錯(cuò)誤概率盡量小。而對(duì)分類器的總的懲罰舊
是上面兩種錯(cuò)誤分別加上懲罰因子的和:COST = Cma *MA + Cfa * FA。
不同的場(chǎng)合、需要下,對(duì)不同的錯(cuò)誤的懲罰也不一樣的。像這里,我們自然希望對(duì)漏警的懲罰大,
因此它的懲罰因子 Cma 要大些。?
???? ? 個(gè)人觀點(diǎn):雖然上述指標(biāo)之間可以互相轉(zhuǎn)換,但在模式分類中,
一般用 P、R、A 三個(gè)指標(biāo),不用MA和 FA。而且統(tǒng)計(jì)信號(hào)分析中,也很少看到用 R 的。
?
好吧,其實(shí)我也不是IR專家,但是我喜歡IR,最近幾年國內(nèi)這方面研究的人挺多的,google和百度的強(qiáng)勢(shì),也說明了這個(gè)方向的價(jià)值。當(dāng)然,如果你是學(xué)IR的,不用看我寫的這些基礎(chǔ)的東西咯。如果你是初學(xué)者或者是其他學(xué)科的,正想了解這些科普性質(zhì)的知識(shí),那么我這段時(shí)間要寫的這個(gè)"信息檢索X科普"系列也許可以幫助你。(我可能寫的不是很快,見諒)
至于為什么名字中間帶一個(gè)字母X呢??
為什么先講Precision和Recall呢?因?yàn)镮R中很多算法的評(píng)估都用到Precision和Recall來評(píng)估好壞。所以我先講什么是"好人",再告訴你他是"好人"
查準(zhǔn)與召回(Precision & Recall)
先看下面這張圖來理解了,后面再具體分析。下面用P代表Precision,R代表Recall
? ?
? ?
通俗的講,Precision?就是檢索出來的條目中(比如網(wǎng)頁)有多少是準(zhǔn)確的,Recall就是所有準(zhǔn)確的條目有多少被檢索出來了。
下面這張圖介紹True Positive,False Negative等常見的概念,P和R也往往和它們聯(lián)系起來。
? ?
我們當(dāng)然希望檢索的結(jié)果P越高越好,R也越高越好,但事實(shí)上這兩者在某些情況下是矛盾的。比如極端情況下,我們只搜出了一個(gè)結(jié)果,且是準(zhǔn)確的,那么P就是100%,但是R就很低;而如果我們把所有結(jié)果都返回,那么必然R是100%,但是P很低。
因此在不同的場(chǎng)合中需要自己判斷希望P比較高還是R比較高。如果是做實(shí)驗(yàn)研究,可以繪制Precision-Recall曲線來幫助分析(我應(yīng)該會(huì)在以后介紹)。
? ?
? ?
F1? Measure
前面已經(jīng)講了,P和R指標(biāo)有的時(shí)候是矛盾的,那么有沒有辦法綜合考慮他們呢?我想方法肯定是有很多的,最常見的方法應(yīng)該就是F Measure了,有些地方也叫做F Score,都是一樣的。
F Measure是Precision和Recall加權(quán)調(diào)和平均:
F = (a^2+1)P*R / a^2P +R
當(dāng)參數(shù)a=1時(shí),就是最常見的F1了:
F1 = 2P*R / (P+R)
很容易理解,F1綜合了P和R的結(jié)果。
轉(zhuǎn)載于:https://www.cnblogs.com/Lxiaojiang/p/3584597.html
總結(jié)
以上是生活随笔為你收集整理的机器学里面的一些概念-召回率,精确度等的介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC:@helper
- 下一篇: struts2注解json 配置