一文带你了解什么是梯度下降

人工智能 机器学习
梯度下降并不是一个很复杂的数学工具,其历史已经有200多年了,但是人们可能不曾料到,这样一个相对简单的数学工具会成为诸多机器学习算法的基础,而且还配合着神经网络点燃了深度学习革命。

梯度下降是机器学习的动力之源

经过前面两节内容的铺垫,我们可以开始讲一讲机器学习的动力之源:梯度下降。

梯度下降并不是一个很复杂的数学工具,其历史已经有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、梯度下降:下山的隐喻

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


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

3、梯度下降有什么用

梯度下降在机器学习中非常有用。简单地说,可以注意以下几点。

机器学习的本质是找到最优的函数。

如何衡量函数是否最优?其方法是尽量减小预测值和真值间的误差(在机器学习中也叫损失值)。

可以建立误差和模型参数之间的函数(最好是凸函数)。

梯度下降能够引导我们走到凸函数的全局最低点,也就是找到误差最小时的参数。

责任编辑:姜华 来源: 今日头条
相关推荐

2022-09-29 13:09:38

DataClassPython代码

2022-03-14 08:01:06

LRU算法线程池

2022-09-06 11:21:49

光网络光纤

2019-07-04 15:16:52

数据挖掘大数据算法

2023-04-11 08:01:32

Web 开发源代码映射

2019-04-19 14:03:52

APISDK接口

2023-11-06 08:16:19

APM系统运维

2022-11-11 19:09:13

架构

2018-10-22 08:14:04

2023-11-20 08:18:49

Netty服务器

2019-11-14 09:16:56

物联网技术路由器

2018-07-20 14:58:16

深度学习梯度下降损失函数

2023-10-27 08:15:45

2023-11-08 08:15:48

服务监控Zipkin

2022-02-24 07:34:10

SSL协议加密

2020-10-08 14:32:57

大数据工具技术

2022-04-28 09:22:46

Vue灰度发布代码

2020-02-02 15:14:24

HTTP黑科技前端

2019-08-06 09:00:00

JavaScript函数式编程前端

2024-02-04 09:44:41

量子计算量子量子物理
点赞
收藏

51CTO技术栈公众号