如何使用 L1 損失函數在 R 中訓練(邏輯?)回歸?
我可以訓練邏輯回歸
R
使用glm(y ~ x, family=binomial(logit)))
但是,IIUC,這優化了對數似然。
有沒有辦法使用線性() 損失函數(在這種情況下與總變化距離相同)?
即,給定一個數字向量和一個位(邏輯)向量,我想構造一個單調(實際上是遞增)函數這樣被最小化。
也可以看看
你想做的事情並不存在,因為它在數學上是有缺陷的,因為沒有更好的詞。
但首先,我要強調為什麼我認為你的問題的前提是合理的。然後,我將嘗試解釋為什麼我認為您從中得出的結論是基於對邏輯模型的誤解,最後,我將提出一種替代方法。
我將表示 $ {(\pmb x_i,y_i)}{i=1}^n $ 你的 $ n $ 觀測值(粗體字母表示向量)位於 $ p $ 維空間(第一個條目 $ \pmb x_i $ 是 1) 與 $ p<n $ , $ y_i\in [0,1] $ 和 $ f(\pmb x_i)= f(\pmb x_i'\pmb\beta) $ 是一個單調函數 $ \pmb x_i'\pmb\beta $ ,比如說用邏輯曲線來固定想法。為方便起見,我將假設 $ n $ 與 _ $ p $ .
您是正確的,如果您打算使用TVD作為標準來評估擬合模型,那麼期望您的擬合在您的數據上優化所有可能候選者中的相同標準是合理的。因此
$$ \pmb\beta^*=\underset{\pmb\beta\in\mathbb{R}^{p}}{\arg\min};;;;;||\pmb y-f(\pmb x_i'\pmb\beta)||_1 $$
問題是錯誤術語: $ \epsilon_i=y_i-f(\pmb x_i'\pmb\beta) $
如果我們強制執行 $ E(\pmb\epsilon)=0 $ (我們只是希望我們的模型是漸近無偏的),那麼, $ \epsilon_i $ 一定是異方差的。這是因為 $ y_i $ 只能取兩個值,0 和 1。因此,給定 $ \pmb x_i $ , $ \epsilon_i $ 也只能取兩個值: $ 1-f(\pmb x_i'\pmb\beta) $ 什麼時候 $ y_i=1 $ , 發生概率 $ f(\pmb x_i'\pmb\beta) $ , 和 $ -f(\pmb x_i'\pmb\beta) $ 什麼時候 $ y_i=1 $ , 發生概率 $ 1-f(\pmb x_i'\pmb\beta) $ .這些考慮共同意味著:
$$ ;;;;;;;;;;;;;;;;;;;;;\text{var}(\pmb\epsilon)=E(\pmb\epsilon^2)=(1-f(\pmb x'\pmb\beta))^2f(\pmb x'\pmb\beta)+(-f(\pmb x'\pmb\beta))^2(1-f(\pmb x'\pmb\beta))\ ;=(1-f(\pmb x'\pmb\beta))f(\pmb x'\pmb\beta)\ =E(\pmb y|\pmb x)E(1-\pmb y|\pmb x) $$
因此 $ \text{var}(\pmb\epsilon) $ 不是恆定的,而是凹拋物線形的,當 $ \pmb x $ 是這樣的 $ E(y|\pmb x)\approx .5 $ .
殘差的這種固有異方差性會產生後果。這意味著除其他外,當最小化 $ l_1 $ 損失函數,您正在漸近地過度加權樣本的一部分。也就是說,擬合 $ \pmb\beta^* $ 根本不適合數據,而只適合聚集在 $ \pmb x $ 是這樣的 $ E(\pmb y|\pmb x)\approx .5 $ . 也就是說,這些是樣本中信息最少的數據點:它們對應於噪聲分量最大的那些觀察值。因此,您的合身度被拉向 $ \pmb\beta^*=\pmb\beta:f(\pmb x'\pmb\beta)\approx .5 $ ,例如變得無關緊要。
從上面的闡述中可以清楚地看出,一種解決方案是放棄對無偏性的要求。偏向估計量的一種流行方法(附有一些貝葉斯解釋)是包含收縮項。如果我們重新縮放響應:
$$ y^+_i=2(y_i-.5),1\leq i\leq n $$
並且,為了計算方便,替換 $ f(\pmb x'\pmb\beta) $ 由另一個單調函數 $ g(\pmb x,[c,\pmb\gamma])=\pmb x'[c,\pmb\gamma] $ – 後續將參數向量的第一個分量表示為 $ c $ 和剩下的 $ p-1 $ 那些 $ \pmb\gamma $ – 並包含一個收縮項(例如以下形式之一 $ ||\pmb\gamma||_2 $ ),由此產生的優化問題變為:
$$ [c^,\pmb\gamma^{}]=\underset{\pmb[c,\pmb\gamma]\in\mathbb{R}^{p}}{\arg\min};;\sum_{i=1}^n\max(0,1-y_i^+\pmb x_i'\pmb[c,\pmb\gamma])+\frac{1}{2}||\pmb\gamma||_2 $$
請注意,在這個新的(也是凸的)優化問題中,正確分類的觀測值的懲罰為 0,並且隨著 $ \pmb x'\pmb[c,\gamma] $ 對於未分類的 - 如 $ l_1 $ 損失。這 $ [c^,\pmb\gamma^] $ 第二個優化問題的解決方案是著名的線性 svm(具有完美分離)係數。與 $ \pmb\beta^* $ , 學習這些有意義 $ [c^,\pmb\gamma^{}] $ 來自具有 TVD 類型懲罰的數據(“類型”,因為偏置項)。因此,該解決方案被廣泛實施。例如,參見 R 包LiblineaR。