以前网上有看到过,说是最好按3倍来调整,也就是0.00001、0.00003、0.0001、0.0003、0.001、0.003、0.01、0.03、0.1、0.3……然后确定范围之后再微调。
如果α取值过大,可能会导致迭代不收敛,从而发散。所以,一开始α的取值也要比较小心才行。
随着迭代次数的增加,一般需要慢慢减小α,因为这样能得到一个更好的结果。至于怎么减小α,也是有很多种策略,可以每次迭代都更新α的值,如α *= 0.96, 也可以 α*=α, 也可以每迭代几次更新一次 α的值 ,方法很多,什么方式更好呢?实验吧……这跟数据有很大关系。
关于正则化参数λ的取值,因为才疏学浅,了解得不多,所以不便多说。不过一般来说λ不会取太小,我的感觉是0.001和1之间吧,也可以每次迭代都更新λ的值。比如一开始取比较小的值,然后随着迭代次数的增加,慢慢增加λ。
总结下,学习速率α越大,收敛越快,正则化参数λ越大,收敛越慢。收敛速度太快,可能一下子就越过极值点,导致发散;太慢则可能需要迭代非常多次,导致时间成本非常高。所以,α和λ取到一个合适的值,还是非常重要的。
***********2013年5月26日13:58:07*************
刚看到一种调整α的方法,就是
, 当然,α的初始值也不能太大,不然还是会发散。
这个策略一个不好的地方就是
的取值问题,糟糕的取值可能会导致收敛非常慢。
作者:我来我往
follow our hearts
var cpro_id = “u2080713”
id="iframeu2080713_0" src="http://pos.baidu.com/bcxm?conwid=639&conhei=64&rdid=2080713&dc=3&exps=110011&psi=62dde2b9439855314a2fd39bab0428e4&di=u2080713&dri=0&dis=0&dai=2&ps=965x10&enu=encoding&dcb=___adblockplus&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1552918094381&ti=%E9%9A%8F%E6%9C%BA%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E6%B3%95%E6%AD%A5%E9%95%BF%E7%9A%84%E9%80%89%E6%8B%A9%20-%20%E4%B8%BA%E7%A8%8B%E5%BA%8F%E5%91%98%E6%9C%8D%E5%8A%A1&ari=2&dbv=2&drs=1&pcs=1309x639&pss=1309x975&cfv=0&cpl=26&chi=1&cce=true&cec=UTF-8&tlm=1552918094&rw=639<u=http%3A%2F%2Fju.outofmemory.cn%2Fentry%2F31137&ecd=1&uc=1366x728&pis=-1x-1&sr=1366x768&tcn=1552918094&qn=724f675590a6ea0f&tt=1552918094360.27.682.685" width="639" height="64" align="center,center" vspace="0" hspace="0" scrolling="no">