評估與指標
前k準確率(top-k accuracy)
/ TOP-kay AK-yur-uh-see /
普通的準確率是非黑即白的:模型那個唯一的最佳猜測,要麼對,要麼錯。前k準確率則寬容得多。它允許模型給出它最好的k個猜測,只要真實答案落在那張短名單裡的任何位置,就算這次預測對了。最常見的版本是前5準確率,它問的是:正確答案,在不在模型最可能的五個選項之中?
對於那些類別繁多、細粒度、又極易混淆的任務,這很有道理。一張哈士奇的照片,可能真的很難和阿拉斯加雪橇犬或狼區分開來;要求模型必須把確切的品種作為它的頭號猜測,可能嚴苛得不公平。前5準確率獎勵模型「至少把真相放進了認真的競爭裡」,而這往往正好匹配預測的實際用法——比如,給一個人擺出一份簡短的候選菜單讓他挑選。
這是個有用的視角,但要坦白它掩蓋了什麼。95%的前5準確率聽起來光彩奪目,可同一個模型的前1數字,也許是謙遜得多的75%——而如果你的應用是依據「單一的自動答案」來行動的,你要承受的就是那個前1。只報那個好看的前5數字,是讓模型聽起來比它實際表現更好的一種經典手法。永遠要問清楚:k是幾,以及這個k是否匹配系統真實的用法。
一個圖像分類器看到一張照片,其真實標籤是「小熊貓」。它排好序的猜測是:貓、狐狸、小熊貓、浣熊、狗。前1準確率:錯(它把「貓」排在了第一)。前5準確率:對(「小熊貓」在名單裡)。同一個預測,兩個截然不同的判決。
前1判為徹底錯誤的那些「差一點」,前5會予以寬恕。
前5準確率是被ImageNet基準帶火的,那裡1000個細粒度類別讓嚴格的前1評分變得極為殘酷。只要記住:前k只有在你真實的系統確實會呈現出k個候選時才有意義。如果它必須敲定一個自動答案,那麼真正要緊的數字是前1。
又稱
另見