凸优化简介6

本文介绍了牛顿法在寻找函数根和解决非线性方程问题中的应用,详细讨论了牛顿法的迭代公式、收敛性和不同收敛率,包括次线性、线性和二次收敛率。此外,还探讨了牛顿法在凸优化中的局限性,如矩阵逆计算可能导致的问题,并提到了变度量方法,如拟牛顿法作为替代策略。
摘要由CSDN通过智能技术生成

牛顿法

1. 牛顿法分析

牛顿法是寻找单变量函数根的方法。设函数 f ( t ) : R → R , f ( t ∗ ) = 0 f(t): R \rightarrow R, f(t^*)=0 f(t):RR,f(t)=0。牛顿法基于线性逼近,假定有和 t ∗ t^* t足够接近的 t t t,则使用泰勒展开式得到 f ( t + Δ t ) = f ( t ) + f ′ ( t ) Δ t + o ( ∣ Δ t ∣ ) f(t+\Delta t)=f(t)+f'(t)\Delta t+o(|\Delta t|) f(t+Δt)=f(t)+f(t)Δt+o(Δt)。因此,等式 f ( t + Δ t ) = 0 f(t+\Delta t)=0 f(t+Δt)=0可以使用线性等式 f ( t ) + f ′ ( t ) Δ t = 0 f(t)+f'(t)\Delta t=0 f(t)+f(t)Δt=0来逼近。期望最优位移 Δ t ∗ = t ∗ − t \Delta t^*=t^*-t Δt=tt是一个好的逼近,则结合上面的线性逼近等式可以得到对 t t t的更新 t k + 1 = t k − f ( t k ) f ′ ( t k ) t_{k+1}=t_k-\frac{f(t_k)}{f'(t_k)} tk+1=tkf(tk)f(tk)
进一步的,将这种方法扩展到寻找非线性方程的解 F ( x ) = 0 , x ∈ R n , F ( x ) : R n → R n F(x)=0, x\in \mathbb{R}^n, F(x):\mathbb{R^n}\rightarrow \mathbb{R}^n F(x)=0,xRn,F(x):RnRn。类比上面的线性等式,可以写出针对非线性方程的一个等式 F ( x ) + J F ( x ) Δ x = 0 F(x)+J_{F}(x)\Delta x=0 F(x)+JF(x)Δx=0,称为牛顿方程组。如果雅可比矩阵 J F ( x ) J_F(x) JF(x)是可逆的,则类比线性的情况可以得到关于位移的等式 Δ x = − [ F ′ ( x k ) ] − 1 F ( x k ) \Delta x=-[F'(x_k)]^{-1}F(x_k) Δx=[F(xk)]1F(xk),迭代中更新 x x x的公式为 x k + 1 = x k − [ J F ( x k ) ] − 1 F ( x k ) x_{k+1}=x_{k}-[J_F(x_k)]^{-1}F(x_k) xk+1=xk[JF(xk)]1F(xk)
由于函数的极小值处 ∇ f ( x ) = 0 \nabla f(x)=0 f(x)=0 (可能不是全局的最小值),因此,类别上面的方法,得到关于 Δ x \Delta x Δx一个等式 ∇ f ( x ) + ∇ 2 f ( x ) Δ x = 0 \nabla f(x)+\nabla^2f(x)\Delta x=0 f(x)+2f(x)Δx=0,因此在迭代中更新的方法为 x k + 1 = x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) x_{k+1}=x_k-[\nabla^2 f(x_k)]^{-1}\nabla f(x_k) xk+1=xk[2f(xk)]1f(xk)
在严格局部最小的邻域内起始,牛顿方法收敛很快。但是由于在迭代中使用到了雅可比矩阵的逆,因此如果在迭代中可能出现矩阵不可逆的问题;此外,牛顿方法有可能发散。
例如,函数 f ( x ) = x 1 + x 2 f(x)=\frac{x}{\sqrt{1+x^2}} f(x)=1+x2 x,则 f ′ ( x ) = 1 ( 1 + x 2 ) 3 2 f'(x)=\frac{1}{(1+x^2)^{\frac{3}{2}}} f(x)=(1+x2)231,应用上面的迭代公式得到 x k + 1 = x k − f ( x ) f ′ ( x k ) = − x k 3 x_{k+1}=x_k-\frac{f(x)}{f'(x_k)}=-x^3_{k} xk+1=xkf(xk)f(x)=xk3. 因此,如果初始点 ∣ x 0 ∣ < 1 |x_0| < 1 x0<1则算法会收敛到是的函数达到极小值的 x ∗ = 0 x^*=0 x=0,但是如果初始点 ∣ x 0 ∣ > 1 |x_0|> 1 x0>1,则该方法会发散。因此,为了避免发散,可以使用阻尼牛顿方法,即加上一个学习率 x k + 1 = x k − h k [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) x_{k+1}=x_{k}-h_k[\nabla^2 f(x_k)]^{-1}\nabla f(x_k) xk+1=xkhk[2f(xk)]1f(xk)。关于步长可以比较凸优化简介5中的梯度方法。
下面分析一下牛顿法的收敛性,假设 f ∈ C M 2 , 2 ( R n ) f\in C_{M}^{2,2}(\mathbb{R}^n) fCM2,2(Rn),且函数 f f f存在局部的极小值,且Hessian 矩阵是正定的 ∇ 2 f ( x ∗ ) ⪰ l I n , l > 0 \nabla^2 f(x^*) \succeq lI_n, l > 0 2f(x)lIn,l>0,并且假设初始点 x 0 x_0 x0 x ∗ x^* x足够的近。
在上面的迭代公式 x k + 1 = x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) ⇒ x k + 1 − x ∗ = x k − x ∗ − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) = x k − x ∗ − [ ∇ 2 f ( x k ) ] − 1 ∫

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值