美文网首页
什么是梯度下降

什么是梯度下降

作者: MobotStone | 来源:发表于2023-05-16 08:52 被阅读0次

梯度下降是机器学习的动力之源。
经过前面两节内容的铺垫,我们可以开始讲一讲机器学习的动力之源:梯度下降。
梯度下降并不是一个很复杂的数学工具,其历史已经有200多年了,但是人们可能不曾料到,这样一个相对简单的数学工具会成为诸多机器学习算法的基础,而且还配合着神经网络点燃了深度学习革命。

1、什么是梯度

对多元函数的各参数求偏导数,然后把所求得的各个参数的偏导数以向量的形式写出来,就是梯度。
具体来说,两个自变量的函数f(x1,x2),对应着机器学习数据集中的两个特征,如果分别对x1,x2求偏导数,那么求得的梯度向量就是(∂f/∂x1,∂f/∂x2)T,在数学上可以表示成Δf(x1,x2)。那么计算梯度向量的意义何在呢?其几何意义,就是函数变化的方向,而且是变化最快的方向。对于函数f(x),在点(x0,y0),梯度向量的方向也就是y值增加最快的方向。也就是说,沿着梯度向量的方向Δf(x0),能找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -Δf(x0)的方向,梯度减少最快,能找到函数的最小值。如果某一个点的梯度向量的值为0,那么也就是来到了导数为0的函数最低点(或局部最低点)了。

2、梯度下降:下山的隐喻

在机器学习中用下山来比喻梯度下降是很常见的。想象你们站在一座大山上某个地方,看着远处的地形,一望无际,只知道远处的位置比此处低很多。你们想知道如何下山,但是只能一步一步往下走,那也就是在每走到一个位置的时候,求解当前位置的梯度。然后,沿着梯度的负方向,也就是往最陡峭的地方向下走一步,继续求解新位置的梯度,并在新位置继续沿着最陡峭的地方向下走一步。就这样一步步地走,直到山脚,如下图所示。


image.png

从上面的解释中,就不难理解为何刚才我们要提到函数的凹凸性了。因为,在非凸函数中,有可能还没走到山脚,而是到了某一个山谷就停住了。也就是说,对应非凸函数梯度下降不一定总能够找到全局最优解,有可能得到的只是一个局部最优解。然而,如果函数是凸函数,那么梯度下降法理论上就能得到全局最优解。

3、梯度下降有什么用

梯度下降在机器学习中非常有用。简单地说,可以注意以下几点。
机器学习的本质是找到最优的函数。
如何衡量函数是否最优?其方法是尽量减小预测值和真值间的误差(在机器学习中也叫损失值)。
可以建立误差和模型参数之间的函数(最好是凸函数)。
梯度下降能够引导我们走到凸函数的全局最低点,也就是找到误差最小时的参数。

相关文章

  • 神经网络优化2

    梯度下降 梯度下降法 批梯度下降法(Batch Gradient Descent,BGD)是最常用的梯度下降形式,...

  • Day 4 Project 预测你的下一道世界料理

    附:每日一题 几句话简述什么是梯度下降法,优点是什么,缺点是什么? 解答: 梯度下降算法数学原理为,梯度方向是函数...

  • 梯度下降法

    梯度下降法 本文主要是为了讲解 梯度下降法 的原理和实践,至于什么是梯度下降法,他能做什么,相信百度一下你就都知道...

  • 为什么需要 Mini-batch 梯度下降,及 TensorFl

    本文知识点: 什么是 mini-batch 梯度下降 mini-batch 梯度下降具体算法 为什么需要 mini...

  • (三)线性回归--梯度下降

    一、梯度下降 二、代码的实现 (一.梯度下降) 导包 构建数据 梯度下降 使用梯度下降,可视化 (二。梯度下降矩阵...

  • 机器学习笔记(六)—— 梯度下降

    梯度下降 批量梯度下降(Batch Gradient Descent,BGD) 批量梯度下降法是最原始的形式,它是...

  • 深入浅出--梯度下降法及其实现

    梯度下降的场景假设梯度梯度下降算法的数学解释梯度下降算法的实例梯度下降算法的实现Further reading 本...

  • 机器学习-常用优化方法

    一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。 随机梯度下降不但速度上比原始梯度下降要快,局部最优...

  • (四)随机梯度下降

    一、什么是随机的梯度下降 优点:梯度下降,计算所有的样本,随机梯度下降,计算一部分,不仅计算速度快,同时,效果好。...

  • ML-梯度下降代码-线性回归为例

    梯度下降代码线性回归为例 bgd 批量梯度下降 sbd 随机梯度下降 mbfd 小批量随机梯度下降

网友评论

      本文标题:什么是梯度下降

      本文链接:https://www.haomeiwen.com/subject/krsvsdtx.html