ML笔记:Gradient Descent

时间:2023-02-15 15:28:09

Review: Gradient Descent

ML笔记:Gradient DescentML笔记:Gradient Descent

Tip 1: Tuning your learning rates

eta恰好,可以走到局部最小值点;

eta太小,走得太慢,也可以走到局部最小值点;

eta太大,很可能走不到局部最小值点,卡在某处上;

eta太太大,很可能走出去.

ML笔记:Gradient Descent

可以自动调节eta,

大原则是eta随更新次数的增长而减小,---time dependent

同时也要针对不同的参数设置不同的eta.---parameter dependent

ML笔记:Gradient Descent

有很多这样的自动调节eta的梯度下降方法,名称常以Ada开头,

其中较为简单的Adagrad:

ML笔记:Gradient DescentML笔记:Gradient DescentML笔记:Gradient Descent

Adagrad强化反差.

ML笔记:Gradient DescentML笔记:Gradient Descent

只考虑一个参数时,当前点与局部最优值点的距离与导数成正比,

考虑多个参数时,该结论不一定成立.

ML笔记:Gradient DescentML笔记:Gradient Descent

还需要考虑2阶导数来反映当前位置与局部最小值点的距离.

ML笔记:Gradient Descent

ML笔记:Gradient Descent

Adagrad的分母计算近似了2阶导数的计算.

没有增加额外的花费来估计2阶导数.

ML笔记:Gradient Descent

Tip 2: Stochastic Gradient Descent

梯度下降一次使用所有训练数据,

随机梯度下降一次使用单个训练数据.

ML笔记:Gradient Descent

SGD可能步伐小和散乱,但走得更快.

ML笔记:Gradient Descent

Tip 3: Feature Scaling

ML笔记:Gradient Descent

w1变化,y变化小;---w1对loss影响小

w2变化,y变化大.---w2对loss影响大

一般来说,椭圆形中不同方向的eta需求不一样,需要Ada梯度下降;

圆形中更新次数较少,因为无论椭圆形还是圆形,更新时都是沿着等高线的法线方向,

而圆形直接向着圆心走.

ML笔记:Gradient Descent

通过将特征归一化(均值0,方差1)实现特征缩放.

ML笔记:Gradient Descent

Theory

问题:

ML笔记:Gradient Descent

答案当然是不正确.

正式推导梯度下降能到达局部最小值点.

ML笔记:Gradient DescentML笔记:Gradient DescentML笔记:Gradient DescentML笔记:Gradient DescentML笔记:Gradient DescentML笔记:Gradient Descent

注意:

eta与红色半径成正比,

理论上,eta要充分小才能保证能到达局部最优值点,

实际上,eta只要小就行.

考虑泰勒二阶式的话,理论上eta值可以设得大点.---这种方式在deep learning中不见得那么普及

因为考虑二阶式会多出很多运算,deep learning中认为这样不划算.

ML笔记:Gradient Descent

Limitation

实际操作中,很少情况下导数会exactly为0.

所以,真正问题是,该点实际在高原处,但导数小于阈值,

停下,但此时离局部最优值点还很远.

ML笔记:Gradient Descent