https://www.cnblogs.com/guoyaohua/p/8542554.html
梯度下降法是最流行的优化算法之一,并且目前为止是优化神经网络常见的算法。梯度下降是一种通过在目标函数梯度的反向上更新模型参数,来最小化模型参数的目标函数的方法。学习率决定了我们前往(局部)极小值的步长。
梯度下降算法变种,它们不同之处在于我们在计算目标函数梯度时所用数据量的多少。依据数据的规模,我们在更新参数的准确性和执行一次更新所用时间之间进行一种折中。
对于SGD或者MBGD而言,每次使用的损失函数只是通过一个小批量的数据确定的,其函数图像与真实全集损失函数有所不同,所以其求解的梯度也包含有一定的随机性,在鞍点或者局部最小值点的时候,震荡跳动,因为在此点处。而BGD,则优化会停止不动,如果是mini-batch或者SGD,每次找到的梯度都是不同的,就会发生震荡,来回跳动。
梯度下降法
为了便于理解,我们将使用只包含一个特征的线性回归来展开。此时线性回归的假设函数为:
其中表示样本数。
对应的目标函数(代价函数为):