比較和最佳化 ROC 曲線

已完成

接收者運算子特性 (ROC) 曲線可讓我們比較彼此的模型,並微調我們選取的模型。 讓我們來討論這些工作的進行方式和原因。

微調模型

ROC 曲線最明顯的用途是選擇可提供最佳效能的決策閾值。 回想一下,我們的模型為我們提供了機率,例如範例為登山客的機會為 65%。 決策閾值是一個點,高於此點範例會獲指派 true (hiker),或低於此點則其會獲指派 false (tree)。 如果我們的決策閾值是 50%,那麼 65% 就會指派給 "true" (hiker)。 不過,如果我們的決策閾值是 70%,那麼 65% 的可能性就會太小,因而指派給 "false" (tree)。

我們在上一個練習中看到,當建構 ROC 曲線時,我們只是變更決策閾值,並評估模型的運作效能。 當我們這麼做時,可以找到提供最佳結果的閾值。

通常不會有單一閾值,同時提供最佳的確判為真率 (TPR) 和較低的誤判為真率 (FPR)。 這表示最佳閾值取決於您想要達成的目標。 例如,在我們的案例中,具有高確判為真率非常重要,因為如果未能識別出登山客,且發生雪崩,團隊將不會知道需要搜救他們。 但是,這有個缺點:如果誤判為真率太高,則可能會反覆派遣搜救團隊,尋找全然不存在的人。 在其他情況下,誤判為真率被視為更重要。 例如,科學對誤判為真的結果容錯率很低。 如果科學實驗的誤判為真率偏高,就會有無止盡的自相矛盾說法,造成無法弄清楚什麼才是真的。

使用 AUC 比較模型

您可以使用 ROC 曲線來彼此比較模型,就像使用成本函式一樣。 模型的 ROC 曲線顯示其對於各種決策閾值的運作效果。 說穿了,模型中最重要的是它在真實世界裡,也就是只有一個決策閾值時,將如何運作。 那麼,為什麼要使用我們永遠不會用到的閾值來比較模型呢? 這個問題有兩個答案。

首先,以特定方式比較 ROC 曲線,就像是執行統計測試,不只告訴我們,某個模型在這個特定的測試集上做得更好,還會告訴我們,其未來是否可能繼續更好地執行。 這不在此學習材料的討論範圍內,但值得謹記於心。

其次,ROC 曲線會顯示模型在有完美閾值時的相依程度。 例如,如果我們的模型只在決策閾值為 0.9 時才運作良好,但高於或低於此值卻糟透,則其不是良好的設計。 我們可能會寧願使用對各種閾值有合理運作效果的模型,因為我們知道,如果我們所遇到的真實世界資料與我們的測試集稍微不同,我們的模型效能不至於會崩潰。

如何比較 ROC?

比較 ROCs 數值的最簡單方式,就是使用曲線 (AUC) 下的區域。 其實,這是在曲線下方的圖形區域。 例如,來自上一個練習的完美模型具有值為 1 的 AUC:

Diagram showing a receiver operator characteristic curve graph using area under the curve.

雖然我們的模型未優於可能的情況,但卻有大約 0.5 的區域:

Diagram showing a receiver operator characteristic curve graph with area under the curve at a sharp angle.

模型越完美,此區域就會變得越大。 如果有一個模型具有大型 AUC,我們知道其對各種不同閾值有很好的運作效果,因此其可能有良好的架構,而且已經過妥善的定型。 相反地,具有小型 AUC 的模型 (更接近 0.5) 沒有很好的運作效果。