1. 程式人生 > >class average accuracy, accuracy ,precision ,recall 機器學習基礎評價標準

class average accuracy, accuracy ,precision ,recall 機器學習基礎評價標準

這幾個評價標準非常容易弄混與想當然。認真看哈,很重要。

對於室內場景,或者是任何帶類別的識別任務,都會有class average accuracy. 大家想當然的翻譯成類平均識別率,就會和precision搞混。而且又因為它帶一個accuracy,所以會和accuracy搞混。

precision

認準率。通俗來講就是你認出來的,有多少人對了。舉個例子,你家有一隻狗,還有兩瓶啤酒,兩份報紙,一雙拖鞋,也就是兩隻拖鞋(樣本總量為6)。你對你家狗狗說去給我把整個屋子裡面的啤酒都拿過來。然後它給你叼過來兩瓶啤酒,一份報紙,一隻拖鞋,這時狗狗的precision是50%,它認為是啤酒的四個物品中只有一個是。然後你和你家貓說去給我把煙叼過來,它賞你一個白眼。主子的precision是零。

這個指標反應了你的可信度,比如讓家用機器人把降壓藥拿過來,他一定不能錯,他可以不把家裡全部的降壓藥都拿過來,但是他要保證拿過來必須是降壓藥。降壓藥的precision一定要是100%。

recall

召回率,通俗來講就是有多少東西被你找到了。還是剛才的貓狗例子。你對你家狗說去給我把整個屋子裡面的啤酒都拿過來。然後它給你叼過來兩瓶啤酒,一卷衛生紙,一隻拖鞋,你喝完了這兩瓶啤酒,覺得你家狗狗太笨,就拿來這麼點。你決定親自去。你開啟冰箱,發現冰箱裡真的就兩瓶啤酒,你瞬間熱淚盈眶,原來你家狗狗把它能找到的都給你叼過來了。狗狗對啤酒的recall就是100%。總共就兩瓶啤酒,都被狗狗認出來了。

你和你家貓說去給我把煙叼過來,它賞你一個白眼。你對主子無可奈何,只能自己去找,然後找遍房子都沒有,這時你家肥貓移動尊臀,從茶几上挪到了窩裡打算睡覺。你發現你找了5分鐘的煙,就在肥貓的屁股底下。你家肥貓對煙的召回率也是零。

這個指標反應了你能不能最大程度上把目標全找到。比如警察用智慧軟體篩查一群嫌疑犯,那麼,必須一個不剩的都被採集到,即便是有一些良民被智慧軟體認為是嫌疑犯也無所謂,嫌疑犯的recall必須是100%

class average accuracy

論文中必出現的一個標準(人臉肯定沒有,你見過給人臉分類的?)。本質來講是類平均召回率。計算方法是對每一類的召回率求個平均值,很簡單吧。你讓你家狗狗給你拿報紙。它給你拿了一份報紙,一罐啤酒,一隻拖鞋。但你家門口有三份報紙,第一份被它當作是啤酒給你了。狗狗昨天對啤酒的召回率是100%,但是對於報紙表現不佳,對報紙的召回率只有33.3%你和狗狗要拖鞋,狗狗給了你一份報紙,狗狗對報紙的召回率是0。那麼,你家狗狗對啤酒,報紙,拖鞋的class average accuracy就是(100%+33.3%+0)/3=44.4%。

所以我們說,類平均準確率就是平均召回率。千萬記住不要和precision,以及accuracy弄混。

accuracy

所有正確的樣本的總數,除以正確樣本的總數。3/7=42.9%.