機器學習中常見的優化方法:梯度下降法、牛頓法擬牛頓法、共軛梯度法、拉格朗日乘數法
阿新 • • 發佈:2019-01-13
機器學習中常見的優化方法:
梯度下降法、牛頓法擬牛頓法、共軛梯度法、拉格朗日乘數法
- 主要內容
- 梯度下降法
- 牛頓法擬牛頓法
- 共軛梯度法
- 拉格朗日乘數法
許多機器學習演算法,往往建立目標函式(損失函式+正則項),通過優化方法進行優化,根據訓練樣本訓練出滿足要求的模型。常見的優化方法有梯度下降法、牛頓法擬牛頓法、共軛梯度法、拉格朗日乘數法等等。
一、梯度下降法
梯度下降法(Gradient Descent)是一種常用的一階優化方法,是求解無約束優化問題的經典方法。通過反覆迭代,沿目標函式梯度的反方向逼近目標函式的最優解(當目標函式為凸函式時,才能得到全域性最優)。目標函式極值點附近,收斂速度變慢。
梯度下降方法包括批量梯度下降法(Batch Gradient Descent,BGD)以及隨機梯度下降法(Stochastic Gradient Descent,SGD)。
假設目標函式為均方誤差損失函式:
假設需要擬合的函式模型為:
即線性迴歸模型,其中表示樣本特徵的個數。
1、批量梯度下降法
批量梯度下降法,每一次迭代,需要用到所有訓練樣本。
目標函式關於引數求偏導:
根據所有訓練樣本,更新引數
由於批量梯度下降法,每一次迭代需要用到所有訓練樣本,因此如果訓練樣本數量很大,則迭代速度變得非常緩慢。但是,由於最小化所有訓練樣本的目標函式,因此最終求解的是全域性最優解。
2、隨機梯度下降法
隨機梯度下降法,每一次迭代,僅僅需要一個訓練樣本。
目標函式可以寫成:其中,