梯度下降法是通过计算某一点的梯度,然后向梯度的反方向进行迭代。
牛顿法考虑某一点的二阶泰勒展开,用黑塞矩阵的逆矩阵求解。
牛顿法相比梯度下降法收敛速度更快,但是每轮迭代的时间更长。牛顿法要求Hk的逆矩阵,过程比较复杂,而且Hk不一定正定(甚至可能不可逆)所以采用拟牛顿法来改进。
拟牛顿法是思路有两种,一种是模拟Hk的逆矩阵,一种是直接模拟Hk,第一种方法是DFP算法,第二种方法是BFGS算法,两种算法结合就是Broyden类算法。
拟牛顿法将牛顿法中的式子进行转换,将Hk与两代的梯度之差和两代的x之差联系在了一起。
模拟的过程中忽略了泰勒公式的二次项,但是只要模拟的矩阵是正定的,函数的值还是能下降。