梯度下降法、牛顿法、拟牛顿法 三类迭代法应用场景有何差别?

本文探讨了梯度下降法、牛顿法和拟牛顿法在机器学习中的应用场景差异。梯度下降法常用于神经网络训练,特别是非凸问题;牛顿法和拟牛顿法适用于凸问题如逻辑回归,其中牛顿法利用二阶导数信息,拟牛顿法通过近似海森矩阵实现。时间复杂度和收敛速度的差异源于求解方法的不同。
摘要由CSDN通过智能技术生成
梯度下降法、牛顿法、拟牛顿法 三类迭代法应用场景有何差别?

By Datawhale知乎内容输出小组D1

问题

梯度下降法一族(如SGD、Adam)、牛顿法一族(如Gauss-Newton Method,LM法)、拟牛顿法一族(如L-BFGS)是机器学习中最常见的三大类迭代法,但三者分别通常擅长解决的应用场景是什么?为什么会这样的呢?谢谢

解答
梯度下降法(SGD为例) 牛顿法 拟牛顿法
时间复杂度(单次迭代) 只需计算1阶导,时间复杂度低,为 O ( n ) O\left( n \right) O(n) 需计算Hessian矩阵及其逆,时间复杂度高,为 O ( n 3 ) O\left( { {n^3}} \right) O(n3) 用正定矩阵近似Hessian矩阵的逆,时间复杂度为 O ( n 2 ) O\left( { {n^2}} \right) O(n2)
收敛速度 收敛慢,迭代次数大 收敛快,迭代次数小 -
初始值要求 无太强要求,容易逃离鞍点 对初始值有一定要求,非凸问题容易陷入鞍点(牛顿法步长会越来越小) -
应用场景 特征维度较大的场景,如特征数>10k 特征维度较小的场景 需满足拟牛顿条件,更适合凸问题

此外,在神经网络(非凸问题)的训练中,大多数都采用梯度下降法一族方法。而在训练逻辑回归(凸问题)等模型时,可采用梯度下降和拟牛顿方法。

关于时间复杂度和收敛速度的差异,起因于求解方法:

机器学习的任务中,是要最小化损失函数 L ( θ ) L\left( \theta \right) L(θ),其中 θ \theta θ 是待求的模型参数。梯度下降法、牛顿法/拟牛顿法都是迭代求解。梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的逆矩阵或伪逆矩阵求解。

迭代公式 θ t = θ t − 1 + Δ θ {\theta ^t} = {\theta ^{t - 1}} + \Delta \theta θt=θt1+Δθ

求解方法
梯度下降法:一阶泰勒展开
L ( θ t ) = L ( θ t − 1 + Δ θ ) ≈ L ( θ t − 1 ) + L ′ ( θ t − 1 ) Δ θ \begin{aligned} L\left( { {\theta ^t}} \right) &= L\left( { {\theta ^{t - 1}} + \Delta \theta } \right) \\ &\approx L\left( { {\theta ^{t - 1}}} \right) + L'\left( { {\theta ^{t - 1}}} \right)\Delta \theta \end{aligned} L(θt)

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值