梯度下降算法有哪些?有什么区别?背景原理公式代码
Posted Emiliano Martínez
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了梯度下降算法有哪些?有什么区别?背景原理公式代码相关的知识,希望对你有一定的参考价值。
一、梯度下降算法背景
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。
其实,梯度下降算法理解起来很简单,我们在训练模型时,随机初始化的参数肯定不是最优的,这样的参数会导致预测结果和真实结果存在一定的偏差,我们根据预测与真实之间的差异构造Loss Function,我们的任务就是找到Loss Function的最低点对应的参数(损失函数是Loss随参数变化而变化的图像),下图展示了2D和3D情形下损失函数的示意图。
二、梯度下降算法
1. 梯度下降 / 批量梯度下降(BGD)
(ps:我的理解是GD和BGD是一种算法,都是选取所有样本做Loss,或者说梯度下降是所有梯度下降算法的统称,如果我理解的有误,希望大噶多多指正~)
梯度下降算法的原理如下,L是Loss Fucntion,N是样本的数目,ε是学习率,我们可以发现梯度下降算法中,每进行一次下降操作,就需要拿全部的样
以上是关于梯度下降算法有哪些?有什么区别?背景原理公式代码的主要内容,如果未能解决你的问题,请参考以下文章