隨機(jī)梯度下降SGD算法原理 梯度下降法和隨機(jī)梯度下降法的區(qū)別?
梯度下降法和隨機(jī)梯度下降法的區(qū)別?梯度下降算法是一個寬泛的概念,意思是:當(dāng)你優(yōu)化一個函數(shù)/分類器時,如何減少它的誤差?你不妨選擇梯度下降的方向,這很可能是最好的方向。既然你知道方向是梯度,你要走多久?
梯度下降法和隨機(jī)梯度下降法的區(qū)別?
梯度下降算法是一個寬泛的概念,意思是:當(dāng)你優(yōu)化一個函數(shù)/分類器時,如何減少它的誤差?你不妨選擇梯度下降的方向,這很可能是最好的方向。既然你知道方向是梯度,你要走多久?答案是:隨機(jī)的。因此,梯度下降算法包括隨機(jī)梯度下降算法。
隨機(jī)梯度下降為什么比梯度下降快?
從理論上講,隨機(jī)梯度比梯度下降得快有兩個原因。
由于初始化設(shè)置中的參數(shù)是隨機(jī)的,通常遠(yuǎn)離最佳結(jié)果,因此在初始階段快速離開初始區(qū)域并向前移動到最佳區(qū)域非常重要。隨機(jī)梯度下降算法每次迭代只有一個樣本。與梯度下降算法相比,只要學(xué)習(xí)速率正確,隨機(jī)梯度下降算法可以更快地離開初始區(qū)域,并且在初始階段所花費的時間遠(yuǎn)遠(yuǎn)大于隨機(jī)梯度下降算法面對噪聲時在后期所浪費的時間。
在梯度下降算法的計算中,所有的數(shù)據(jù)都是同時計算的,所有的數(shù)據(jù)通常都包含相似的數(shù)據(jù),構(gòu)成冗余。因此,在實際應(yīng)用中,即使使用少量的隨機(jī)數(shù)據(jù),隨機(jī)梯度下降算法的結(jié)果也與梯度下降算法的結(jié)果基本相同。當(dāng)數(shù)據(jù)集非常大時,很可能會出現(xiàn)類似的函數(shù)。新加坡元的優(yōu)勢在這個時候更加明顯。梯度下降將在每次參數(shù)更新之前計算相似樣本的梯度。SGD更新一個樣本的方法使得無需遍歷就可以很容易地得到最優(yōu)解。雖然會損失一些精度,但很幸運是的,當(dāng)我們做機(jī)器學(xué)習(xí)訓(xùn)練任務(wù)時,大多數(shù)時候我們并不追求最優(yōu)解,而是往往提前結(jié)束,所以精度的小缺陷在這里并不那么重要。
機(jī)器學(xué)習(xí)為什么會使用梯度下降法?
另外,在神經(jīng)網(wǎng)絡(luò)(非凸問題)的訓(xùn)練中,大多采用梯度下降法。梯度下降法和擬牛頓法可以用來訓(xùn)練logistic回歸(凸問題)模型。
在機(jī)器學(xué)習(xí)任務(wù)中,必須最小化損失函數(shù)L(θ)Lleft(thetaright)L(θ),其中θthetaθ是要求解的模型參數(shù)。梯度下降法和牛頓/擬牛頓法都是迭代法。梯度下降法是梯度法,而牛頓法/擬牛頓法是由二階Hessian矩陣的逆矩陣或偽逆矩陣求解的。
比較了梯度下降法和牛頓法。因為微積分的本質(zhì)是研究“量”與“量變”的關(guān)系。我們感興趣的大多數(shù)數(shù)量,比如位置和速度,比如GDP、人口和壽命,都是不斷變化的。為了研究它們之間的關(guān)系,我們經(jīng)常使用一些數(shù)學(xué)模型,其中包含了大量的微分方程,自然是微積分學(xué)的重要基礎(chǔ)。
沒有微積分,世界仍然是黑暗的。
具體來說,微積分廣泛應(yīng)用于各行各業(yè)。
物理學(xué)不言而喻,牛頓發(fā)明微積分是為了用微分方程來描述物理世界的現(xiàn)象。微積分必須應(yīng)用于任何工程領(lǐng)域。通常,你需要計算體積,面積和壓力。
在經(jīng)濟(jì)學(xué)中,各種預(yù)測模型都是微分方程。還有著名的博弈論,它運用了大量的高等數(shù)學(xué),遠(yuǎn)遠(yuǎn)超過微積分。
在金融領(lǐng)域,現(xiàn)在很多人從事“數(shù)量交易”,他們不得不用微積分來計算期權(quán)定價和各種衍生金融產(chǎn)品。光靠微積分是不夠的。我們需要添加更先進(jìn)的工具,如“隨機(jī)過程”來處理可變的“風(fēng)險”。
保險。計算人們的預(yù)期壽命,各種事故發(fā)生的概率,從而計算出應(yīng)該設(shè)定多少保費。太高了,買不起。太低了,賣不出去。微積分和概率論是標(biāo)準(zhǔn)的。
在過去兩年中,“機(jī)器學(xué)習(xí)”或“人工智能”(事實上,它們都是類似的東西),比如alphago,它在下棋方面非常強(qiáng)大,它包含了一個很深的神經(jīng)網(wǎng)絡(luò)(40層)。這個網(wǎng)絡(luò)是一個非常復(fù)雜的函數(shù),其中有許多參數(shù)(數(shù)億),需要對這些參數(shù)進(jìn)行訓(xùn)練。訓(xùn)練的方法本質(zhì)上是梯度下降法,這也是微積分中的一種方法。
你有沒有注意到上面提到的行業(yè)實際上是非常有利可圖的。
有些人可能會認(rèn)為微積分和《天書》一樣,是關(guān)于現(xiàn)實世界中不存在的東西,而只存在于理論世界中的東西。在學(xué)習(xí)和考試之后,他們都把它還給了老師。但這是完全錯誤的。世界上有許多抽象而乏味的行業(yè),但它們可能是有利可圖的行業(yè)。有很多微積分,概率論和高等代數(shù)。在一些更復(fù)雜的行業(yè),數(shù)學(xué)可能更先進(jìn)。學(xué)習(xí)微積分、概率論等高級知識,再加上應(yīng)用領(lǐng)域的知識(如經(jīng)濟(jì)學(xué)、程序設(shè)計等),絕對是踏入小康、甚至致富的非常可靠的手段!