梯度和梯度下降详解

梯度

     假设对于函数F(x),在其图象中有一点a,在a点的梯度是F(x)增长最快的方向,梯度本身是一种上升的趋势。

梯度下降

概念:对于F(x),在a点的梯度是F(x)增长最快的方向,那么它的相反方向则是该点下降最快的方向, 梯度下降算法是一种求局部最优解的方法。

原理:将函数比作一个山谷,如下图,我们站在山坡上的某处,往四周看,找出一个方向,使得沿着这个方向向下走一小步,能够下降的最快;刚开始走的步伐可能会大一些,随着越来越接近谷底,步伐也就越来越小,直到最终到达谷底C点。

该图是目标函数在参数 w 和 b 坐标上的图形,我们希望通过不断迭代能够到达最低点 C

注意:当变量之间大小相差很大时,应该先将他们做处理,使得他们的值在同一个范围,这样比较准确。

1)首先对 W (有时也被叫作 θ)赋值,这个值可以是随机的,也可以让 W 是一个全零的向量。

2)改变 W 的值,使得J(W)按梯度下降的方向进行减少。

描述一下梯度减少的过程,对逻辑回归函数 J ( w ) J(w) J(w)求偏导:
δ δ w J ( w ) = − δ δ w 1 M ∑ i = 1 n ( y i log ⁡ h w ( x i ) + ( 1 − y i ) log ⁡ ( 1 − h w ( x i ) ) ) \frac{\delta}{\delta w}J(w)=-\frac{\delta}{\delta w}\frac{1}{M}\sum_{i=1}^n (y^i\log h_w(x^i)+(1-y^i)\log (1-h_w(x^i))) δwδJ(w)=δwδM1i=1n(yiloghw(xi)+(1yi)log(1hw(xi)))
下面分别对参数   θ   ~\theta~  θ    b   ~b~  b 更新的过程:
     参数更新也就是   θ   ~\theta~  θ    b   ~b~  b 会向着梯度最小的方向进行减少。   θ i   ~\theta_i~  θi 表示更新之前的值,j减号"-"后面的部分表示按梯度方向减少的量,α是学习率(也叫步长,即每次下降的大小,可以自己设定,一般为0.0001、0.001、0.01、0.1……),也就是每次按照梯度减少的方向变化多少。
在这里插入图片描述
通过梯度下降我们最终可以收敛到这个全局最优值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值