隨機(jī)梯度下降法 梯度下降法和隨機(jī)梯度下降法的區(qū)別?
梯度下降法和隨機(jī)梯度下降法的區(qū)別?梯度下降算法是一個(gè)寬泛的概念,意思是:當(dāng)你優(yōu)化一個(gè)函數(shù)/分類(lèi)器時(shí),如何減少它的誤差?你不妨選擇梯度下降的方向,這很可能是最好的方向。既然你知道方向是梯度,你要走多久?
梯度下降法和隨機(jī)梯度下降法的區(qū)別?
梯度下降算法是一個(gè)寬泛的概念,意思是:當(dāng)你優(yōu)化一個(gè)函數(shù)/分類(lèi)器時(shí),如何減少它的誤差?你不妨選擇梯度下降的方向,這很可能是最好的方向。既然你知道方向是梯度,你要走多久?答案是:隨機(jī)的。因此,梯度下降算法包括隨機(jī)梯度下降算法。
隨機(jī)梯度下降為什么比梯度下降快?
從理論上講,隨機(jī)梯度比梯度下降得快有兩個(gè)原因。
由于初始化設(shè)置中的參數(shù)是隨機(jī)的,通常遠(yuǎn)離最佳結(jié)果,因此在初始階段快速離開(kāi)初始區(qū)域并向前移動(dòng)到最佳區(qū)域非常重要。隨機(jī)梯度下降算法每次迭代只有一個(gè)樣本。與梯度下降算法相比,只要學(xué)習(xí)速率正確,隨機(jī)梯度下降算法可以更快地離開(kāi)初始區(qū)域,并且在初始階段所花費(fèi)的時(shí)間遠(yuǎn)遠(yuǎn)大于隨機(jī)梯度下降算法面對(duì)噪聲時(shí)在后期所浪費(fèi)的時(shí)間。
在梯度下降算法的計(jì)算中,所有的數(shù)據(jù)都是同時(shí)計(jì)算的,所有的數(shù)據(jù)通常都包含相似的數(shù)據(jù),構(gòu)成冗余。因此,在實(shí)際應(yīng)用中,即使使用少量的隨機(jī)數(shù)據(jù),隨機(jī)梯度下降算法的結(jié)果也與梯度下降算法的結(jié)果基本相同。當(dāng)數(shù)據(jù)集非常大時(shí),很可能會(huì)出現(xiàn)類(lèi)似的函數(shù)。新加坡元的優(yōu)勢(shì)在這個(gè)時(shí)候更加明顯。梯度下降將在每次參數(shù)更新之前計(jì)算相似樣本的梯度。SGD更新一個(gè)樣本的方法使得無(wú)需遍歷就可以很容易地得到最優(yōu)解。雖然會(huì)損失一些精度,但很幸運(yùn)是的,當(dāng)我們做機(jī)器學(xué)習(xí)訓(xùn)練任務(wù)時(shí),大多數(shù)時(shí)候我們并不追求最優(yōu)解,而是往往提前結(jié)束,所以精度的小缺陷在這里并不那么重要。