深度学习之梯度下降
梯度下降
=L()xuexi
L:损失函数 :参数
现在假设有两个变量,分别为{,}
随机设定=
L()=
用图像进行解释:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200513161822612.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RpYW50aWFuNzk5Ng==,size_16,color_FFFFFF,t_70
学习率
但是学习率的选取比较麻烦,而且需要对参数的学习率在实验过程中进行变化,刚开始可以大一些,但随着损失函数的下降,要适当的把学习率减小,以下介绍一种可以自行调整学习率的方法:
adagrad
方法
其中的一个小疑问:
答案使因为它要解决一个反差的情况
还有一种解释是以下:
你从想直接到最低点,最好的步长是以上所述,但是该情况仅适用于函数中仅有一个参数变量的,如果多个参数在函数中,这种方法就不可行了。
比如在上述图中,右边第一个图,在固定的情况下,来考虑的变化,取两个不一样的点;在第二个图中,在固定的情况下,来考虑的变化,取两个不一样的点;你会发现a和c相比,虽然a的微分比c的小,但是a离最低点是比较远的。
所以跨参数进行一次微分比较是不可行的。
最好的步长的分母是与二次微分有关的,即:
而adagrad就是想要达到这样的效果
Stochastic Gradient Descent {另一种方法}
上述式子的损失函数是对所有实验数据进行的。
上面这个式子是只对一个实验数据进行的。该实验数据或者顺序选取,或者随机选取都可以。
归一化
上述是进行标准化的一个图。