一、總體概況分為以下五種
(1)批次梯度下降Batch Gradient Descent:
在批量梯度下降中,相對于整個訓練數(shù)據(jù)集的權重計算損失函數(shù)的梯度,并且在每次迭代之后更新權重。這提供了對漸變的更準確的估計,但對于大數(shù)據(jù)集,它的計算代價可能很高。
(2)隨機梯度下降Stochastic Gradient Descent:
在SGD中,相對于單個訓練樣本計算損失函數(shù)的梯度,并且在每個樣本之后更新權重。與批處理梯度下降算法相比,SGD算法每次迭代的計算量較小,但穩(wěn)定性較差,可能不會收斂到最優(yōu)解。
隨機”一詞指的是與隨機概率相聯(lián)系的系統(tǒng)或過程。因此,在隨機梯度下降中,每次迭代都隨機選擇幾個樣本,而不是整個數(shù)據(jù)集。在梯度下降中,有一個術語稱為“批次”,它表示用于計算每次迭代的梯度的數(shù)據(jù)集的樣本總數(shù)。在典型的梯度下降優(yōu)化中,像批次梯度下降一樣,將批次視為整個數(shù)據(jù)集。雖然使用整個數(shù)據(jù)集對于以較少的噪音和較少的隨機方式到達最小值非常有用,但當我們的數(shù)據(jù)集變大時,問題就會出現(xiàn)。假設您的數(shù)據(jù)集中有一百萬個樣本,所以如果您使用典型的漸變下降優(yōu)化技術,在執(zhí)行梯度下降時,您將不得不使用所有一百萬個樣本來完成一次迭代,并且必須在每次迭代中都這樣做,直到達到最小值。因此,它在計算上變得非常昂貴。這個問題通過隨機梯度下降來解決。在SGD中,它只使用單個樣本,即批大小為1的樣本來執(zhí)行每次迭代。樣本被隨機洗牌并被選擇用于執(zhí)行迭代。
(3)小批量梯度下降Mini-Batch Gradient Descent:
小批量梯度下降法是一種介于批量梯度下降和SGD之間的折衷算法。相對于隨機選擇的訓練樣本子集(稱為小批次)計算損失函數(shù)的梯度,并且在每個小批次之后更新權重。小批量梯度下降算法在批量梯度下降的穩(wěn)定性和SGD算法的計算效率之間取得了平衡。
(4)動量下降Momentum Gradient Descent:
動量是梯度下降的一種變體,它結合了來自先前權重更新的信息,以幫助算法更快地收斂到最優(yōu)解。動量向權重更新添加一個項,該項與過去梯度的運行平均值成比例,從而允許算法更快地朝著最優(yōu)解的方向移動。
(5)自適應梯度下降算法Adaptive Gradient Descent:
自適應梯度下降算法是一種基于梯度信息的自適應優(yōu)化算法,它通過調(diào)整學習率來適應不同的梯度情況,從而加速收斂。自適應梯度下降算法的優(yōu)點是可以自動調(diào)節(jié)學習率,適應不同的梯度情況,但缺點是可能會導致過度調(diào)整,使模型參數(shù)跳過最優(yōu)點。
