Pytorch学习笔记——梯度下降算法

Pytorch学习笔记——梯度下降算法_第1张图片

随机梯度下降算法的Python代码实现。

Pytorch学习笔记——梯度下降算法_第2张图片

与梯度下降算法不同的是随机梯度下降算法,随机梯度下降算法(SGD,Stochastic Gradient Descent)是从样本中每轮随机选一个。

Pytorch学习笔记——梯度下降算法_第3张图片

这样做的好处是:

        若在鞍点时,在梯度下降算法中,使用的是所有样本(可能带有噪声的)计算为0,必不可能向前推动。 而使用单个样本计算出来,不一定是每一个都会计算为0,有随机噪声会更好的推进向前。也就是如果取所有样本的话 ,是连续的;而随机取的话很大可能就会跳过鞍点。

        使用SGD的另一个意义是:大样本学习时,采用所有样本的损失,计算量太大,训练太慢。

因此SGD的代码如下:

Pytorch学习笔记——梯度下降算法_第4张图片

你可能感兴趣的:(Deep,Learning,pytorch,算法,深度学习)