梯度下降法和(拟)牛顿法区别及介绍

本文介绍了梯度下降法和牛顿法在求解无约束最优化问题中的应用,包括它们的基本原理、区别与对比。梯度下降法作为一阶优化算法,适合大规模问题但收敛速度较慢;牛顿法则通过二阶信息快速收敛,但计算成本高。在实际中,由于牛顿法对初始值敏感且计算复杂,常采用拟牛顿法,如DFP、BFGS和L-BFGS算法,以降低计算复杂度并保持较好的收敛性。

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

梯度下降法和牛顿法介绍

梯度下降法和牛顿法都是求解无约束最优化问题的常用方法。
假设f(x)f(x)RnRn上具有一阶连续偏导数的函数,要求解的无约束最优化问题为

minxRn f(x)minx∈Rn f(x)

xx∗ 表示目标函数的极小点。下面分别介绍梯度下降法和牛顿法。

梯度下降法

梯度下降法是一种迭代算法。选取适当的初值x(0)x(0),不断迭代,更新xx的值,进行目标函数的极小化,直到收敛。因为负梯度方向是使函数值下降最快的方向,在迭代的每一步,以扶梯度方向更新 x 的值,从而达到减少函数值的目的。

由于f(x)f(x)具有一阶连续偏导数,若第k次迭代值为x(k)x(k),则可将f(x)f(x)x(k)x(k)附近进行一阶泰勒展开:

f(x)=f(x(k))+gTk(xx(k))(1.1)(1.1)f(x)=f(x(k))+gkT(x−x(k))

这里, gk=g(x(k))=f(x(k))gk=g(x(k))=∇f(x(k)) f(x)f(x) x(k)x(k) 处的梯度。

求出第k+1次迭代值x(k+1)x(k+1):

x(k+1)x(k)+λkpk(1.2)(1.2)x(k+1)←x(k)+λkpk

其中, pkpk 是搜索方向,取负梯度方向 pk=f(x(k))pk=−∇f(x(k)) , λkλk 是步长,由一维搜索确定,即 λkλk 使得
f(x(k)+λkpk)=minλ0f(x(k)+λpk)(1.3)(1.3)f(x(k)+λkpk)=minλ≥0f(x(k)+λpk)

牛顿法

牛顿法收敛速度快,每一步需要求解目标函数的海赛矩阵的逆矩阵,计算比较复杂,可通过拟牛顿法简化计算过程。

假设f(x)f(x)具有二阶连续偏导数,若第k次迭代值为x(k)x(k),则可在x(k)x(k)附近进行二阶泰勒展开:

f(x)=f(x(k))+gTk(xx(k))+12(xx(k))TH(x(k))(xx(k))(2.1)(2.1)f(x)=f(x(k))+gkT(x−x(k))+12(x−x(k))TH(x(k))(x−x(k))

这里, gk=g(x(k))=f(x(k))gk=g(x(k))=∇f(x(k)) f(x)f(x) x(k)x(k) 处的梯度, H(x(k))H(x(k))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值