您的位置:首页 > 其它

深度学习优化函数详解(6)-- adagrad

2018-03-24 17:18 447 查看
深度学习优化函数详解系列目录

深度学习优化函数详解(0)– 线性回归问题

深度学习优化函数详解(1)– Gradient Descent 梯度下降法

深度学习优化函数详解(2)– SGD 随机梯度下降

深度学习优化函数详解(3)– mini-batch SGD 小批量随机梯度下降

深度学习优化函数详解(4)– momentum 动量法

深度学习优化函数详解(5)– Nesterov accelerated gradient (NAG)

深度学习优化函数详解(6)– adagrad

前面的一系列文章的优化算法有一个共同的特点,就是对于每一个参数都用相同的学习率进行更新。但是在实际应用中各个参数的重要性肯定是不一样的,所以我们对于不同的参数要动态的采取不同的学习率,让目标函数更快的收敛。

adagrad方法是将每一个参数的每一次迭代的梯度取平方累加再开方,用基础学习率除以这个数,来做学习率的动态更新。这个比较简单,直接上公式。

公式推导



实验

实验取 η=0.2,ϵ=1e−8



可以看出收敛速度的确是特别慢(在该数据集下),最重要的原因就是动态学习率处于一个单向的减小状态,最后减到近乎为0的状态。

实验源码:https://github.com/tsycnh/mlbasic/blob/master/p6%20adagrad.py
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习 函数 优化