3-1 Gradient Descent
- Gradient Descent(《机器学习笔记1前半段》已学习了大概)
其中ⴄ:learning rate 学习速度 是一个常数(g^t微分以后的常数项放在了ⴄ下面)
将其可视画(gradient就是等高线的法向方向)
(gradient一直在变方向,因为每次乘learning rate的时候都要取相反数) - Tip 1 小心设置learning rate (learning rate太慢时间过长,太快步伐会太大直接跳过了山谷)
通过可视化loss随参数更新的变化趋势判断learning rate合不合适
①learning rate太大——loss快速下降然后卡住
②learning rate太小——loss下降非常慢 - 如何调learning rate:最好因材施教
- Adagrad:每一个参数的learning rate都除之前微分值的root mean square
例:
Adagrad表达式
有一个以上的元素的时候应该考虑一阶微分和二阶微分
- Tip 2 Stochastic Gradient descent
每次拿一个x^n计算loss 看一个example就update一个
会比gradient descent快 - Tip 3 Feature scaling
两个input feature,如果它们分布很不一致就做scaling这样它们的分布一样
使得两个因素对loss的影响一样
- 常见做法:每个值减去平均值除以方差,最后使得平均值0方差1(标准正态分布)
- Gradient Descent的理论基础