1. 程式人生 > >邏輯斯蒂迴歸原理篇

邏輯斯蒂迴歸原理篇

1.邏輯斯蒂迴歸模型

LR模型主要用於分類模型,細心的人不難發現LR模型線上性迴歸模型上加了一個sigmoid轉換。為了更加深入地瞭解這個模型,我們可能要思考以下幾個問題

(1)sigmoid從何而來,篇幅比較大,下面會單獨討論
(2)sigmoid轉換的優勢
- 求梯度方便
- 資料統一分佈在0-1之間,從下面的LR分佈也可以看出
(3)這種轉換需要注意的地方,LR分佈可以此種轉換的特徵

2.邏輯斯蒂迴歸分佈

分佈函式式中,為位置引數,為形狀引數

密度函式

邏輯斯蒂迴歸分佈的密度函式和分佈函式

不難看出,F(x)曲線在中心附近增長速度比較快,在兩端增長速度較慢。形狀引數

的值越小,曲線在中心附近增長得越快

3.模型引數估計

應用極大似然估計法估計模型

(1)設

(2)似然函式

(3)對數似然函式

(4)梯度下降

最後括號中表達式就是訓練時的誤差,從而我們可以通過batch等方法進行隨機梯度下降

4.揭祕sigmoid

定義表示式
A(u,v):如果u == v,則A(u,v) = 1 ,否則為0
表示x的label為u的概率

滿足條件


第三個條件可以簡單的從頻率學派和貝葉斯學派理解

優化目標(拉格朗日)

求梯度
最終可以得到

對於分類問題,我們最終要確保每個類別概率之和為1

因此

通過化簡可得

5.在二分類問題中,為什麼棄用傳統的線性迴歸模型,改用邏輯斯蒂迴歸?

線性迴歸用於二分類時,首先想到下面這種形式,p是屬於類別的概率:

但是這時存在的問題是:

1)等式兩邊的取值範圍不同,右邊是負無窮到正無窮,左邊是[0,1],這個分類模型的存在問題

2)實際中的很多問題,都是當x很小或很大時,對於因變數P的影響很小,當x達到中間某個閾值時,影響很大。即實際中很多問題,概率P與自變數並不是直線關係。

所以,上面這分類模型需要修整,怎麼修正呢?統計學家們找到的一種方法是通過logit變換對因變數加以變換,具體如下:

從而,

這裡的P完全解決了上面的兩個問題。

6.從最根本的廣義線性模型角度,匯出經典邏輯迴歸

1)指數家族

當固定T時,這個分佈屬於指數家族中的哪種分佈就由a和b兩個函式決定。下面這種是伯努利分佈,對應於邏輯迴歸問題

注:從上面可知 ,從而,在後面用GLM導logistic regression的時候會用到這個sigmoid函式。

下面這種是高斯分佈,對應於經典線性迴歸問題

2)GLM(廣義線性模型)

指數家族的問題可以通過廣義線性模型來解決。如何構建GLM呢?在給定x和引數後,y的條件概率p(y|x,θ) 需要滿足下面三個假設:

assum1) y | x; θ ∼ ExponentialFamily(η).

assum2) h(x) = E[y|x]. 即給定x,目標是預測T(y)的期望,通常問題中T(y)=y

assum3) η = θTx,即η和x之間是線性的

3)經典邏輯迴歸

邏輯迴歸:以二分類為例,預測值y是二值的{1,0},假設給定x和引數,y的概率分佈服從伯努利分佈(對應構建GLM的第一條假設)。由上面高斯分佈和指數家族分佈的對應關係可知,,根據構建GLM的第2、3條假設可model表示成:

可以從GLM這種角度理解為什麼logistic regression的公式是這個形式~

7.實戰體驗

二分類問題,分類邊界實乃重中之重。訓練樣本是否均衡、樣本權重都會對邊界有影響

C1、C2為類別,圖片引用於PRML
瞭解下Fisher判別函式對理解分類問題本質會有很大幫助

8.多項邏輯斯蒂迴歸

假設離散型隨機變數Y的取值集合是{1,2…,K},那麼多項邏輯斯蒂迴歸模型是



類似於CNN分類最後一層softmax

9.Tip

  • 訓練速度快
  • 資料量比較少的時候容易過擬合,這與使用極大似然估計(本質上為均值)是有關的
  • 特徵One-hot
  • 設計組合特徵
  • 進行多分類的時候,思考下不同label之間是否有關係,從而覺得到底使用多個二分類還是一個多分類