Probability

在多個類的情況下如何調整分類器的概率閾值?[複製]

  • October 31, 2017

二元概率分佈

上面是一個非常簡單的示例,它基於一些概率為二元類案例輸出 0 或 1 的概率分類器。

此外,如何更改閾值也很簡單。您將閾值設置為更高或更低的 50% 以更改精度/召回平衡,從而針對您自己的獨特情況進行優化。

然而,當我們嘗試對多類場景有相同的想法時,即使只有如下圖所示的三個類(想像這些是概率)

三測區

你如何開始思考如何轉移門檻?

默認是取概率最大的類(這裡是第3類)。

如果你想取得這種平衡(影響精確度/召回率)你能做什麼?

一個想法可能是讓第一個最主要的類重新規範化它們,並考慮在這兩者之間設置一個閾值,但這聽起來不是一個優雅的解決方案。

是否有可靠的方法可以遵循?

您可以在類上使用先驗分佈。

讓我們假設您的模型計算類別概率的向量 $ v $ . 您可以定義先驗概率向量 $ \pi $ 然後計算你的班級概率與 $ v \circ \pi $ , 在哪裡 $ \circ $ 表示逐元素乘積。所以你的觀察屬於類的概率 $ c $ 正比於 $ v_c\pi_c $ .

如果你想要一個正確的分佈,你只需要重新規範化。

在您的示例中,如果您希望您的預測稍微偏向於第 1 類,您可以定義 $ \pi=(0.4, 0.3, 0.3) $ , 例如。

如果您考慮一下,在二進制情況下,這就是您在更改閾值時隱式執行的操作。假設您建立了以下規則:如果您的概率向量是 $ v $ 你的決策函數是 $ f(x) $ , 然後 $$ f(x)= \begin{cases} 2 & v_2\geq \theta \ 1 & \mbox{otherwise} \end{cases} $$ 對於一些 $ \theta \in (0,1) $ .

那麼這相當於(至少在做出決定時)計算類概率與 $ (\frac{v_1}{1-\theta}, \frac{v_2}{\theta}) $ ,所以你會定義 $ \pi=(\frac{1}{1-\theta}, \frac{1}{\theta}) $ .

您還可以了解的價值 $ \pi $ 從你的數據。例如,您可以計算每個類別的比例並將其用作先驗概率。

對於將這種先驗假設納入模型的更原則性方法,您可能需要查看貝葉斯推理。

引用自:https://stats.stackexchange.com/questions/310952

comments powered by Disqus