邏輯回歸(Logistic Regression)


1. 前言

今天我們介紹機器學習里面大名鼎鼎的邏輯回歸。不要看他的名字里面有“回歸”,但是它其實是個分類算法。它取名邏輯回歸主要是因為是從線性回歸轉變而來的。

2.邏輯回歸原理

2.1 邏輯回歸的由來

不知道讀者還記不記得在線性回歸中有一節廣義線性回歸介紹了在\(Y=Xθ\)的基礎上對\(Y\)進行函數變換為\(g(Y)=Xθ\)。而在邏輯回歸中,這個\(g()\)就是大名鼎鼎的\(Sigmoid(x)=\frac{1}{1+e^{-x}}\)函數。Sigmoid函數的圖像如下。Sigmoid函數會把自變量\(x\in\{-\infty,+\infty\}\)映射到\(y\in\{-1,+1\}\)上。

image

Sigmoid函數處處可導,導數很簡潔\(S^{\prime}(x)=S(x)(1-S(x))\),它的導數圖像如下。從圖中可以看出導數范圍是\(S^\prime\in\{0,0.25\}\),順便說下,在深度學習中,如果激活函數是Sigmoid的話,會出現梯度消失問題。

image

2.2 邏輯回歸的模型

線性回歸中的模型是:

\[Z_{\theta}={X}\theta \]

Sigmoid的函數是:

\[S(z)=\frac{1}{1+e^{-z}} \]

最后套上Sigmoid函數合並出來的結果:

\[h_{\theta}(X) = \frac{1}{1+e^{-X\theta}} \]

2.3 邏輯回歸的損失函數

邏輯回歸使用極大似然法來推導出損失函數。

我們知道,邏輯回歸的定義,假設我們的樣本輸出是0或者1兩類。那么我們有:

\[P(y=1|x,\theta ) = h_{\theta}(x) \]

\[P(y=0|x,\theta ) = 1- h_{\theta}(x) \]

把兩種情況和一起就是如下公式:

\[P(y|x,\theta ) = h_{\theta}(x)^y(1-h_{\theta}(x))^{1-y} \]

得到了\(y\)的概率分布函數表達式,我們就可以用似然函數最大化來求解我們需要的模型系數\(\theta\)。最大似然函數\(L(\theta)\)

\[L(\theta) = \prod\limits_{i=1}^{m}(h_{\theta}(x^{(i)}))^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}} \]

損失函數就是對數似然函數的負值

\[J(\theta) = -lnL(\theta) = -\sum\limits_{i=1}^{m}(y^{(i)}log(h_{\theta}(x^{(i)}))+ (1-y^{(i)})log(1-h_{\theta}(x^{(i)}))) \]

2.4 邏輯回歸的損失函數的優化方法

對於邏輯回歸的損失函數極小化,有比較多的方法,最常見的有梯度下降法,坐標軸下降法,牛頓法等。

2.5 邏輯回歸的正則化

邏輯回歸也會面臨過擬合問題,所以我們也要考慮正則化。常見的有L1正則化和L2正則化。

L1正則化形式

\[J(\theta) = -lnL(\theta) + \alpha|\theta| \]

L2正則化形式

\[J(\theta) = -lnL(\theta) + \frac{1}{2}\alpha|\theta|^2 \]

3. 總結

邏輯回歸假設數據服從伯努利分布,在線性回歸的基礎上,套了一個二分類的Sigmoid函數,使用極大似然法來推導出損失函數,用梯度下降法優化損失函數的一個判別式的分類算法。邏輯回歸的優缺點有一下幾點:

3.1 優點

  1. 實現簡單,廣泛的應用於工業問題上;
  2. 訓練速度較快。分類速度很快
  3. 內存占用少;
  4. 便利的觀測樣本概率分數,可解釋性強;

3.2 缺點

  1. 當特征空間很大時,邏輯回歸的性能不是很好;
  2. 一般准確度不太高
  3. 很難處理數據不平衡的問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM