梯度下降法

941 阅读2分钟

最近准备期末考试,把人工智能教材重新看了一遍,接下来几天准备把复习结构做一个总结,今天是第一天,主要介绍梯度下降法。

梯度下降其实我们之前学高数也讲过,但是,已经不记得了,好的,从头开始。

第一个:什么是梯度?

对应连续可微的多元函数,在点x处的梯度,其实就可以表示为所有自变量偏微分组成的向量,说人话就是,x的梯度,等于函数对x求导。

所以梯度的方式就是函数增长最快的,梯度的反方向就是函数减少最快的。理论上讲,沿着梯度反方向去修改自变量就一定能够拿到最小值。这种沿着梯度反方向寻找的办法叫做梯度下降法。

image.png

比如这个函数 y=x^2

假设x0=10,该点梯度h=y'=2x =20,假设我们取学习率z为0.2(步长0.2)

x1=x0-z*h=20-20 x 0.2=6 该点梯度h1为:12

x2=x1-z*h1=6-0.2 x 12=3.6 该点梯度h2为: 7.2

。。。

以此类推,当找到一个点,函数值接近0,就找到了答案

如果y=x1^2+2 x2^2

image.png

意思就是计算过程。在梯度下降法里面,我们很容易遇到局部最小和全局最小

image.png

所以需要对上面算法进行改进。第一个改进较批量下降,但是她同样存在缺陷,所以引入了随机梯度下降和小批量梯度下降。

随机梯度:随机选一个样本x,继续上面操作(因为随机,所以有机会跳出鞍点和局部最小点,但是收敛不稳定)

小批量:每次使用一定量的样本来讲计算,也有随机性,也可能跳出暗点和最小值点,并且b合理时候,收敛速度稳定