00-03Gradient descent梯度下降

1、把大象关进冰箱的第三步
回顾一下,ML的第三步---找出loss最小的function---此处用θ(上标星)表示。

假如θ有两个变量θ1,θ2,从任意位置θ0处开始,计算偏微分,更新θ,如此不断更新很多次之后,就会找到loss最小的function。但这么做是不是有点简单粗暴呢,下面讲gradient descent三个小技巧。

Tip1:tuning your learning rate
Tip2:Stochastic gradient descent---make the training faster
Tip3:Feature scaling

1、如下图左边所示,在一维二维的情况下,我们可以把loss和参数之间的关系可视化出来,但涉及到很多参数的情况下,就没办法可视化了,但是我们总能把更新参数和loss之间的关系可视化出来,就想图右边一样。

像上图一样,如果learning rate是固定一成不变的话,那么有可能出现蓝色的情况,learning rate很小,参数一直在蜗牛的速度更新,绿色的情况,learning rate中等,总是会在optimization处来回徘徊,黄色的情况,learning rate太大,loss之间飞出去了,这时候我们就意识到,如果learning rate能随情况更新就好了,我们需要adaptive learning rates。


一个经典的方法就是Adagrad。





我们希望在微分比较大的时候,用比较大的learning rate,微分比较小的时候,用比较小的learning rate,而上图adagrad的式子貌似有矛盾啊,这是为什么呢。一个直观的解释就是adagrad强调的是反差的效果。


2、Stochastic gradient descent


3、feature scaling


从下图可以很明显的看出,在左侧未feature scaling时,在w1和w2做同样的变化时,w2对y的影响比w1对y的影响大得多,而在右侧feature scaling之后,w1和w2对y的影响基本处在同一水平了。


那feature scaling要怎么做呢?如下图,是一种常见做法。



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/loongqian/article/details/80337750
文章标签: 机器学习 李宏毅
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭