Nesterov加速梯度(Nesterov Accelerated Gradient,NAG)是一种用于优化问题的迭代算法,具有更快的收敛速度。NAG通过在梯度下降的更新步骤中引入“瞄准”项来实现加速。相比于标准梯度下降算法,NAG在每次迭代中考虑了上一次的更新,从而使梯度下降的方向更加精确,能够更快地接近目标函数的极小值。
以下是使用Python实现一个简单的Nesterov加速梯度算法示例代码:
import numpy as np
def nesterov_accelerated_gradient(f, df, x0, learning_rate, max_iter, momentum=0.9, tol=1e-6