深度学习入门:梯度下降算法

梯度下降可以简单理解为你人站在山上,想要最快下山,那么这个时候你要做的就是在一步一步下山的同时保证向下走的每一步都是最陡的。

梯度下降就是上述的这么简单。

要完成上述最快下山的第一个问题就是,你站在山上,可以朝着因为圆心360°的方向前进,如何确定朝着那个方向走就是最陡的呢?这就引出了梯度以及导数(对于三维空间,涉及到的就是方向导数)。

1.导数

(1)二维空间

        对应到现实生活,就是滑滑梯,只要你在滑梯上往下滑,你的速度方向就永远都是导数方向,而且在你放松的情况下,这种方向就是最快的情况

(2)三维空间

        我们之前学习z = f (x , y)的导数时,主要大量学习了偏导数,偏导数其实是两种特殊情况,就是只看沿着x轴或者y轴方向上的情况,这明显不满足我们上山的这个实际问题,这个问题要求我们要了解三维图象上一点的各个方向的导数,求出哪个方向对应的导数最大,就朝着这个方向走就!对吧~

        所以我们上面说的这个“各个方向的导数”就是三维图象的方向导数!方向导数就可以简单的理解为,三维图象上某一点的任何一个方向上的导数。

方向导数中的这个“任何一个方向”就可以用一个向量来表示。

2.梯度

        对于我们熟悉的二维空间我们知道,在第一象限且函数图象不可能垂直x轴的情况下,导数越大越陡峭。

        对于三维空间也是同理的,方向导数越大的时候就越陡峭,所以用什么来刻画这个“最大的方向导数”呢?当然就是梯度向量啦

        梯度向量其实就是该三维图象沿着各个轴的方向的偏导组成的向量,但神奇的就是带入图象上某个点的坐标之后这个向量指向的就是这个点最陡峭的方向。

3.说明

        这个文章非常基础和好理解,但有也有许多问题,欢迎大家一起沟通交流批评指正~~~~~~~~

        另外,可以去学一学方向导数和梯度,会更好理解梯度下降函数,我实在是太懒了,懒得附图解释这俩啦,梯度下降其实就是对于方向导数和梯度的应用。

你可能感兴趣的:(深度学习,深度学习)