門檻和混淆矩陣

假設您有一個用於偵測垃圾郵件的邏輯迴歸模型,預測出介於 0 到 1 之間的值,代表指定電子郵件為垃圾郵件的機率。預測值為 0.50 表示電子郵件為垃圾郵件的可能性為 50%,預測值為 0.75 表示電子郵件為垃圾郵件的可能性為 75%,以此類推。

您想在電子郵件應用程式中部署這個模型,將垃圾郵件篩除至不同的郵件資料夾。不過,您必須先將模型的原始數值輸出內容 (例如 0.75) 分類為「垃圾內容」或「非垃圾內容」。

如要進行這項轉換,您必須選擇門檻機率,也就是分類門檻。機率高於門檻值的示例會指派給正類別,也就是您要測試的類別 (此處為 spam)。機率較低的示例會指派給負類別,也就是替代類別 (此處為 not spam)。

按這裡進一步瞭解分類門檻

您可能會想知道:如果預測分數等於分類門檻 (例如分數為 0.5,分類門檻也為 0.5),會發生什麼情況?這類情況的處理方式取決於為分類模型選擇的具體實作方式。如果分數和閾值相等,Keras 程式庫會預測負向類別,但其他工具/架構可能會以不同方式處理這個情況。

假設模型將某封電子郵件評分為 0.99,預測該電子郵件有 99% 的機率會成為垃圾郵件,另一個電子郵件為 0.51,預測其具有 51% 為垃圾郵件的機率。如果您將分類閾值設為 0.5,模型會將兩封電子郵件都歸類為垃圾郵件。如果將閾值設為 0.95,只有得分 0.99 的電子郵件才會被歸類為垃圾郵件。

雖然 0.5 似乎是直覺的門檻,但如果某種錯誤分類的成本高於其他類型,或是類別不平衡,就不適合使用這個門檻。如果只有 0.01% 的電子郵件是垃圾郵件,或是將合法電子郵件誤歸為垃圾郵件比垃圾郵件進入收件匣更糟糕,那麼將模型認為至少有 50% 機率為垃圾郵件的郵件標示為垃圾郵件,就會導致不理想的結果。

混淆矩陣

機率分數並非真實值或真值。二元分類器的每個輸出結果都有四種可能的結果。以垃圾郵件分類器範例來說,如果您將真值列為欄,模型的預測結果列為欄,則結果會是下列表格,稱為混淆矩陣

實際陽性 實際陰性
預測為陽性 真陽性 (TP):正確歸類為垃圾郵件的垃圾郵件。這些垃圾郵件會自動傳送至垃圾郵件資料夾。 誤判為垃圾郵件 (FP):將非垃圾郵件誤判為垃圾郵件。這些是垃圾郵件資料夾中的正常電子郵件。
預測為否 假陰性 (FN):垃圾郵件誤判為非垃圾郵件。這些是垃圾郵件,但未被垃圾郵件篩選器攔截,因此會傳送到收件匣。 真陰性 (TN):系統正確將非垃圾郵件歸類為非垃圾郵件。這些是直接傳送至收件匣的正常電子郵件。

請注意,每個資料列的總和會列出所有預測的正例 (TP + FP) 和所有預測的負例 (FN + TN),不論其有效性為何。同時,每個資料欄的總和會列出所有真陽性 (TP + FN) 和所有真陰性 (FP + TN),無論模型分類為何。

如果實際正例總數與實際負例總數相差太多,表示資料集不平衡。不平衡資料集的例子可能是成千上萬張雲朵相片,其中您感興趣的罕見雲朵類型 (例如捲雲) 只出現幾次。

閾值對真陽性和偽陰性的影響

不同的門檻通常會產生不同的真陽性、偽陽性、真陰性和偽陰性數量。以下影片說明為何如此。

請嘗試自行變更門檻。

這個小工具包含三個玩具資料集:

  • 分開:正例和負例通常有明確的差異,且大多數正例的分數高於負例。
  • 不分隔:許多正示例的分數都低於負例,許多負面示例的分數都高於正面示例。
  • 不平衡,只包含少數正面類別的示例。

進行隨堂測驗

1. 假設網路釣魚或惡意軟體分類模型中,網路釣魚和惡意軟體網站屬於標示為「1」 (true) 的類別,而無害網站則屬於標示為「0」 (false) 的類別。這個模型會誤將合法網站歸類為惡意軟體。這叫做什麼?
偽陽性
有個負面示例 (正當網站) 誤遭歸類為正面示例 (惡意軟體網站),
真陽性
真陽性是指惡意軟體網站正確歸類為惡意軟體。
偽陰性
偽陰性是指惡意軟體網站誤判為合法網站。
真陰性
真陰性是指合法網站正確歸類為合法網站。
2. 一般來說,當分類門檻提高時,偽陽性數量會怎麼樣?那麼真陽性呢?試著使用上方的滑桿。
真陽性和偽陽性都會減少。
隨著門檻提高,模型預測的整體陽性結果 (真陽性和偽陽性) 可能會減少。閾值為 .9999 的垃圾郵件分類器,只有在認為分類機率至少為 99.99% 時,才會將電子郵件標示為垃圾郵件,這表示該分類器極不可能誤標合法電子郵件,但也可能漏掉實際的垃圾郵件。
真陽性和偽陽性都會增加。
請使用上方滑桿將門檻設為 0.1,然後拖曳至 0.9。偽陽性和真陽性的數量會發生什麼情況?
真陽性增加。偽陽性降低。
請使用上方的滑桿,將門檻設為 0.1,然後拖曳至 0.9。偽陽性和真陽性的數量會發生什麼情況?
3. 一般來說,如果分類門檻提高,偽陰性的情形會怎麼樣?真陰性呢?試著使用上方的滑桿。
真陰性和偽陰性都會增加。
隨著門檻提高,模型預測的整體陰性值 (真陰性和偽陰性) 可能會增加。在門檻極高的情況下,幾乎所有電子郵件 (包括垃圾郵件和非垃圾郵件) 都會歸類為非垃圾郵件。
真陰性和偽陰性都會減少。
請使用上方的滑桿,將門檻設為 0.1,然後拖曳至 0.9。偽陰性和真陰性數量會發生什麼變化?
真陰性增加。偽陰性會減少。
請使用上方的滑桿,將門檻設為 0.1,然後拖曳至 0.9。偽陰性和真陰性數量會發生什麼變化?