这一系列的博客,主要是记录在学校的Machine Learning实践课中,一些学习的过程,以及自己补充的基础知识(以引用来表示)。原理在西瓜书上都有,因此本系列博客主要是用python来实现,会包含一些公式。
“机器学习就是自动找函数”
转发一篇博客,是对adagrad的一点理解
链接:https://www.jianshu.com/p/a8637d1bb3fc
在看到李宏毅老师讲gradient decent的时候,讲到Adagrad方法,这里记录一下。
Adagrad是解决不同参数应该使用不同的更新速率的问题。Adagrad自适应地为各个参数分配不同学习率的算法。其公式如下:
但是我们发现一个现象,本来应该是随着gradient的增大,我们的学习率是希望增大的,也就是图中的gt;但是与此同时随着gradient的增大,我们的分母是在逐渐增大,也就对整体学习率是减少的,这是为什么呢?
这是因为随着我们更新次数的增大,我们是希望我们的学习率越来越慢。因为我们认为在学习率的最初阶段,我们是距离损失函数最优解很远的,随着更新的次数的增多,我们认为越来越接近最优解,于是学习速率也随之变慢
我补充一张ppt:
考虑跨参数,只是比较a,c两点的微分值是不够的