美文网首页
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