常見的最優化方法有梯度下降法、牛頓法和擬牛頓法、共軛梯度法等等。
梯度下降法實現簡單,當目標函式是凸函式時,梯度下降法的解是全域性解。一般情況下,其解不保證是全域性最優解,梯度下降法的速度也未必是最快的。梯度下降法的優化思想是用當前位置負梯度方向作為搜尋方向,因為該方向為當前位置的最快下降方向,所以也被稱為是」最速下降法「。最速下降法越接近目標值,步長越小,前進越慢。
兩者的關係可以這樣理解:隨機梯度下降方法以損失很小的一部分精確度和增加一定數量的迭代次數為代價,換取了總體的優化效率的提公升。增加的迭代次數遠遠小於樣本的數量。
對批量梯度下降法和隨機梯度下降法的總結:
批量梯度下降
---最小化所有訓練樣本的損失函式,使得最終求解的是全域性的最優解,即求解的引數是使得風險函式最小,但是對於大規模樣本問題效率低下。
隨機梯度下降
---最小化每條樣本的損失函式,雖然不是每次迭代得到的損失函式都向著全域性最優方向, 但是大的整體的方向是向全域性最優解的,最終的結果往往是在全域性最優解附近,適用於大規模訓練樣本情況。
1.牛頓法是一種在實數域和複數域上近似求解方程的方法。方法使用函式f (
x)的泰勒級數的前面幾項來尋找方程f (
x) = 0
的根。牛頓法最大的特點就在於它的收斂速度很快。
根據wiki上的解釋,從幾何上說,牛頓法就是用乙個二次曲面去擬合你當前所處位置的區域性曲面,而梯度下降法是用乙個平面去擬合當前的區域性曲面,通常情況下,二次曲面的擬合會比平面更好,所以牛頓法選擇的下降路徑會更符合真實的最優下降路徑。
優點:
二階收斂,收斂速度快;
缺點:
牛頓法是一種迭代演算法,每一步都需要求解目標函式的hessian矩陣的逆矩陣,計算比較複雜。
2.擬牛頓法的本質思想是改善牛頓法每次需要求解複雜的hessian矩陣的逆矩陣的缺陷,它使用正定矩陣來近似hessian矩陣的逆,從而簡化了運算的複雜度。擬牛頓法是求解非線性優化問題最有效的方法之一
共軛梯度法是介於最速下降法與牛頓法之間的乙個方法,它僅需利用一階導數資訊,但克服了最速下降法收斂慢的缺點,又避免了牛頓法需要儲存和計算hesse矩陣並求逆的缺點,共軛梯度法不僅是解決大型線性方程組最有用的方法之一,也是解大型非線性最優化最有效的演算法之一。其優點是所需儲存量小,具有步收斂性,穩定性高,而且不需要任何外來引數。
常見的最優化演算法
部分解中的最優,區域性最優,不一定是真的最優 1.貪心法 只和前面的乙個比較,顯然這樣的效率很高,但得到的最優解質量也很差。2.爬山法 不僅和前乙個解比較,也和後乙個解比較,如果比前面和後面的解都優,那麼就認為它是最優解。3.模擬退火演算法 在區域性最優解能概率性地跳出並最終趨於全域性最優,概率逐漸...
深度學習中常見的優化演算法
有批量梯度下降法 batch gradient descent,bgd 和 隨機梯度下降 stochastic gradient descent,sgd 牛頓法是一種在實數域和複數域上近似求解方程的方法。特點是收斂速度很快。擬牛頓法是求解非線性優化問題最有效的方法之一,常用的擬牛頓法有dfp演算法和...
機器學習常見的優化演算法
機器學習中常見的一些優化演算法的總結,以最直接的方式理解。注 梯度下降法來自rachel zhang的部落格 不是所有的方程都具有解析解,因此可採用優化的方法尋找其最有解,在機器學習中常見的演算法有梯度下降法 牛頓法和拉格朗日對偶性。具有一階連續的偏導數的目標函式,以andrew ng老師的課件簡要...