机器学习笔记:Momentum

1 为什么要引入Momentum

机器学习笔记:Momentum_第1张图片

上图代表了一个函数的等高线

 机器学习笔记:Momentum_第2张图片

使用梯度下降的话,红色的方向是我们要走的方向。蓝色和绿色分别是两个坐标轴上对应的变化方向。

这会存在一个问题,就是学习率不能太大,不然就会出现“overshoot”的问题

机器学习笔记:Momentum_第3张图片

 于是我们的梯度下降路线是一个像九曲桥一样的路径

机器学习笔记:Momentum_第4张图片

 不难发现,这样会导致收敛的速度很慢 

其中,我们要优化的这个函数f,对应的hessian矩阵的最大和最小特征值的比值(我们称为condition number)越大(也就是等高线“越扁”),梯度下降收敛得越慢

2 Momentum 

由于这里的截图同时采用了李宏毅教授和NTU课程的ppt,所以λ和α表示的是一个东西

给梯度下降一个动量

移动方向为  之前的移动方向  和   当下梯度反方向 的矢量和

机器学习笔记:Momentum_第5张图片

机器学习笔记:Momentum_第6张图片

 每一步梯度对于当前梯度下降的方向都有贡献,只是它的贡献值指数级减少——EMA(exponential moving average)

机器学习笔记:Momentum_第7张图片

 机器学习笔记:Momentum_第8张图片

机器学习笔记:Momentum_第9张图片

通过momentum,大的方向会抵消掉一部分,小的方向会累加——加快收敛的速度 

抵消的部分——>指向的方向不同

加强的方向——>指向的方向相同

机器学习笔记:Momentum_第10张图片 

3 数据白化

除了momentum之外,数据白化操作(将数据变成N(0,1)的分布)也可以减少condition number。这也可以加快收敛。 

你可能感兴趣的:(机器学习,机器学习,python)