Adam(自适应矩估计,Adaptive Moment Estimation)是一种用于优化问题的迭代算法,结合了RMSprop和Momentum的优点。Adam算法使用指数加权移动平均来估计一阶矩(梯度的均值)和二阶矩(梯度平方的均值),然后使用这两个估计值来更新参数。这样,Adam能够克服梯度的稀疏性和噪声问题,从而在深度学习中获得更好的性能。
以下是使用Python实现一个简单的Adam算法示例代码:
import numpy as np
def adam(f, df, x0, learning_rate, max_iter, beta1=0.9, beta2=0.999, epsilon=1e-8, tol=1e-6):
x = x0
m =