牛顿法与拟牛顿法

本文介绍了牛顿法及其变种,包括基本描述、阻尼牛顿法,以及拟牛顿算法的原理和常见类型如DFP、BFGS、L-BFGS。这些方法用于解决函数极值和方程根的问题,通过迭代更新策略逼近解决方案,其中拟牛顿法降低了计算复杂度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:牛顿法与拟牛顿法学习笔记

参考:理解牛顿法

牛顿算法

1.基本描述

牛顿法不仅可以用来求解函数的极值问题,还可以用来求解方程的根,二者在本质上是一个问题,因为求解函数极值的思路是寻找导数为0的点,这就是求解方程。

  1. 1.将原函数在当前点x_k做二阶泰勒展开

                                       f(x)=f(x_k)+{f(x_k)}'(x-x_k)+\frac{1}{2}{f(x_k)}''(x-x_k)^2

  1. 2.求极值的必要条件

                                       {f(x)}'=0{f(x_k)}'+{f(x_k)}''(x-x_k)=0

得到

                                        x = x_k-\frac{​{f(x_k)}'}{​{f(x_k)}''}

  1. 3.给定初始值x_0,构造迭代式

                                        x_{k+1}=x_k-\frac{​{f(x_k)}'}{​{f(x_k)}''}, k=0,1,...

产生的序列\{x_k\}来逼近f(x)的极小点,在一定条件下\{x_k\}可以收敛到f(x)的极小点。

  1. 1.当数据维度大于1时,原函数的二阶泰勒展开式变成如下格式

                                      f(x)=f(x_{k})+\Delta {f(x_{k})}(x-x_{k})+\frac{1}{2} (x-x_{k})^T \Delta^2 f(x_{k})(x-x_{k})

其中

                                       \Delta f=\begin{bmatrix} \frac{\partial f}{\partial x_1}\\ \frac{\partial f}{\partial x_2}\\ ...\\ \frac{\partial f}{\partial x_N} \end{bmatrix} \Delta^2f = \begin{bmatrix} \frac{\partial^2 f}{\partial^2 x_1} & \frac{\partial^2 f}{\partial x_1\partial x_2} & ... & \frac{\partial^2 f}{\partial x_1\partial x_N} \\ \frac{\partial^2 f}{\partial x_1 \partial x_2} & \frac{\partial^2 f}{\partial^2 x_2} & ... & \frac{\partial^2 f}{\partial x_2\partial x_N} \\ ...&...&...&...\\ \frac{\partial^2 f}{\partial x_N \partial x_2} & \frac{\partial^2 f}{\partial x_N \partial x_2} & ... & \frac{\partial^2 f}{\partial^2 x_N} \end{bmatrix}

                                       \Delta f为n维向量的一阶偏导数简记为g。

                                       \Delta^2f为二阶偏导数矩阵被称为Hessian矩阵简记为H。

  1. 2.由极值的必要条件可得

                                      \Delta f(x)=0g+H_k \cdot (x-x_k) =0

若矩阵H_k是非奇异矩阵,则可得

                                      x=x_k-{H_k}^{-1} \cdot g_k

  1. 3.于是,给定初始值x_0,构造迭代式为

                                      x_{k+1}=x_k-{H_k}^{-1} \cdot g_k,k=0,1,...

迭代式中的d_k=-H_k^{-1} \cdot g_k称为牛顿方向。

2.牛顿算法的算法描述

1.给定初值x_0和精度阈值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值