深度学习为什么使用梯度下降,而不使用不使用牛顿法或拟牛顿法优化?

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

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

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

发布了25 篇原创文章 · 获赞 1 · 访问量 1429

猜你喜欢

转载自blog.csdn.net/Matrix_cc/article/details/104925726