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+1,wt+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+…+wnxn,x為樣本特征,w為樣本對應的系數,在已知樣本特征x和最終分類結果y(1或者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)}}$