[原理篇] 逻辑回归
1. Logistic Regression基本模型
??
?Logistic Regression 模型是廣義線性模型中的一種,屬于線性分類模型。對于類似上圖的分類問題,需要找到一條直線,將兩個不同的類區分開。多維情況下,可以利用如下線性函數描述該超平面。
W為權重,b為偏置。多維情況下,兩者都是向量。實際應用中,通過對訓練樣本的學習確定該超平面。其中,我們可以使用閾值函數將樣本映射到正負兩個類別中。其中,sigmoid函數是最常應用的閾值函數,其函數表達式和導數如下所示。
在實際應用中,假設W,b已經利用訓練樣本得到有效的估計。新樣本的類別判別y=0or1如下:
?
2. 損失函數設計
Logistic Regression分類是典型的監督學習算法。所以,我們常用利用優化算法擬合訓練集對參數進行求解。最常用到的優化算法就是梯度下降算法。為了使用優化算法,我們首先應該定義模型的損失函數。
對于LR算法,其屬于類別y的概率計算如下:
假設訓練集有m個訓練樣本,我們可以采用最大似然法對參數W,b估計。假設
則訓練樣本集的似然函數為:
如果訓練樣本的數量非常龐大,優化連乘很容易造成損失值超過/低于機器精度。因此,通常我們使用“負對數似然函數(Negative Log-Likelihood,NLL)”作為優化的損失函數。那么,函數損失的優化過程就是求NLL的最小值。
?3. 梯度下降算法訓練LR模型
梯度下降法的優點在于:求解過程中,只需要求解損失函數的一階導數,計算成本小。梯度下降法的直觀理解:通過當前點的梯度方向尋找到新的迭代點,并從當前點移動到新的迭代點繼續尋找新的迭代點(注意梯度下降法通常獲得的是局部極小值,改進的隨機梯度下降算法獲得全局極小值得概率更大)。Gradient Decent算法流程如下:
利用GD訓練LR算法的關鍵在于求參數W,b的梯度方向。我們首先將原始的線性超平面改寫成如下形式:
那么,根據GD算法的更新公式, Wj更新公式為:
因此利用上式就可以完成對LR模型的訓練。
注意1:關于梯度下降算法中的步長選擇問題可以參考一些文獻,關鍵一點,大的步長容易在極值附近出現震蕩,小的步長收斂太慢。目前,自適應步長收斂策略還是很不錯的
注意2:關于模型過擬合的問題,后面會討論正則化約束,這里先不涉及
總結
以上是生活随笔為你收集整理的[原理篇] 逻辑回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中文名称:深入浅出SQL
- 下一篇: 用VC写Assembly代码(6)--附