支持向量機回歸預測 梯度下降法和隨機梯度下降法的區(qū)別?
梯度下降法和隨機梯度下降法的區(qū)別?梯度下降算法是一個比較廣的概念, 意思是: 你優(yōu)化一個函數(shù)/分類器時,如何減少它的誤差?不妨選擇梯度下降方向,該方向很可能是走向最優(yōu)點的方向。 然后加上一個隨機,表示
梯度下降法和隨機梯度下降法的區(qū)別?
梯度下降算法是一個比較廣的概念, 意思是: 你優(yōu)化一個函數(shù)/分類器時,如何減少它的誤差?不妨選擇梯度下降方向,該方向很可能是走向最優(yōu)點的方向。 然后加上一個隨機,表示: 既然你知道 方向是:梯度方向了,那么走多長呢? 答案是:隨機。所以,梯度下降算法包括 隨機梯度下降算法。
隨機梯度下降為什么比梯度下降快?
理論上來說,隨機梯度下降比梯度下降速度快的原因有兩個。
首先是隨機梯度下降算法在前期有很突出的迭代效果。
因為初始化設(shè)置中的參數(shù)是隨機的,一般距離最優(yōu)結(jié)果較遠,所以在初始階段比較重要的是快速離開初始區(qū)域、向最優(yōu)區(qū)域前進。而隨機梯度下降算法因為每一次迭代計算中只有一個樣本,相對于梯度下降,只要學習率沒有錯得離譜,隨機梯度下降可以做到更快地離開初始區(qū)域,而在初始階段爭取的時間遠多于隨機梯度下降算法在后期面對噪音時候浪費的時間。
其次是隨機梯度下降算法節(jié)約了計算冗余信息的時間。
梯度下降算法在計算時,將全部數(shù)據(jù)同時計算,而全部數(shù)據(jù)中通常包含了類似的數(shù)據(jù),因而構(gòu)成了冗余,所以在實際運用中,隨機梯度下降算法即便用少量的、隨機的數(shù)據(jù)計算出的結(jié)果,也和梯度下降差不多。在數(shù)據(jù)集非常龐大時,極有可能出現(xiàn)相似的函數(shù),sgd的優(yōu)勢在此時更加明顯,梯度下降會在每次參數(shù)更新前對相似的樣本計算梯度,而sgd一個樣本更新一次的做法,使它可以在不用遍歷的條件下,輕松地達到最優(yōu)解附近,雖然這會損失一定的精度,但是十分幸運的是,我們在進行機器學習訓練任務(wù)時,大部分時間并不追求最優(yōu)解,而是常常提前結(jié)束,所以精度的微小缺陷在此處也顯得不那么重要了。