美文网首页
ML学习笔记:Gradient Descent

ML学习笔记:Gradient Descent

作者: answerLDA | 来源:发表于2019-11-16 16:52 被阅读0次

Review

回顾在线性回归中函数最优化计算的过程中,需要对梯度进行计算,然后一步一步微调参数w和b,最后得到一个使loss最小的最优解。



每次都是沿着法线的方向对结果进行微调修改参数


Tip 1: Tuning your learning rates

如果学习率过大,就会在最低点上面来回动荡,永远都到不了最低点;
如果学习率过小,就会使收敛过慢,需要训练很久才能到达最优结果。



可以对学习率实时进行调整,一开始很大,然后逐渐减少。这个就是常规的方法,也称Vanilla Gradient dedcent



更好的解决方案:Adagrad。
用前一次的学习率乘以vanilla参数然后再除以前面所有梯度的均方根。


对Adagrag进行简化



问题:在Adagrag中,分子和分母的变化方向是一样的,是否造成矛盾?

直观的理由是造成一种反差的效果:
  • 当前面几步比较慢的时候,后面会根据前面的梯度下降的值计算出一个比较小的均方根,导致下一步比较大;
  • 当前面几步比较快的时候,后面会根据前面的梯度下降的值计算出一个比较大的均方根,导致下一步比较小;



    最优的梯度下降方法应该是接近最低点的时候梯度下降速度减慢,而不是一直保持一个线性的值。






Tip 2: Stochastic Gradient Descent

思想:只对一个随机的样品进行梯度下降——加快训练速度



传统的梯度下降:一步要计算20个;随机梯度下降:一步计算一个,20步计算20个。


Tip 3: Feature Scaling

特征缩放:使不同的特征拥有一样的规模大小



原因:使梯度线偏向于一个圆形,更好的进行梯度下降



缩放方法:使数据的平均值为0,方差为1

为什么梯度下降方法有效?

梯度下降的目标:给定一个点,找到一个最“陡峭”的方向前进一步。如何找到这一个陡峭的方向?



泰勒公式:





圆圈的半径足够小,即学习率足够小,每次沿着梯度下降最快的方向走一步,就会找到圆圈内最小值




两个参数的情况:


虽然Gradient Descent方法有效找到一个“最低点”,但是还是会存在很多的问题,我们会在以后的学习中去解决它们。

胶片来自于台湾大学李宏毅教授的《机器学习课程》,侵删!

相关文章

网友评论

      本文标题:ML学习笔记:Gradient Descent

      本文链接:https://www.haomeiwen.com/subject/utmyictx.html