Advertisement

深入学习基础:SGD(Stochastic Gradient Descent)

阅读量:

SGD

SGD即随机梯度下降法,其数学表达形式可表示为式(6.1)所示。

在这里插入图片描述

将需要进行更新的权重参数表示为 W ,而损失函数对 W 的梯度则表示为 ∂L/∂W 。其中 η 代表学习率,其数值通常会预先设定为 0.01 或 0.001 等固定值。式中符号 ← 表示利用右侧的计算结果对左侧的变量进行更新操作。

如公式(6.1)所展示,SGD 是一种仅沿梯度方向移动固定步长的简单优化方法。当前,将该方法以 Python 类的形式加以实现(为了便于后续调用,将其定义为一个名为 SGD 的类)。

复制代码
    class SGD:
    def __init__(self, lr=0.01):
        self.lr = lr#学习率
    
    def update(self, params, grads):
        for key in params.keys():
            params[key] -= self.lr * grads[key]
    
    
      
      

全部评论 (0)

还没有任何评论哟~