一、自适应学习率
在梯度下降的过程中,一般情况下,希望开始开始的时候学习率(学习的速度)快一些,后面慢慢接近局部最低的时候,学习率逐渐减小,移动的幅度更小且精确。
(一)普通的梯度下降
学习率的调整受到t和g的影响(g是微分),步长受到初始学习率、当前微分、当前时刻点的影响
(二)Adagrad
学习率的调整受到微分占比的影响(相当于把t和g整合成了占比这一个统计量),步长受到初始学习率、当前微分占比的影响。
二、Adagrad的使用场景
适用于单参数模型,这是其最大的缺点。原因有二:
- 不同参数需要不同的w
- 多参场景下,步长同时受到一阶导和二阶导的影响,计算复杂
【解决措施】特征缩放,即标准化
x的量纲不同,w对y的影响不同,w对损失函数的影响也不同。所以应该对x进行标准化,从而更新参数更容易且有效率。
三、梯度下降的限制
- 容易陷入局部极值
- 还有可能卡在不是极值,但微分值是0的地方
- 还有可能实际中只是当微分值小于某一个数值就停下来了,但这里只是比较平缓,并不是极值点