Machine Learning----Error & Gradient descent
What is error, bias, variance of a model?
https://segmentfault.com/a/1190000016447144 (reference)
It’s a easy tutorial to understand the answer of this question.
Gradient descent
梯度下降可视化
-
tuning learning rate
虽然可视化可以直观观察,但可视化也只能在参数是一维或二维的时候进行,更高维的情况无法可视化。 -
Adaptive learning rates(自适应学习率)
Learning rate cannot be one-size-fits-all
different parameters, different leaning rate
Vanilla Gradient descent:
w is a parameter, g is gradient of w.
Adagrad:
σt :之前参数的所有微分的均方根(root mean square),对于每个参数都是不一样的
Adagrad 矛盾的地方
结论:梯度越大,就跟最低点的距离越远。
在多个参数的时候就不一定成立了
即不止和一次微分成正比,还和二次微分成反比。最好的step应该考虑到二次微分:
Stochastic Gradient descent 随机梯度下降法
常规梯度下降法走一步要处理到所有二十个例子,但随机算法此时已经走了二十步(每处理一个例子就更新)
feature scaling
对于左边的情况,上面讲过这种狭长的情形不过不用Adagrad的话是比较难处理的,两个方向上需要不同的学习率,同一组学习率会搞不定它。而右边情形更新参数就会变得比较容易。左边的梯度下降并不是向着最低点方向走的,而是顺着等高线切线法线方向走的。但绿色就可以向着圆心(最低点)走,这样做参数更新也是比较有效率。