邏輯迴歸的原理推導

LR用於解決二分類問題。可以認爲LR模型擬合的是z=w*x+b 這條直線(分類邊界),使得儘可能地將數據中的兩個類別正確的分開。
預測函數:

   hω(x)=g(ωTx)=11+eωTxh_{\omega}(x) = g(\omega^{T}x) = \frac{1}{1+e^{-\omega^{T}x}}
   0hω(x)10\le h_{\omega}(x)\le 1

輸出值不表示預測結果,而是數據被預測爲1(正例)的概率: P(y=1x;ω)=hω(x)P(y=1|x;\omega) = h_{\omega}(x)
那麼預測爲負例的概率就是1hω(x)=P(y=0x;ω)1-h_{\omega}(x) = P(y=0|x;\omega)

損失函數:
  L(ω)=ylogy^(1y)log(1y^)L(\omega) = -ylog\hat{y} -(1-y)log(1-\hat{y})
用極大似然估計的方法得出。

邏輯迴歸如果用誤差平方和作爲損失函數的話,
L(ω)=1ni=1n(ϕ(z(i))y(i))2L(\omega) = \dfrac{1}{n} \sum_{i=1}^{n}(\phi(z^{(i)}) - y^{(i)})^2
其中,i表示第i個樣本點,y(i)y^{(i)}表示第i個樣本的真實值,ϕ(z(i))\phi(z^{(i)})表示第i個樣本的預測值,
   ϕ(z)=11+ez,z(i)=wTx(i)+b\phi(z)=\frac{1}{1+e^{-z}}, z^{(i)} = w^Tx^{(i)} + b ;
此時,將ϕ(z(i))=11+ez\phi(z^{(i)})=\frac{1}{1+e^{-z}} 代入的話,會發現這是一個非凸函數,
這就意味着代價函數有着許多的局部最小值,不利於我們的求解。
解決方法就是用極大似然估計。

爲什麼用負對數似然作爲損失函數呢?

極大似然估計:

hω(x)h_{\omega}(x)視爲Y=1的後驗估計,假設因變量y服從伯努利分佈,取值爲0和1,那麼
     p(y=1x)=hω(x)p(y=1|x) = h_{\omega}(x)
     p(y=0x)=1hω(x)p(y=0|x) = 1-h_{\omega}(x)
兩式合併:p(yx)=hω(x)y(1hω(x))1yp(y | x) = h_{\omega} (x)^y (1-h_{\omega} (x))^{1-y}

對n個數據 {(x1,y1),   (x2,y2),   (x3,y3), … (Xn,Yn)},看作一組事件發生的總概率:
  P總 = p(y1|x1)p(y2|x2)p(y3|x3)…p(yn|xn)
     = n=1Npyn(1p)1yn\prod_{n=1}^{N} p^{y_{n}}(1-p)^{1-y_{n}}
這裏,p(yx)=hωp(y|x)=h_{\omega}是一個關於w的函數,x,y是已知數據,所以
P總是一個關於w的函數,未知變量只有一個w。

用極大似然估計來根據給定的訓練集估計出參數w:

(1) 寫出極大似然函數(Likehood)如下:
L(ω)=i=1mp(yixi;ω)=i=1mhω(xi)yi(1hω(xi)1yi\begin{aligned} L(\omega)&= \prod_{i=1}^{m} p(y_i | x_i; \omega) \\ &= \prod_{i=1}^{m} h_{\omega}(x_i)^{y_i} (1-h_{\omega}(x_i)^{1-y_i} \\ \end{aligned}
可見,似然函數L(w)和上面的PP_{總}是一樣的。

(2) 兩邊取對數:
l(w)=lnL(w)=i=1m[yiln(hω(xi))+(1yi)ln(1hω(xi))]l(w)=lnL(w)=\sum_{i = 1}^m [ y_{i}ln(h_{\omega}(x_{i})) + (1 - y_{i})ln(1-h_{\omega}(x_{i})) ]
取對數後l(w)與PP_{總}的單調性是一樣的。

參數估計的意思就是,通過改變w的值,使得PP_{總}有不同的取值,
選取使PP_{總}最大的那個ω\omega^{*},就認爲是我們要求得的w。寫成公式:
  ω=argmaxωl(ω)\omega^{*} = \mathop{\arg\max}_{\omega}l(\omega)

(2.5) 取負號
爲了讓最大似然值和最小損失相對應,
在l(w)前面加個負號,就從最大似然變爲最小化負對數似然函數,作爲LR的損失函數。
LR的損失函數是這麼來的!

J(ω)=1ml(ω)=1mi=1m[yiln(hω(xi))+(1yi)ln(1hω(xi))]\begin{aligned} J(\omega) &= - \frac{1}{m} l(\omega) \\ &= - \frac{1}{m} \sum_{i = 1}^m [ y_{i}ln(h_{\omega}(x_{i})) + (1 - y_{i})ln(1-h_{\omega}(x_{i})) ] \\ \end{aligned}     {損失函數}
簡記爲:
  Loss(ω)=ylogy^(1y)log(1y^)Loss(\omega) = -ylog\hat{y} -(1-y)log(1-\hat{y})

(3) 將對數似然函數對各參數求偏導數 並令其爲0,得到對數似然方程組。
(4) 從方程組中解出各個參數。
既然要求J(w)的極小值,這裏就換用梯度下降法求w
wj:=wj+Δwj, Δwj=ηJ(w)wjw_j := w_j + \Delta w_j,\ \Delta w_j = -\eta \dfrac{\partial J(w)}{\partial w_j}

先求偏導:
J(ω)ωj=1m[yi1hω(xi)hω(xi)ω+(1yi)11hw(xi)hω(xi)ω]=1mim[yihω(xi)hω(xi)(1hω(xi))]hω(xi)ω\begin{aligned} \frac{ \partial J(\omega)} {\partial \omega_j} &= -\frac{1}{m} \sum [ y_{i} \frac{1}{h_{\omega}(x_i)} \dfrac{\partial h_{\omega}(x_i)}{\partial \omega} +(1-y_i) \frac{-1}{1-h_{w}(x_i)} \dfrac{\partial h_{\omega}(x_i)}{\partial \omega}] \\ &= -\frac{1}{m} \sum_{i}^{m} [ \dfrac {y_i - h_{\omega}(x_i)} { h_{\omega}(x_i)(1-h_{\omega}(x_i)) } ] \dfrac{\partial h_{\omega}(x_i)}{\partial \omega} \\ \end{aligned}
hω(x)h_{\omega}(x) 首先是個sigmoid函數,其導數 g’(x) = g(x)(1 - g(x)) ,於是
把下面h(x)對w的偏導數代入上式:

hω(xi)ω=hw(xi)(1hω(xi))(ωTx)ωj=xi,jhω(xi)(1hω(xi))\begin{aligned} \dfrac{\partial h_{\omega}(x_i)}{\partial \omega} &= h_{w}(x_i)(1-h_{\omega}(x_i))\dfrac{\partial (-\omega^Tx)}{\partial \omega_j} \\ &= -x_{i,j} h_{\omega}(x_i)(1-h_{\omega}(x_i)) \end{aligned}
繼續得到:
J(ω)ωj=1mim(yihω(xi))(xi,j)=1mim(yixi,j+hω(xi)xi,j)=1mim(hω(xi)yi)xi,j\begin{aligned} \frac{ \partial J(\omega)} {\partial \omega_j} &= - \frac{1}{m} \sum_{i}^{m} (y_i - h_{\omega}(x_i)) (-x_{i,j}) \\ &= - \frac{1}{m} \sum_{i}^{m} (-y_i \cdot x_{i,j} + h_{\omega}(x_i) \cdot x_{i,j}) \\ & = -\frac{1}{m} \sum_{i}^{m} (h_{\omega}(x_i) - y_i) x_{i,j} \end{aligned}
上述中xi,jx_{i,j}表示第i個樣本的第j個屬性的取值。

於是,ω\omega的更新方式:
   ωj+1=ωjαi=1m(hω(xi)yi)xi,j\omega_{j+1} = \omega_j - \alpha \sum_{i=1}^{m} (h_{\omega}(x_i) - y_i) x_{i,j}

對於隨機梯度下降,每次只取一個樣本,則ω的更新方式爲:
   ωj+1=ωjα(hω(x)y)xj\omega_{j+1} = \omega_j - \alpha (h_{\omega}(x) - y) x_{j}
xj 爲這個樣本第j個屬性的值。

寫成矩陣的形式:
   WWαXT(Y^Y)W \leftarrow W - \alpha X^T(\hat{Y} - Y)

用梯度下降估計出似然函數的ω,就可以代入預測函數使用了,
Tips: 似然最大就是損失最小。




參考:
邏輯迴歸的本質–極大似然估計
邏輯迴歸
公式推導

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章