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)}}$

posted on 2018-10-24 16:07  媛阿柴  阅读(1912)  评论(0编辑  收藏  举报