李宏毅机器学习笔记01(梯度下降的一些内容)

在梯度下降中,learning rate是一个挺难选择的点:
选择大一点的学习率:可以快速的下降,但是容易出现降过头的现象。
选择较小的学习率:不容易错过极值点,但是迭代的时间太长。

一种常见的想法:就是想着随着参数调整次数的增多,学习率应该越来越小 a = a/(t+1) t表示迭代的次数;
但是最好的方式是每一个参数对应一个学习率,这样就引出了Adagrad。
李宏毅机器学习笔记01(梯度下降的一些内容)
adagrad的式子如上。

SGD:stochastic Gradient Descent 随机梯度(天下武功唯快不破)
李宏毅机器学习笔记01(梯度下降的一些内容)
每计算一个样本的loss就更新一次w,正常的情况下是所有的样本的loss计算完成之后取平均,然后更新w就如图的左边,方向是对的。那么sgd的做法就是计算一个样本之后就更新参数,虽然不一定方向正确,但是胜在第一种方法走一次,我SGD就走很多次,c从而达到快速迭代的目的。

接下来是特征缩放:
特征缩放的问题用这张图说明:
李宏毅机器学习笔记01(梯度下降的一些内容)
图的左边是未缩放的,虽然能够最终迭代到目标值,但是开始的时候由于没有缩放,导致影响力较大的那个值的梯度方向上更加被有限下降,相当于多走了弯路;而在进行了梯度缩放之后,如右图,梯度下降的时候,直接剑指圆心,不会走弯路,所以特征缩放确实很有用。