2. 梯度下降 gradient decent

可参考文章:https://www.cnblogs.com/pinard/p/5970503.html

  (一) 梯度下降的公式:

(二)梯度下降的几个tips:

1.learning rate \eta 要适当调整:

     learning rate \eta 过小,参数更新太慢,loss下降太慢。

     learning rate \eta 过大,参数更新过大,loss可能会跳过 global minimum。

2.自适应的learning rate\eta  调整:

    自适应调整的目标是:模型训练的初始阶段,\eta 稍微大一些,参数下降快一些。随着训练时间的增加,loss理论上在逐步接近全局最小值。 这时\eta  可以调整小一些,更新步伐放小,参数更新慢一些,避免跳过minnum(Loss)。

    adagrad: 就是一种可以实现自适应调整学习速率的算法,其公式如下:

    

    adagrad的思想如下:

    与gradient decent 不同的时,adagrad将梯度前所乘的参数换成了一个 分子/分母 的结构。即学习速率 \eta 除上一个随时间变化的函数,这个函数是历史所有梯度的平方和。函数特点是,随时间增长,函数值越来越大。即分母越来越大,因此梯度乘以的参数随时间越来越小。通过这么一种方式就实现了自适应调整\eta 的目的。

    3.特征归一化处理:

    

实际数据中,每个特征的分布不同,如上左图。特征分布不同,对Y的影响则不同。比如X1的取值是1,2,3···,x2的取值是100,200,300···,那乘以权重参数w后,x2波动对Y造成的影响远大于X1波动对Y造成的影响。如上右图,未做归一化的loss和参数的等高线是椭圆的,很难直接沿着某个方向达到最小值。而归一化后,等高线是类似圆形,无论从哪个方向开始,沿着一个方向很容易到达圆心,即loss的最小值。

4.梯度下降work的数学理论基础。

    梯度下降work的背后数学理论是泰勒展开式,此处不赘述,,因为还没有太懂。。

(三)梯度下降的几个问题:

1.梯度下降的大家族有哪些?

    BGD ( batch gredient decent) : 每次取所有的训练样本来更新参数。自然训练速度比较慢。

    SGD (stochastic gredient decent): 每次只随机选取一个样本来更新参数。这是另外一个极端,虽然参数更新速度变快,但是得到结果不一定是最优解。

    MBGD : mini-batch gredient decent: 折中了上述两种极端的方式,每次随机的选取一小批数据来训练,更新参数。

2.梯度下降如何避免卡在局部最小值?

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值