首页 > 编程知识 正文

自适应动量梯度下降算法

时间:2023-05-04 21:23:36 阅读:264551 作者:4238

学习衰减率:
随着学习的进行,使得学习率逐渐减小。AdaGrad会为参数的每个元素适当的体哦阿正学习率

# coding: utf-8import numpy as npclass AdaGrad: def __init__(self, learning_rate=0.01): self.learning_rate = learning_rate self.h = None def update(self, params, grads): if self.h is None: self.h = {} for key, value in params.items(): self.h[key] = np.zeros_like(value) for key in params.keys(): self.h[key] += grads[key] * grads[key] params[key] -= self.learning_rate * grads[key] / (np.sqrt(self.h[key]) + 1e-07) # 1e-07微小值避免分母为0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。