1. 程式人生 > >統計學習六:1.對數線性模型之邏輯回歸

統計學習六:1.對數線性模型之邏輯回歸

最優化 clas distrib 技術分享 mat 計算 隨機 res 類模型

全文引用自《統計學習方法》(李航)

本節介紹的對數線性模型,主要包括邏輯斯諦回歸(logistic regression)模型以及最大熵模型(maximum entropy model)。邏輯斯諦回歸模型是統計學中十分經典的分類方法,而最大熵是概率學習中的一個準則,通過推廣到分類問題,可以得到最大熵模型。本文主要介紹邏輯斯諦回歸模型,並在以後詳細介紹最大熵模型以及對數線性模型的優化方法。

1.邏輯斯諦分布

邏輯斯諦分布(logistic distribution)定義: 設X是連續的隨機變量,則X服從邏輯斯諦分布是指其滿足一下分布函數和密度函數:
\[ \begin{aligned} F(x)=P(X\le x)=\frac{1}{1+e^{-(x-\mu)/\gamma}}\f(x)=F‘(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} \end{aligned} \]


式中,\(\mu\)為位置參數,\(\gamma > 0\)為形狀參數。
邏輯斯諦回歸分布的密度函數和分布函數的形狀如下圖:
技術分享圖片
分布函數F(x)即邏輯斯諦函數,其圖形是一條s形曲線,以\((\mu, \frac{1}{2})\)點為中心呈中心對稱,即滿足
\[ F(-x+\mu)-\frac{1}{2}=-F(x-\mu)+\frac{1}{2} \]
形狀參數\(\gamma\)越小,曲線在對稱中心附近增長越快。

2.二項邏輯斯諦回歸模型

二項邏輯斯諦回歸模型(binomial logistic regression model)是一種分類模型,由條件概率P(Y|X)表示,其形式為參數化的邏輯斯諦分布。其中,隨機變量X為實數,隨機變量Y取值0或1。則二項邏輯斯諦回歸模型形式如下:
\[ \begin{aligned} P(Y=1|x)=\frac{\exp(w\cdot x+b)}{1+\exp(w\cdot x+b)}\P(Y=0|x)=\frac{1}{1+\exp(w\cdot x+b)} \end{aligned} \]


其中,\(x\in R^n\)為模型輸入實例,\(Y\in\{0,1\}\)為模型輸出,\(w\in R^n.b\in R\)為參數,w稱為權值向量,b稱為偏置,\(w\cdot x\)為兩者的內積。
對於給定的輸入實例x,按照上式進行計算,可以得到P(Y=1|x)和P(Y=0|x),則邏輯回歸模型比較兩者的大小,將實例分為概率較大的一類。
通常為了計算方便,會將權值向量和輸入向量擴展為\(w=(w^{(1)},w^{(2)},\cdots,w^{(n)},b)^T,x=(x^{(1)},x^{(2)},\cdots,x^{(n)},1)^T\),同時,邏輯斯諦回歸模型的形式如下:
\[ \begin{aligned} P(Y=1|x)=\frac{\exp(w\cdot x)}{1+\exp(w\cdot x)}\P(Y=0|x)=\frac{1}{1+\exp(w\cdot x)} \end{aligned} \]

定義一個事件的幾率(odds)為該事件發生的概率和該事件不發生的概率之比,若一個事件發生的概率為p,那麽該事件的幾率為\(\frac{p}{1-p}\),則該事件的對數幾率(log odds)或logit函數是:
\[ logit(p)=\log\frac{p}{1-p} \]
則對於邏輯斯諦回歸模型而言,Y=1的幾率為:
\[ \log\frac{P(Y=1|x)}{1-P(Y=1|x)}=w\cdot x \]
即,在邏輯斯諦回歸模型中,輸出Y=1的對數幾率是輸入x的線性函數,或輸出Y=1的對數幾率是由輸入x的線性函數表示的模型此模型即為邏輯斯諦回歸模型。

3. 模型的參數估計

對於邏輯斯諦回歸模型的學習流程,主要是對於給定的訓練數據集\(T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},x_i\in R^n,y_i\in\{0,1\}\),利用極大似然估計法來估計模型的參數,從而得到邏輯斯諦回歸模型。
假設:\(P(Y=1|x)=\sigma(x),P(Y=0|x)=1-\sigma(x)\)
則似然函數為:
\[ \prod_{i=1}^N[\sigma(x_i)]^{y_i}[1-\sigma(x_i)]^{1-y_i} \]
對數似然函數為:
\[ \begin{aligned} L(w)&=\sum_{i=1}^N[y_i\log\sigma(x_i)+(1-y_i)\log(1-\sigma(x_i))]\&=\sum_{i=1}^N\left[y_i\log\frac{\sigma(x_i)}{1-\sigma(x_i)}+\log(1-\sigma(x_i))\right]\&=\sum_{i=1}^N[y_i(w\cdot x_i)-\log(1+\exp(w\cdot x_i))] \end{aligned} \]
此時,對L(w)求最大值,即得到w的估計值。
因此,模型的學習問題就變成了以對數似然函數為目標函數的最優化問題。通常采用梯度下降法或擬牛頓法來求取最優值。
假定w的極大似然估計值為\(\hat{w}\),則學習到的邏輯斯諦回歸模型為:
\[ \begin{aligned} P(Y=1|x)=\frac{\exp(\hat{w}\cdot x)}{1+\exp(\hat{w}\cdot x)}\P(Y=0|x)=\frac{1}{1+\exp(\hat{w}\cdot x)} \end{aligned} \]

4.多項邏輯斯諦回歸模型

針對多分類問題,可以將二項分類的邏輯斯諦回歸模型進行推廣,稱為多項邏輯斯諦回歸模型。
假定離散型隨機變量Y的取值集合為\(\{1,2,\cdots,K\}\),那麽多項邏輯斯諦回歸模型為:
\[ \begin{aligned} P(Y=k|x)=\frac{\exp(w_k\cdot x)}{1+\sum_{k=1}^{K-1}\exp(w_k\cdot x)},k=1,2,\cdots,K-1\P(Y=K|x)=\frac{1}{1+\sum_{k=1}^{K-1}\exp(w_k\cdot x)} \end{aligned} \]
其中\(x\in R^{n+1},w_k\in R^{n+1}\)
而二項邏輯斯諦回歸模型的參數估計方法,也可以推廣到多項邏輯斯諦回歸模型中。

統計學習六:1.對數線性模型之邏輯回歸