机器学习中为什么需要梯度下降_机器学习数值优化入门:梯度下降

今天我们尝试用最简单的方式来理解梯度下降,在之后我们会尝试理解更复杂的内容,也会在各种各样的案例中使用梯度下降来求解(事实上之前线性回归模型中我们已经使用了它),感兴趣的同学欢迎关注后续的更新(以及之前的内容)。

梯度下降的原理

在数据科学中,我们经常要寻找某个模型的最优解。梯度下降就是数值优化问题的一种方案,它能帮助我们一步步接近目标值。在机器学习过程中,这个目标值往往对应着“最小的残差平方和”(比如最小二乘法求解线性回归)、“最大的似然”(比如极大似然估计求解逻辑回归)等。

在实际应用的过程中,梯度给出了我们数值调整的方向,一般来说,它对应着微积分中的偏导数,在这个方向上,我们的数值优化速度最快。我们用下图来理解一下梯度下降的过程:

机器学习中为什么需要梯度下降_机器学习数值优化入门:梯度下降_第1张图片

假如我们的目标是寻找全局最小值,最上边的红三角是我们的起始点。那么梯度下降的过程就是先寻找起始点的导数方向,然后在这个方向上迈出一步,到达第二个点;然后计算第二个点的导数,接着迈出第二步,到达第三点……直到我们的目标值不再变化或者变动值小于某个阈值,那我们就认为我们找到了最小值或近似的最小值(只要设定好阈值,两者的差异几乎可以忽略不计)。

在上图中,每个小三角都对应着梯度下降过程中的一个循环(计算导数方向->迈步->满足停止条件则终止循环,否

你可能感兴趣的:(机器学习中为什么需要梯度下降)