1. 程式人生 > >機器學習演算法之: 邏輯迴歸 logistic regression (LR)

機器學習演算法之: 邏輯迴歸 logistic regression (LR)

by joey周琦

LR介紹

邏輯迴歸屬於probabilistic discriminative model這一類的分類演算法

probabilistic discriminative mode這類演算法的思路如下:
- 直接建模 P(Ck|x)
- 利用最大似然估計和訓練資料,估計出模型中的引數

該類想法相對於生成模型(probabilistic generated model) 有引數較少的優點。因為生成模型需要 P(x|Ck) 和先驗概率 P(Ck)

.

LR是工業界最長用的分類演算法之一,其主要原因,個人認為有幾點如下:

  • 訓練速度快,扛得住大資料
  • 模型可解釋度、可理解程度高,根據每個特徵的係數,就可以判斷出該特徵在模型中的重要性,幫助判斷模型是否合理
  • 可以接受的精度

本文,對LR做一個簡單的總結

LR二分類

首先做下簡單的符號說明,在下述推導中, N 為樣本個數, M 為特徵數目, xRM 為特徵向量, K 為可分類的總數, P(Ck|x)

表示在特徵向量的前提下,判別為第k類的概率。 wRM 為LR模型的引數,即訓練LR的主要目的就是要得到 w

對於 K=2 類,建模如下:

P(C1|x)=y(x)=σ(wTx)=11+ewTx

σ 是logistic sigmoid function, 它有個性質(1):

dσ(a
)
da
=σ(1σ)

其中 yn=σ(an) an=wTx 。假設我們有資料集{ xn,tn }, n=1...N , N 為資料集的大小, n 表示第n個樣本, tn=0or1 表示第 n 個樣本的真實類別,設 t=(t1,,tN) ,那麼似然函式可以寫為如下形式:

p(t|w)=n=1Nytnn(1yn)1tn

最大化似然函式等價於最大化對數似然函式可以寫為

lnp(t|w)=n=1Ntnlnyn+(1tn)ln(1yn)

我們要最大化對數似然函式,就是等價於對數似然函式的相反數,則最小化目標函式可以寫為:

J=lnp(t|w)=n=1Ntnlnyn+(1tn)ln(1yn)

目標函式對引數 w 求導,利用上述 σ 函式的性質1,可以推到得到:

Jw=n=1N(yntn)xn

可以利用梯度下降法對引數 w 進行更新.更新公式為:

w=wλJw=wλn=1N(yntn)xn

其中 λ 是學習率,可以自己設定一個比較小的數字,或者通過其他演算法計算(比如牛頓法)。可以看到每次更新都要有一個 N 想得加和,這樣很需要時間,所以更新策略可以採用“隨機梯度下降法”,每次只用一個樣本,如下:

w=wλJw=wλ(yntn)x

這樣大大節約了訓練時間,也不會特別影響精度。有些系統為了避免過擬合,目標函式中可以加入L1或者 L2正則項(這裡採用L2),可以避免 ||w||2 過大,也就是為了避免模型為了擬合訓練資料而變得過於複雜。加入正則項後,目標函式變為

J=J+α2||w||2

其中 α 為正則項懲罰係數。那麼隨機梯度的更新策略也就變為了

w=wλJw=wλ(yntn)<