什么是梯度

在学习机器学习过程中,会遇到一个名词,就是梯度。因为很多情况之下,基本上没有完美的解,只能逐渐逼近它,往往要使用迭代法来求解,并且迭代法也是计算机的专长,可以说这世界上只有它是最会玩迭代算法了。在使用迭代法的过程中,又需要不断尝试各个方向。比如从一座山峰顶往下走,而这座山峰各个方向有不一样的坡度。如下图:


从上图可以看到,有一些地方比较陡峭,那么我们就会说这里的梯度比较大,因为在这里下降得最快。接着,我们来看一下定义:

在向量微积分中,标量场的梯度是一个向量场。标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。更严格的说,从欧几里得空间Rn到R的函数的梯度是在Rn某一点最佳的线性近似。在这个意义上,梯度是雅可比矩阵的一个特殊情况。在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。梯度一词有时用于斜度,也就是一个曲面沿着给定方向的倾斜程度。可以通过取向量梯度和所研究的方向的点积来得到斜度。梯度的数值有时也被称为梯度。

为了从最陡的地方走下去,那么机器怎么样才知道那个地方的梯度最大呢?导数在梯度下降中就是为了指出最快的方向,指示我们向局部最低点进发。导数(Derivative)是微积分学中重要的基础概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。我们可以在物理里想一下,一阶对位移的求导就是速度,可见导数表示这点的变化大小,当然就可以说明这点下降的速度了。



1. C++标准模板库从入门到精通 

2.跟老菜鸟学C++

3. 跟老菜鸟学python

4. 在VC2015里学会使用tinyxml库

5. 在Windows下SVN的版本管理与实战 

 http://edu.csdn.net/course/detail/2579

6.Visual Studio 2015开发C++程序的基本使用 

http://edu.csdn.net/course/detail/2570

7.在VC2015里使用protobuf协议

8.在VC2015里学会使用MySQL数据库



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值