梯度下降法中步长更新公式

  凸优化问题有一个重要的特性:所有的局部最优解一定是全局最优解。
  但实际中的问题往往不是凸的,或者说其梯度很难求解,所以我们想要得到精确的解很难。工程上一般用迭代法求近似解。它的思想是,从一个初始点开始,反复使用某种规则移动到下一个点,构造这样一个数列,直至收敛到梯度为0的点处。即有下列极限成立。
lim ⁡ k → + ∞ ∇ f ( x k ) = 0 \mathop {\lim }\limits_{k \to + \infty } \nabla f\left( {{x_k}} \right) = 0 k+limf(xk)=0
迭代法中核心是利用一阶或者二阶导数信息,得到由上一个点确定一个点的迭代公式:
x k + 1 = h ( x k ) {x_{k + 1}} = h\left( {{x_k}} \right) xk+1=h(xk)
由于在最小化算法的设计中,要求迭代过程中目标函数是下降的,也就是:
f ( x k + 1 ) < f ( x k ) f\left( {{x_{k + 1}}} \right) < f\left( {{x_k}} \right) f(xk+1)<f(xk)
又因为目标函数在 x k + 1 {{x_{k + 1}}} xk+1的一阶泰勒展开为:
f ( x k + 1 ) ≈ f ( x k ) + ( ∇ f ( x k ) ) T Δ x k f\left( {{x_{k + 1}}} \right) \approx f\left( {{x_k}} \right) + {\left( {\nabla f\left( {{x_k}} \right)} \right)^T}\Delta {x_k} f(xk+1)f(xk)+(f(xk))TΔxk
可以知道,当 ( ∇ f ( x k ) ) T Δ x k < 0 {\left( {\nabla f\left( {{x_k}} \right)} \right)^T}\Delta {x_k}<0 (f(xk))TΔxk<0的时候,有 f ( x k + 1 ) < f ( x k ) f\left( {{x_{k + 1}}} \right) < f\left( {{x_k}} \right) f(xk+1)<f(xk)
所以称使得 ( ∇ f ( x k ) ) T Δ x k < 0 {\left( {\nabla f\left( {{x_k}} \right)} \right)^T}\Delta {x_k}<0 (f(xk))TΔxk<0的搜索方向 Δ x k \Delta {x_k} Δxk叫做目标函数在第k次迭代时的下降方向。
又两个向量相乘等于模长乘以cosθ。
( ∇ f ( x k ) ) T Δ x k = ∥ ∇ f ( x k ) ∥ ∙ ∥ Δ x k ∥ cos ⁡ θ {\left( {\nabla f\left( {{x_k}} \right)} \right)^T}\Delta {x_k} = \left\| {\nabla f\left( {{x_k}} \right)} \right\| \bullet \left\| {\Delta {x_k}} \right\|\cos \theta (f(xk))TΔxk=f(xk)Δxkcosθ
这里,cosθ=[-1,1],只有当cos<0时,上式才会小于0。特别的,当θ= π \pi π时,有极小值。此时, f ( x + Δ x ) f(x + \Delta x) f(x+Δx)沿着x的梯度方向下降最快。下降值为: ∥ ∇ f ( x k ) ∥ ∙ ∥ Δ x k ∥ \left\| {\nabla f\left( {{x_k}} \right)} \right\| \bullet \left\| {\Delta {x_k}} \right\| f(xk)Δxk
α \alpha α为一个接近于0的数,称为步长,有, Δ x = − α ∇ f ( x ) \Delta x = - \alpha \nabla f(x) Δx=αf(x)
所以有, f ( x − α ∇ f ( x ) ) < ∼ f ( x ) f\left( {x - \alpha \nabla f(x)} \right)\mathop < \limits_ \sim f(x) f(xαf(x))<f(x)
这就意味着,我们如果用 x ← x − α ∇ f ( x ) x \leftarrow x - \alpha \nabla f(x) xxαf(x)来迭代x,目标函数f(x)的值可能降低。所以在梯度下降中,我们先选取一个初始值x和常数α>0,然后通过上式不断来迭代x,直到达到停止条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路明非的sakura

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值