學(xué)習(xí)率的調(diào)整
從梯度下降算法的角度來(lái)說棚饵,通過選擇合適的學(xué)習(xí)率辆苔,可以使梯度下降法得到更好的性能楼镐。學(xué)習(xí)率喷橙,即參數(shù)到達(dá)最優(yōu)值過程的速度快慢啥么,如Andrew Ng的Stanford公開課程所說,假如你從山峰的最高點(diǎn)根據(jù)梯度下降法尋找最優(yōu)值贰逾,當(dāng)你學(xué)習(xí)率過大饥臂,即下降的快,步子大似踱,那么你很可能會(huì)在某一步跨過最優(yōu)值,當(dāng)你學(xué)習(xí)率過小時(shí),每次下降一厘米核芽,這將走到何年何月呀囚戚,用術(shù)語(yǔ)來(lái)說就是,長(zhǎng)時(shí)間無(wú)法收斂轧简。因此驰坊,學(xué)習(xí)率直接決定著學(xué)習(xí)算法的性能表現(xiàn)。
可以根據(jù)數(shù)據(jù)集的大小來(lái)選擇合適的學(xué)習(xí)率哮独,當(dāng)使用平方誤差和作為成本函數(shù)時(shí)拳芙,隨著數(shù)據(jù)量的增多,學(xué)習(xí)率應(yīng)該被設(shè)置為相應(yīng)更小的值(從梯度下降算法的原理可以分析得出)皮璧。另一種方法就是舟扎,選擇不受數(shù)據(jù)集大小影響的成本函數(shù)-均值平方差函數(shù)。
在不同的迭代中選擇不同的學(xué)習(xí)率悴务,還是用前面下山的例子來(lái)解釋睹限,當(dāng)你大概知道最優(yōu)值離你還挺遠(yuǎn)時(shí),你肯定不會(huì)一步一厘米的去走讯檐,你肯定會(huì)大跨步走到離最優(yōu)值不遠(yuǎn)的地方羡疗,然后再用小碎步來(lái)慢慢找到最優(yōu)值。即别洪,在最初的迭代中叨恨,學(xué)習(xí)率可以大一些,快接近時(shí)挖垛,學(xué)習(xí)率小一些痒钝。問題就出在這里,有人會(huì)說晕换,我要是知道了最優(yōu)值午乓,還有梯度下降算法什么事,說的也對(duì)闸准,那么我們是怎么解決的呢益愈,我們?cè)诿看蔚螅褂霉烙?jì)的模型的參數(shù)來(lái)查看誤差函數(shù)的值夷家,如果相對(duì)于上一次迭代蒸其,錯(cuò)誤率減少了,就可以增大學(xué)習(xí)率如果相對(duì)于上一次迭代库快,錯(cuò)誤率增大了摸袁,那么應(yīng)該重新設(shè)置上一輪迭代的值,并且減少學(xué)習(xí)率到之前的50%义屏。因此靠汁,這是一種學(xué)習(xí)率自適應(yīng)調(diào)節(jié)的方法蜂大。
一般常用的學(xué)習(xí)率有0.00001,0.0001蝶怔,0.001奶浦,0.003,0.01踢星,0.03澳叉,0.1,0.3沐悦,1成洗,3,10