疑惑
你和小白對(duì)算法進(jìn)行了升級(jí),但這次算法升級(jí)管用嗎?
怎么才能對(duì)算法模型進(jìn)行客觀的評(píng)價(jià)呢?
于是你又一次給“人工智能人話翻譯官”發(fā)了郵件。很快翻譯官做了詳盡的回復(fù)。
解惑
我們可以從一個(gè)醫(yī)療的列子,對(duì)算法模型如何評(píng)價(jià)做一個(gè)說(shuō)明。
我們拿到一批醫(yī)院用來(lái)教學(xué)用的x光片,其中20人為有病的患者,80人為健康的人,一共100人。
我們分別用P與N代表
P(condition positive)
the number of real positive cases in the data。
Positive : sick
本例中對(duì)應(yīng)的數(shù)字為20
N(condition negative )
the number of real negative cases in the data。
Negative : healthy
本例中對(duì)應(yīng)的數(shù)字為80
然后我們找一位大夫來(lái)對(duì)這批X光進(jìn)行判斷,得到結(jié)果如下:
這里我們用P', N'來(lái)表示預(yù)測(cè)的結(jié)果。
P' 22人
該大夫預(yù)測(cè)有病的患者為22人
其中預(yù)測(cè)對(duì)了18人,錯(cuò)了4人
N' 78人
該大夫預(yù)測(cè)健康的有78人
其中預(yù)測(cè)對(duì)了76人,錯(cuò)了2人
然后我們就可以根據(jù)這批數(shù)據(jù)以及該大夫的預(yù)測(cè)結(jié)果構(gòu)造以下矩陣:

把數(shù)據(jù)帶入該矩陣:

接下來(lái)就是重點(diǎn)了:
根據(jù)該醫(yī)生的判斷,有多少病人要被召回醫(yī)院進(jìn)行治療呢,這個(gè)比例為多少?
這個(gè)比例很形象稱為“召回率”。
有的資料也稱為:
真陽(yáng)性率(True Positive Rate,TPR),靈敏度(Sensitivity)說(shuō)的都是一回事。
那么這個(gè)醫(yī)生漏診多少人,比例為多少?
醫(yī)生把2個(gè)有病的人預(yù)測(cè)為健康,意味該醫(yī)生漏診了兩個(gè)人。FNR就代表了漏診的比例。
這個(gè)比例形象的成為“漏診率”
有的資料也稱為:
假陰性率(False Negatice Rate,F(xiàn)NR)
漏診率( = 1 - 靈敏度)
那么這個(gè)醫(yī)生誤診多少人,比例為多少?
醫(yī)生把4個(gè)健康的人的人預(yù)測(cè)為有病,意味該醫(yī)生誤診了兩個(gè)人。FPR就代表了誤診的比例。
這個(gè)比例形象的成為“誤診率”
有的資料也稱為:
假陽(yáng)性率(False Positice Rate,F(xiàn)PR),誤診率( = 1 - 特異度)
最后該醫(yī)生把真實(shí)健康的人,預(yù)測(cè)為健康的有76人。這個(gè)比例是多少呢?
這個(gè)比例被稱為:
真陰性率(True Negative Rate,TNR),特異度(Specificity)
好了,你可以這四個(gè)維度來(lái)評(píng)價(jià)該醫(yī)生預(yù)測(cè)結(jié)果的好壞程度??茨愀P(guān)心哪一個(gè)維度了?
好了,你可以把這個(gè)醫(yī)生換成算法模型了。用這幾個(gè)維度也可以評(píng)價(jià)該算法模型的優(yōu)劣程度了。
戀愛(ài)成功為P。
戀愛(ài)失敗為N。
得到以下評(píng)價(jià)矩陣:
image.png
其實(shí)還有以下多重組合,就看你更關(guān)心什么指標(biāo)了:

除此之外:還可以使用ACC(accuracy)。
ACC (accuracy)稱為:判對(duì)準(zhǔn)確率。
也就是針對(duì)P與N你預(yù)測(cè)對(duì)的人數(shù)與總體樣本人數(shù)的比例。
BTW:
accuracy paradox:
假設(shè)有100個(gè)樣本,99個(gè)反例,只有1個(gè)正例。如果我的模型不分青紅皂白對(duì)任意一個(gè)樣本都預(yù)測(cè)是反例,那么我的模型的accuracy是 “正確的個(gè)數(shù)/總個(gè)數(shù) = 99/100 = 99%”。很顯然在這種極端條件下,ACC是不具備代表性的。
最后再介紹一下F1 score

TPR 關(guān)注的是在真實(shí)的P中,你預(yù)測(cè)對(duì)了多少
按照上面的例子:TPR關(guān)注的是你預(yù)測(cè)戀愛(ài)成功的人數(shù)在真實(shí)戀愛(ài)成功人數(shù)中所占的比例。

PPV關(guān)注的是在預(yù)測(cè)的P中,你預(yù)測(cè)對(duì)了多少
按照上面的例子:PPV關(guān)注的是你預(yù)測(cè)戀愛(ài)成功的人數(shù)在預(yù)測(cè)戀愛(ài)成功人數(shù)中所占的比例。
我們一共有200人用來(lái)測(cè)試,其中P有100,N有100,我們來(lái)看兩種極端的情況:
我們的模型非常厲害,全預(yù)測(cè)對(duì)了:

帶入公式:
我們的模型非常傻x,全預(yù)測(cè)錯(cuò)了。

帶入公式:
綜上,經(jīng)過(guò)觀察如果F1的成績(jī)趨近與1,說(shuō)明你的模型不僅在預(yù)測(cè)的結(jié)果(P')中,預(yù)測(cè)對(duì)的多,同時(shí)覆蓋了(P)的中絕大多數(shù)情況,這當(dāng)然是我們最想看到的。
我們把a(bǔ)ccuracy paradox中的例子帶入:

則:
再度疑惑
小白和你都是行動(dòng)派,收到回復(fù)后,利用之前用戶的測(cè)評(píng)結(jié)果,立即進(jìn)行了測(cè)試比對(duì),結(jié)果發(fā)現(xiàn),升級(jí)后的模型在各項(xiàng)指標(biāo)中與升級(jí)前的模型結(jié)果基本一致,未見(jiàn)明顯提高!
這是為什么?你又陷入了沉思之中。
