带你认识梯度下降

你如果完全不熟悉,先想象个下楼梯的场景,见图1。

        在机器学习,自适应滤波器中,都涉及到了梯度下降的技术。因此,要在AI行业里混,这个概念还是要清楚的。

        说到梯度,就需要说到导数。考虑到数学这个东西,许多人看了公式都头疼,我来拿例子解释。假如,你步行10秒,走了10米,那么你的平均速度是多少?很简单,10除于10为 1米/秒。但是,我们注意到这个速度是平均速度。我们也知道,现实中,你走了10秒,总共走了10米,不可能每秒都精确的走了1米。也许第1秒你走了0.5米,第2秒走了0.8米等等,反正10秒下来总距离是10米。

        好,这个时候有人较真,想知道你在第9秒的这个瞬时时刻,你的速度是多少?怎么求?根据 速度 = 距离 / 时间,我们可以测量到第9秒的时候,我们走了8米,第10秒的时候走了10米,因此第9秒到第10秒的这1秒,我们的速度是2米/秒。这个比原来的1米/秒精确了许多。但是这个还是平均速度,不是我想要的恰巧在第9秒的这个瞬时速度。怎么办?我们知道1秒=1000毫秒,那么我测量出第9秒的距离和第9.001秒的距离,然后除于花费的时间,那么就是这1毫秒内的平均速度,相比上面的2米/秒(这1秒内的平均速度),更精确了。那么我如果精确到微秒呢,我测量出第9秒的距离和第9.000001秒的距离,然后除于花费的时间,那么就是这1微秒内的平均速度,这个相对第9秒的这个瞬时速度更靠近了。因为,我们可以继续微小话,无限微小下去,那么得出的值就是第9秒的瞬时速度。这个值,我们叫做导数。

        解释梯度,需要带些简单的数学公式了,原谅我。还是拿例子来说:原函数y=x*x,那么它的导数为y = 2x。如果x=0,那么导数是0,x=1,那么导数是2。【0】,【2】,这些我们可以称为梯度。(网上很多例子是拿y = x_{1} ^2 + x_{2} ^2,带两个变量的,我直接拿一个变量的讲,道理是一样的)。【0】是楼梯的一个台阶,【2】是楼梯的另外个台阶,把他们统一起来看,想象为一个楼梯。只要心中有楼梯,哪里都是梯度。在楼梯上,我们可以向上走或者向下走,这个走向就是方向,数学上把它叫做梯度方向。

        原函数y = x*x 的图像如下,见图2:

 

 当x=3时,导数是6。我们把3用红点表示,6用绿点表示。方向为红到绿,见图3:

 

看见没有,这个箭头我们就叫梯度方向。

        对了,我想你也看到了,按照这个方向,x的值在不断的变大,同时y的值也在不断的变大。因此,如果我想求y的最小值,那么我们往负梯度,(梯度的反方向),不断的取x的值尝试,比如2.5,2.0,1.5,根据前面的导数例子,我们不断的无限靠近x=0,就可以求出最小值了。

        对了,还有一种情况,当x取负数的时候,比如x=-3,导数是-6。见图4:

我们一样可以看出,在x不断变小的这个梯度方向,y在不断的变大。如果要让y变小,怎么办?把x往梯度的负方向变化,不就可以了嘛!(图也明显可以看出)。哦,对了,把x朝负梯度的方向不断变化,来保证y的不断减小,就叫做梯度下降。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值