Machine-Learning

Logistic分類器中的Softmax vs Sigmoid函數?

  • September 6, 2016

是什麼決定了邏輯分類器中函數(Softmax 與 Sigmoid)的選擇?

假設有 4 個輸出類。上述每個函數都給出了每個類是正確輸出的概率。那麼將哪一個作為分類器呢?

sigmoid 函數用於二類邏輯回歸,而softmax函數用於多類邏輯回歸(又名 MaxEnt、多項邏輯回歸、softmax 回歸、最大熵分類器)。


在二分類邏輯回歸中,預測概率如下,使用 sigmoid 函數:

$$ \begin{align} \Pr(Y_i=0) &= \frac{e^{-\boldsymbol\beta \cdot \mathbf{X}_i}} {1 +e^{-\boldsymbol\beta \cdot \mathbf{X}_i}} , \ \Pr(Y_i=1) &= 1 - \Pr(Y_i=0) = \frac{1} {1 +e^{-\boldsymbol\beta \cdot \mathbf{X}_i}} \end{align} $$

在多類邏輯回歸中, $ K $ 類,預測概率如下,使用softmax函數:

$$ \begin{align} \Pr(Y_i=k) &= \frac{e^{\boldsymbol\beta_k \cdot \mathbf{X}i}} {~\sum{0 \leq c \leq K}^{}{e^{\boldsymbol\beta_c \cdot \mathbf{X}_i}}} , \ \end{align} $$


可以觀察到,softmax 函數是 sigmoid 函數對多類情況的擴展,如下所述。讓我們看一下多類邏輯回歸,其中 $ K=2 $ 類:

$$ \begin{align} \Pr(Y_i=0) &= \frac{e^{\boldsymbol\beta_0 \cdot \mathbf{X}i}} {~\sum{0 \leq c \leq K}^{}{e^{\boldsymbol\beta_c \cdot \mathbf{X}_i}}} = \frac{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i}}{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}} = \frac{e^{(\boldsymbol\beta_0 - \boldsymbol\beta_1) \cdot \mathbf{X}_i}}{e^{(\boldsymbol\beta_0 - \boldsymbol\beta_1) \cdot \mathbf{X}_i} + 1} = \frac{e^{-\boldsymbol\beta \cdot \mathbf{X}_i}} {1 +e^{-\boldsymbol\beta \cdot \mathbf{X}_i}} \ , \ \Pr(Y_i=1) &= \frac{e^{\boldsymbol\beta_1 \cdot \mathbf{X}i}} {~\sum{0 \leq c \leq K}^{}{e^{\boldsymbol\beta_c \cdot \mathbf{X}_i}}} = \frac{e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}}{e^{\boldsymbol\beta_0 \cdot \mathbf{X}_i} + e^{\boldsymbol\beta_1 \cdot \mathbf{X}_i}} = \frac{1}{e^{(\boldsymbol\beta_0-\boldsymbol\beta_1) \cdot \mathbf{X}_i} + 1} = \frac{1} {1 +e^{-\boldsymbol\beta \cdot \mathbf{X}_i}} , \ \end{align} $$

和 $ \boldsymbol\beta = - (\boldsymbol\beta_0 - \boldsymbol\beta_1) $ . 我們看到我們獲得了與使用 sigmoid 函數的二分類邏輯回歸相同的概率。維基百科對此進行了更多擴展。

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

comments powered by Disqus