实现梯度下降算法(GD)和随机梯度下降算法(SGD),输出loss(损失函数)关于Epoch(训练轮数)的图像。
1.梯度下降算法
算法基本流程:
2.随机梯度下降算法
参考:PyTorch 深度学习实践 第2讲_错错莫的博客-CSDN博客
随机梯度下降法和梯度下降法的主要区别在于:
1、损失函数由cost()更改为loss()。cost是计算所有训练数据的损失,loss是计算一个训练函数的损失。对应于源代码则是少了两个for循环。
2、梯度函数gradient()由计算所有训练数据的梯度更改为计算一个训练数据的梯度。
3、本算法中的随机梯度主要是指,每次拿一个训练数据来训练,然后更新梯度参数。本算法中梯度总共更新100(epoch)x3 = 300次,每一个数据。梯度下降法中梯度总共更新100(epoch)次,所有数据。