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\}\)上。
Sigmoid函數處處可導,導數很簡潔\(S^{\prime}(x)=S(x)(1-S(x))\),它的導數圖像如下。從圖中可以看出導數范圍是\(S^\prime\in\{0,0.25\}\),順便說下,在深度學習中,如果激活函數是Sigmoid的話,會出現梯度消失問題。
2.2 邏輯回歸的模型
線性回歸中的模型是:
Sigmoid的函數是:
最后套上Sigmoid函數合並出來的結果:
2.3 邏輯回歸的損失函數
邏輯回歸使用極大似然法來推導出損失函數。
我們知道,邏輯回歸的定義,假設我們的樣本輸出是0或者1兩類。那么我們有:
把兩種情況和一起就是如下公式:
得到了\(y\)的概率分布函數表達式,我們就可以用似然函數最大化來求解我們需要的模型系數\(\theta\)。最大似然函數\(L(\theta)\):
損失函數就是對數似然函數的負值
2.4 邏輯回歸的損失函數的優化方法
對於邏輯回歸的損失函數極小化,有比較多的方法,最常見的有梯度下降法,坐標軸下降法,牛頓法等。
2.5 邏輯回歸的正則化
邏輯回歸也會面臨過擬合問題,所以我們也要考慮正則化。常見的有L1正則化和L2正則化。
L1正則化形式
L2正則化形式
3. 總結
邏輯回歸假設數據服從伯努利分布,在線性回歸的基礎上,套了一個二分類的Sigmoid函數,使用極大似然法來推導出損失函數,用梯度下降法優化損失函數的一個判別式的分類算法。邏輯回歸的優缺點有一下幾點:
3.1 優點
- 實現簡單,廣泛的應用於工業問題上;
- 訓練速度較快。分類速度很快
- 內存占用少;
- 便利的觀測樣本概率分數,可解釋性強;
3.2 缺點
- 當特征空間很大時,邏輯回歸的性能不是很好;
- 一般准確度不太高
- 很難處理數據不平衡的問題