梯度下降法、正则化与逻辑回归1.梯度下降法
在介绍梯度下降法之前,先介绍下泰勒公式,泰勒公式的基本形式如下:
f(x)=f(x0)+f′(x0)(x−x0)+1 2f″
令x=w t+1,w t+1代表第t+1次参数向量的值;令x0=w t,代表第t次参数向量的值;其中w共有k个参数,w=[w1,w2,…,w k];令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}
分别对w i求偏导,得
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}}}}}
其中,w T x=w1x1+w2x2+…+w n x n,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}}}
其中,x ij是第i个样本x i的第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)}}
Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。