数值最优化—无约束问题最速下降法和Newton法

本文介绍了数值优化中的最速下降法,通过负梯度方向寻找下降路径,并与Newton法进行对比,后者利用二阶导数信息找到更精确的下降方向。两种方法在无约束问题上的迭代策略详细阐述,适合初学者理解优化算法核心原理。

一、参考

《数值最优化算法与理论》

二、最速下降法

数值最优化—无约束问题的下降算法与线性搜索 可知,负梯度方向 − ∇ f ( x ( k ) ) -\nabla f(x^{(k)}) f(x(k))是函数 f f f x ( k ) x^{(k)} x(k)处的一个下降方向。令 d ( k ) = − ∇ f ( x ( k ) ) d^{(k)}=-\nabla f(x^{(k)}) d(k)=f(x(k))。我们称 d ( k ) d^{(k)} d(k)为函数 f f f x ( k ) x^{(k)} x(k)处的最速下降方向。相应的算法称为最速下降算法,如下:

  1. 给定初始点 x ( 0 ) ∈ R n x^{(0)} \in R^n x(0)Rn,精度 ϵ > 0 \epsilon >0 ϵ>0。令 k = 0 k=0 k=0
  2. ∣ ∣ ∇ f ( x ( k ) ) ∣ ∣ ≤ ϵ ||\nabla f(x^{(k)})|| \leq \epsilon f(x(k))ϵ,则算法终止。得解 x ( k ) x^{(k)} x(k)。否则,计算 d ( k ) = − ∇ f ( x ( k ) ) d^{(k)} = -\nabla f(x^{(k)}) d(k)=f(x(k))。转3。
  3. 由线性搜素确定步长 α k \alpha _k αk
  4. x ( k + 1 ) = x ( k ) + α k d ( k ) , k = k + 1 x^{(k+1)} = x^{(k)} + \alpha _k d^{(k)}, k=k+1 x(k+1)=x(k)+αkd(k),k=k+1。转2。

在这里插入图片描述

三、Newton法

f f f二次连续可微且对任意 x ∈ R n , ∇ 2 f ( x ) x \in R^n, \nabla ^2 f(x) xRn,2f(x)正定。从 数值最优化—无约束问题的下降算法与线性搜索 可知,方向 d ( k ) = − ∇ 2 f ( x ( k ) ) − 1 ∇ f ( x ( k ) ) d^{(k)} = -\nabla ^2 f(x^{(k)})^{-1} \nabla f(x^{(k)}) d(k)=2f(x(k))1f(x(k))是函数 f f f x ( k ) x^{(k)} x(k)处的下降方向。该方向称为Newton方向。它是 f f f x ( k ) x^{(k)} x(k)处的二次近似式:
f ( x ( k ) ) + ∇ f ( x ( k ) ) T s + 1 2 s T ∇ 2 f ( x ( k ) ) s ≈ f ( x ( k ) + s ) f(x^{(k)}) + \nabla f(x^{(k)})^T s + \frac 1 2 s^T \nabla ^2 f(x^{(k)})s \approx f(x^{(k)} + s) f(x(k))+f(x(k))Ts+21sT2f(x(k))sf(x(k)+s)
的最小值点。或等价地, d ( k ) d^{(k)} d(k)是下面关于 d d d的线性方程组的解:
∇ 2 f ( x ( k ) ) d + ∇ f ( x ( k ) ) = 0 \nabla ^2 f(x^{(k)})d + \nabla f(x^{(k)}) = 0 2f(x(k))d+f(x(k))=0
此外Newton方向也可看成是在范数 ∣ ∣ ⋅ ∣ ∣ ∇ 2 f ( x ( k ) ) ||·||_{\nabla ^2 f(x^{(k)})} 2f(x(k))下的最速下降方向,即:
d ( k ) = − ∇ 2 f ( x ( k ) ) − 1 ∇ f ( x ( k ) ) d^{(k)} = -\nabla ^2 f(x^{(k)})^{-1} \nabla f(x^{(k)}) d(k)=2f(x(k))1f(x(k))
是极小化问题:
m i n d ∈ R n , d ≠ 0 ∇ f ( x ( k ) ) T d ∣ ∣ d ∣ ∣ G k \underset{d \in R^n, d \neq0}{min} \frac {\nabla f(x^{(k)})^Td} {||d||_{G_k}} dRn,d=0mindGkf(x(k))Td
的解,其中 G k = ∇ 2 f ( x ( k ) ) G_k = \nabla ^2 f(x^{(k)}) Gk=2f(x(k))

求解无约束问题的Newton法如下:

  1. 给定初始点 x ( 0 ) ∈ R n x^{(0)} \in R^n x(0)Rn,精度 ϵ > 0 \epsilon >0 ϵ>0。令 k = 0 k=0 k=0
  2. ∣ ∣ ∇ f ( x ( k ) ) ∣ ∣ ≤ ϵ ||\nabla f(x^{(k)})|| \leq \epsilon f(x(k))ϵ,则算法终止。得解 x ( k ) x^{(k)} x(k)。否则,解线性方程组
    ∇ 2 f ( x ( k ) ) d + ∇ f ( x ( k ) ) = 0 \nabla ^2 f(x^{(k)})d + \nabla f(x^{(k)}) = 0 2f(x(k))d+f(x(k))=0
    得解 d ( k ) d^{(k)} d(k)
  3. 由线性搜素确定步长 α k \alpha _k αk
  4. x ( k + 1 ) = x ( k ) + α k d ( k ) , k = k + 1 x^{(k+1)} = x^{(k)} + \alpha _k d^{(k)}, k=k+1 x(k+1)=x(k)+αkd(k),k=k+1。转2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ta o

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

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

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

打赏作者

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

抵扣说明:

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

余额充值