Logistic

了解邏輯回歸的完全分離[重複]

  • July 21, 2016
  1. 為什麼邏輯回歸對於線性可分數據集不收斂?

對於線性可分數據集,模型參數在最小化誤差函數時趨於無窮大(根據 Bishop2006,模式識別和機器學習,第 4.3.2 節)。我不明白為什麼。它必須與將得分函數(即誤差函數的導數)設置為零相關聯。

誤差函數由下式給出如下圖所示。在哪裡是訓練集的目標變量向量,參數/係數向量。第 1 類的後驗概率由下式給出

其中 sigma 是邏輯 sigmoid 函數,例如是特徵向量包括預測因子。 誤差函數

  1. 我對邏輯回歸的第二個問題是後驗概率是否和總和為一?

這是(1)的視覺解釋

在此處輸入圖像描述

想像一下,你有一組完美分離的點,分離發生在圖片中的零處(所以一團 $ y=0 $ s 在零的左邊和一簇 $ y=1 $ s 向右)。

我繪製的曲線序列是

$$ \frac{1}{1 + e^{-x}}, \frac{1}{1 + e^{-2x}}, \frac{1}{1 + e^{-3x}}, \ldots $$

所以我只是無限制地增加係數。

你會選擇 20 條曲線中的哪一條?每一個都更接近我們想像的數據。你會繼續

$$ \frac{1}{1 + e^{-21x}} $$

你什麼時候停下來?

對於(2),是的。這基本上是根據定義,您在構建二項似然(*)時已經隱含地假設了這一點

$$ L = \sum_i t_i \log(p_i) + (1 - t_i) \log(1 - p_i) $$

在總和中的每一項中,只有一個 $ t_i \log(p_i) $ 或者 $ (1 - t_i) \log(1 - p_i) $ 非零,貢獻為 $ p_i $ 為了 $ t_i = 1 $ 和 $ 1 - p_i $ 為了 $ t_i = 0 $ .

為什麼在數學上沒有收斂?

這是一個(更多)正式的數學證明。

首先是一些設置和符號。讓我們寫

$$ S(\beta, x) = \frac{1}{1 + \exp(- \beta x)} $$

對於 sigmoid 函數。我們將需要這兩個屬性

$$ \lim_{\beta \rightarrow \infty} S(\beta, x) = 0 \ \text{for} \ x < 0 $$ $$ \lim_{\beta \rightarrow \infty} S(\beta, x) = 1 \ \text{for} \ x > 0 $$

隨著每個單調地接近極限,第一個極限正在減少,第二個極限正在增加。這些中的每一個都很容易從公式中得出 $ S $ .

讓我們也安排一些事情,以便

  • 我們的數據居中,這使我們可以忽略截距,因為它為零。
  • 垂直線 $ x = 0 $ 將我們的兩個班級分開。

現在,我們在邏輯回歸中最大化的函數是

$$ L(\beta) = \sum_i y_i \log(S(\beta, x_i)) + (1 - y_i) \log(1 - S(\beta, x_i)) $$

這個總和有兩種類型的術語。其中的條款 $ y_i = 0 $ , 看起來像 $ \log(1 - S(\beta, x_i)) $ ,並且由於完美的分離,我們知道對於這些術語 $ x_i < 0 $ . 通過上面的第一個限制,這意味著

$$ \lim_{\beta \rightarrow \infty} S(\beta, x_i) = 0 $$

對於每個 $ x_i $ 與一個相關聯 $ y_i = 0 $ . 然後,在應用對數之後,我們得到單調遞增的極限趨向於零:

$$ \lim_{\beta \rightarrow \infty} \log(1 - S(\beta, x_i)) = 0 $$

您可以輕鬆地使用相同的想法來展示其他類型的術語

$$ \lim_{\beta \rightarrow \infty} \log(S(\beta, x_i)) = 0 $$

同樣,極限是單調增加。

所以不管怎樣 $ \beta $ 也就是說,您總是可以通過增加 $ \beta $ 走向無限。所以目標函數沒有最大值,嘗試迭代地找到一個只會增加 $ \beta $ 永遠。

值得注意的是我們在哪裡使用了分離。如果找不到分隔符,則無法將術語分成兩組,而是有四種類型

  • 條款與 $ y_i = 0 $ 和 $ x_i > 0 $
  • 條款與 $ y_i = 0 $ 和 $ x_i < 0 $
  • 條款與 $ y_i = 1 $ 和 $ x_i > 0 $
  • 條款與 $ y_i = 1 $ 和 $ x_i < 0 $

在這種情況下,當 $ \beta $ 條款變得非常大 $ y_i = 1 $ 和 $ x_i < 0 $ 會開車 $ \log(S(\beta, x_i)) $ 為負無窮大。什麼時候 $ \beta $ 變得非常大, $ y_i = 0 $ 和 $ x_i < 0 $ 將對相應的做同樣的事情 $ \log(1 - S(\beta, x_i)) $ . 所以在中間的某個地方,必須有一個最大值。

(*) 我替換了你的 $ y_i $ 和 $ p_i $ 因為這個數字是一個概率,並稱它為 $ p_i $ 更容易對情況進行推理。

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

comments powered by Disqus