● Loss function最小的一组参数
●计算偏微分,update参数。
●virtualize parameters
-
红色的箭头:梯度,是一个向量,也是等高线的法线方向.
-
蓝色的梯度:update参数,就梯度*lr,取一个负号,在加上theta0得到theta1.
-
步骤就反复地进行下去,再计算一遍梯度,得到另外一个红色的箭头,走的方向是红色箭头相反的方向。一直进行下去。算一次Gredient,决定要走的方向.
●Tip 1
-
关于learning rate 大小
- 太小:走的太慢.
- 太大:会震荡,永远走不下去。甚至一瞬间飞出去,loss function反而越来越大.
●visualize参数变化对应的loss function.
- 蓝色太小:下降非常非常的慢.
- 绿色太大:loss先快速的下降,接下来卡住了.
- 橘色过于太大:loss 直接飞出去!
- 红色刚刚好:得到一个好结果.
●Adagrad
刚开始离目标比较远,lr比较大,快点到最低点,接近目标后,减小lr,让它收敛在最低的地方.
可这样设learning rate :
这样是不够的,最好的状况是每个不同的参数都匹配一个learning rate
有很多小技巧,最容易简单的------Adagrad
Adagrad:每一个参数的learning rate都把它除以之前算出来的微分值的root mean square(均方根).
我们原来的gradient descent是这样:
其中
假设W呢,是某一个参数。现在的w不是一组参数,而是我们只考虑一个参数。因为我们现在在做Ada