第二课:逻辑回归与梯度下降
梯度下降法
【拓展】梯度下降法的一些拓展讨论
作者 : 老饼 日期 : 2022-06-26 03:49:19 更新 : 2022-09-24 17:24:13
本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com


本文讨论和拓展一些梯度下降的理解,

例如梯度下降的意义,学习率的作用,梯度下降法的优缺点等等,

以此加深对梯度下降算法的理解。




  梯度下降的意义  


为什么按负梯度下降


《数学分析》中,负梯度方向是函数下降最快的方向,
即x=[2,3],如果梯度为[1,2],则x往[1,2]方向调整,能令函数f(x)下降最快的方向
(所谓最快,即调整同样的步长,该方向能令函数下降最快)
按负梯度下降,保证了调整方向的正确性。




关于学习率


为什么要设置学习率


目的是为了保证按梯度方向调整一定能下降。
梯度方向能下降是瞬时的,
如果调整步长过大,则不一定能保证函数能下降,
但只要调整步长足够小,函数就能下降(前提是梯度不为0)。
所以,我们在调整时,加入学习率lr,以控制步长: 


学习率的设置


要保证能下降,学习率就不能过大,
但学习率很小,每次迭代调整都很小,就需要迭代很多次。
为此,我们可以设定一个较中肯的学习率(例如,lr = 0.1)。


自适应学习率


如果更智能一些,
在程序中把学习率改为自适应学习率: 
如果本次迭代能令函数下降,我们把学习率调大些,
如果次迭代不能令函数本下降,我们就把学习率调小些。
或者更智能的设置,这就属于梯度下降法的拓展了。




梯度下降法的优缺点


   优 点   


(1)按负梯度调整,加上学习率的控制,则能保证x的调整,函数一定能下降。
(2)按负梯度下降,由于负梯度是下降最快的方向,在下降速度上更加有效。


   缺 点   


(1) 遇到局部最优时,算法就停止,因为此时梯度为0。因此,该算法只能找到初始解 ​  的局部最优,对跳出局部完全无反抗能力。
(2) 要求函数是连续的(可求偏导)







 End 





联系小饼