深度學習auc 如何理解機器學習和統計中的AUC?

2021-10-13 04:42:46 字數 1677 閱讀 4917

之前各位的回答從各個角度解釋了auc的意義和計算方法,但是由於本人實在愚鈍,一直沒能參透auc的意義和計算方法之間的聯絡,直到剛才突然有所頓悟,本著盡量言簡意賅、淺顯易懂的原則,在這裡記錄一下。

首先,在試圖弄懂auc和roc曲線之前,一定,一定要徹底理解混淆矩陣的定義!!!

混淆矩陣中有著positive、negative、true、false的概念,其意義如下:稱**類別為1的為positive(陽性),**類別為0的為negative(陰性)。

**正確的為true(真),**錯誤的為false(偽)。

對上述概念進行組合,就產生了如下的混淆矩陣:

然後,由此引出true positive rate(真陽率)、false positive(偽陽率)兩個概念:

仔細看這兩個公式,發現其實tprate就是tp除以tp所在的列,fprate就是fp除以fp所在的列,二者意義如下:tprate的意義是所有真實類別為1的樣本中,**類別為1的比例。

fprate的意義是所有真實類別為0的樣本中,**類別為1的比例。

如果上述概念都弄懂了,那麼roc曲線和auc就so easy了:

按照定義,auc即roc曲線下的面積,而roc曲線的橫軸是fprate,縱軸是tprate,當二者相等時,即y=x,如下圖:

表示的意義是:對於不論真實類別是1還是0的樣本,分類器**為1的概率是相等的。

換句話說,分類器對於正例和負例毫無區分能力,和拋硬幣沒什麼區別,乙個拋硬幣的分類器是我們能想象的最差的情況,因此一般來說我們認為auc的最小值為0.5(當然也存在**相反這種極端的情況,auc小於0.5,這種情況相當於分類器總是把對的說成錯的,錯的認為是對的,那麼只要把**類別取反,便得到了乙個auc大於0.5的分類器)。

而我們希望分類器達到的效果是:對於真實類別為1的樣本,分類器**為1的概率(即tprate),要大於真實類別為0而**類別為1的概率(即fprate),即y>x,因此大部分的roc曲線長成下面這個樣子:

最理想的情況下,既沒有真實類別為1而錯分為0的樣本——tprate一直為1,也沒有真實類別為0而錯分為1的樣本——fp rate一直為0,auc為1,這便是auc的極大值。

說了這麼多還是不夠直觀,不妨舉個簡單的例子。

首先對於硬分類器(例如svm,nb),**類別為離散標籤,對於8個樣本的**情況如下:

得到混淆矩陣如下:

進而算得tprate=3/4,fprate=2/4,得到roc曲線:

最終得到auc為0.625。

對於lr等**類別為概率的分類器,依然用上述例子,假設**結果如下:

這時,需要設定閾值來得到混淆矩陣,不同的閾值會影響得到的tprate,fprate,如果閾值取0.5,小於0.5的為0,否則為1,那麼我們就得到了與之前一樣的混淆矩陣。其他的閾值就不再囉嗦了。依次使用所有**值作為閾值,得到一系列tprate,fprate,描點,求面積,即可得到auc。

最後說說auc的優勢,auc的計算方法同時考慮了分類器對於正例和負例的分類能力,在樣本不平衡的情況下,依然能夠對分類器作出合理的評價。

例如在反欺詐場景,設欺詐類樣本為正例,正例佔比很少(假設0.1%),如果使用準確率評估,把所有的樣本**為負例,便可以獲得99.9%的準確率。

但是如果使用auc,把所有樣本**為負例,tprate和fprate同時為0(沒有positive),與(0,0) (1,1)連線,得出auc僅為0.5,成功規避了樣本不均勻帶來的問題。

水平有限,歡迎拍磚~

深度學習auc 深度學習 AUC PR計算

1 auc auc 表示隨機抽取乙個正樣本和乙個負樣本,分類器正確給出正樣本的score高於負樣本的概率,在所以標註樣本中,正樣本共t個,負樣本共f 個,如果隨機抽取乙個正樣本和負樣本,共有t f 個pair,其實如果有s個pair 的正負樣本pair 滿足於正樣本的score 高於負樣本 權重為1...

如何理解深度學習?

深度學習中最重要的乙個概念叫做人工神經網路,它作為一種模仿生物神經網路行為特徵,進行分布式並行資訊處理的演算法數學模型,這種網路通過調整內部大量節點 神經元 之間相互鏈結的權重,從而達到處理資訊的目的。如上圖所示的是乙個 神經元 的基本結構,也叫做感知器,他接受多個輸入 x1,x2,x3.產生乙個輸...

機器學習 ACC ROC和AUC

很多時候我們都用到roc和auc來評判乙個二值分類器的優劣,其實auc跟roc息息相關,auc就是roc曲線下部分的面積,所以需要首先知道什麼是roc,roc怎麼得來的。然後我們要知道一般分類器會有個準確率acc,那麼既然有了acc,為什麼還要有roc呢,acc和roc的區別又在哪兒,這是我喜歡的一...