梯度下降法、正則化與邏輯回歸


1.梯度下降法

在介紹梯度下降法之前,先介紹下泰勒公式,泰勒公式的基本形式如下:

$f(x)=f({{x}_{0}})+{{f}^{'}}({{x}_{0}})(x-{{x}_{0}})+\frac{1}{2}{{f}^{''}}({{x}_{0}}){{(x-{{x}_{0}})}^{2}}+\cdots $

x=wt+1wt+1代表第t+1次參數向量的值;令x0=wt,代表第t次參數向量的值;其中w共有k個參數,w=[w1,w2,…,wk];令x-x0=w,取一階泰勒公式,則:

$f({{\boldsymbol{w} }^{t+1}})\approx f({{\boldsymbol{w}}^{t}})+{{f}^{'}}({{\boldsymbol{w}}^{t}})\cdot \Delta \boldsymbol{w}$

由於是梯度下降,所以\(f({\boldsymbol{w}^{t + 1}}) \le f({\boldsymbol{w}^t})\),所以

$\Delta \boldsymbol{w}=\text{-}\alpha \cdot {{f}^{'}}({{\boldsymbol{w}}^{t}})$

令函數f為損失函數J,則

${{\boldsymbol{w}}^{t+1}}={{\boldsymbol{w}}^{t}}\text{-}\alpha \cdot {{J}^{'}}({{\boldsymbol{w}}^{t}})$

故第t+1次參數向量的值等於第t次參數向量的值減去損失函數偏導乘以學習率α

2.正則化

為了防止過擬合,一般采用正則化,正則化一般分為L1正則化和L2正則化,分別為:

${J_1}(\boldsymbol{w}) = J(\boldsymbol{w}) + \lambda \sum\limits_{i = 1}^k {\left| {{w_i}} \right|} $

${J_2}(\boldsymbol{w}) = J(\boldsymbol{w}) + \frac{\lambda }{2}\sum\limits_{i = 1}^k {w_i^2} $

分別對wi求偏導,得

$w_i^{t + 1} = w_i^t - \alpha \frac{{\partial J(\boldsymbol{w})}}{{\partial w_i^t}} - \lambda \alpha {\mathop{\rm sgn}} (w_i^t)$

$w_i^{t + 1} = w_i^t - \alpha \frac{{\partial J(\boldsymbol{w})}}{{\partial w_i^t}} - \lambda \alpha w_i^t$

最后,

L1正則化:   $w_i^{t + 1} = w_i^t - \alpha (\frac{{\partial J(\boldsymbol{w})}}{{\partial w_i^t}} + \lambda {\mathop{\rm sgn}} (w_i^t))$

L2正則化:       $w_i^{t + 1} = (1 - \lambda \alpha )w_i^t - \alpha \frac{{\partial J(\boldsymbol{w})}}{{\partial w_i^t}}$

從以上公式可以發現L1正則化相對於L2正則化更容易產生數據稀疏性,並且兩則都可以防止過擬合。

3.邏輯回歸

邏輯回歸是建立在線性回歸的基礎上,一般采用sigmoid函數來擬合,即

${h_\boldsymbol{w}}(\boldsymbol{x}) = \frac{1}{{1 + {e^{ - {\boldsymbol{w}^T}\boldsymbol{x}}}}}$

其中,wTx=w1x1+w2x2+…+wnxnx為樣本特征,w為樣本對應的系數,在已知樣本特征x和最終分類結果y1或者0)的前提下,求系數w使得損失函數最小。

假設有m個樣本,則相應的極大似然函數為

$L(\boldsymbol{w}) = \prod\limits_{i = 1}^m {{h_\boldsymbol{w}}{{({\boldsymbol{x}_i})}^{{y_i}}}{{(1 - {h_\boldsymbol{w}}({\boldsymbol{x}_i}))}^{1 - {y_i}}}} $

兩邊取對數化簡得損失函數J(w),求使損失函數最小的參數:

$J(\boldsymbol{w}) =  - \frac{1}{m}\sum\limits_{i = 1}^m {[{y_i}\ln {h_\boldsymbol{w}}({\boldsymbol{x}_i}) + (1 - {y_i})\ln (1 - {h_\boldsymbol{w}}({\boldsymbol{x}_i}))]} $

經化簡:

$\frac{{\partial J(\boldsymbol{w})}}{{\partial {w_j}}} =  - \frac{1}{m}\sum\limits_{i = 1}^m {[{y_i}\frac{1}{{{h_\boldsymbol{w}}({\boldsymbol{x}_i})}}{h_\boldsymbol{w}}({\boldsymbol{x}_i})(1 - {h_\boldsymbol{w}}({\boldsymbol{x}_i})){x_{ij}} + (1 - {y_i})\frac{{ - 1}}{{1 - {h_\boldsymbol{w}}({\boldsymbol{x}_i})}}{h_\boldsymbol{w}}({\boldsymbol{x}_i})(1 - {h_\boldsymbol{w}}({\boldsymbol{x}_i})){x_{ij}}]} $

$ =  - \frac{1}{m}\sum\limits_{i = 1}^m {[{y_i}(1 - {h_\boldsymbol{w}}({\boldsymbol{x}_i})){x_{ij}} - (1 - {y_i}){h_\boldsymbol{w}}({\boldsymbol{x}_i}){x_{ij}}]} $

$ =  - \frac{1}{m}\sum\limits_{i = 1}^m {({y_i}{x_{ij}} - {h_\boldsymbol{w}}({\boldsymbol{x}_i}){x_{ij}})} $

$ =  - \frac{1}{m}\sum\limits_{i = 1}^m {({y_i} - {h_\boldsymbol{w}}({\boldsymbol{x}_i})){x_{ij}}} $

其中,xij是第i個樣本xi的第j個特征,故

${w_j} = {w_j} + \alpha \sum\limits_{i = 1}^m {({y_i} - {h_\boldsymbol{w}}({\boldsymbol{x}_i})){x_{ij}}} $

如果m是全量樣本,則為批量梯度下降法(BGD),如果m是部分樣本,則為小批量梯度下降法(MBGD),如果m是一個樣本每次迭代從所有樣本中隨機選擇一個樣本代替所有樣本,則為隨機梯度下降法(SGD)。所以,邏輯回歸的m個樣本對第j個特征的梯度為:

${g_j} = \sum\limits_{i = 1}^m {({h_\boldsymbol{w}}({\boldsymbol{x}_i}) - {y_i}){x_{ij}}} $

如果是一個樣本,則

${g_j} = ({h_\boldsymbol{w}}({\boldsymbol{x}_i}) - {y_i}){x_{ij}}$

注:

1.sigmoid函數:$f(x) = \frac{1}{{1 + {e^{ - x}}}}$有如下性質:

(1). ${{f}^{'}}(x)=f(x)[1-f(x)]$

(2). $f( - x) = 1 - f(x)$

2.指數損失函數:

$J(y,h(x)) = {e^{ - y \cdot h(x)}}$


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM