机器学习的梯度下降中学习率的选取

学习率,站在数学的角度去理解,就是步长,它决定了每次迭代过程中沿着梯度方向移动的距离。如果步长很大,那么算法就会陷入局部最优,很难收敛;步长太小,则算法将会花费大量的时间,才能收敛,速度很慢。所以学习率的选择很大程度的决定了算法的性能。


但如何调整学习率呢?应该包握住这个大方向:在斜率大的地方使用小的学习率,在斜率小的地方使用大的学习率。


接下来谈谈学习率如何表示:记h(a)=f(xk+adk),a>0,其中当前点为xk,当前的搜素方向为dk,a为学习率。

对h(a)关于a求导,得到∇ h(a)=∇ f ( xk +adk ) Tdk,因为梯度下降是寻找f(x)的最小值,则令∇ h(a)=∇ f ( xk +adk ) Tdk

=0,下降方向可以选择负梯度方向,从而h(0)的导数小于0,如果能够找到足够大的a,使得h(a)的导数大于0,则必存在一个a*,使得h`(a*)=0,其中a*即为要找的学习率。


常用的方法有:线性搜索,回溯线性搜索

听完邹博老师讲完梯度下降后,自己总结一下,希望有用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值