了解邏輯回歸的完全分離[重複]
- 為什麼邏輯回歸對於線性可分數據集不收斂?
對於線性可分數據集,模型參數在最小化誤差函數時趨於無窮大(根據 Bishop2006,模式識別和機器學習,第 4.3.2 節)。我不明白為什麼。它必須與將得分函數(即誤差函數的導數)設置為零相關聯。
誤差函數由下式給出如下圖所示。在哪裡是訓練集的目標變量向量,參數/係數向量。第 1 類的後驗概率由下式給出
其中 sigma 是邏輯 sigmoid 函數,例如是特徵向量包括預測因子。
- 我對邏輯回歸的第二個問題是後驗概率是否和總和為一?
這是(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 $ 更容易對情況進行推理。