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