梯度下降法是最常用的優化方法部署在機器學習和深度學習算法。它是用來訓練機器學習模型。
批處理梯度下降法是最簡單的類型。計算誤差在訓練數據集對於每個示例中,然而,這畢竟隻是更新模型訓練的例子被評估。
隨機梯度下降法計算誤差並更新模型中每一個例子訓練數據集。
小批處理梯度下降而不是對所有的例子,它總結了在低數量的例子基於批量大小和執行每一個批次的更新。隨機梯度下降法是一種常見的優化方法。概念上很簡單,通常可以有效地實現。但是,它有一個參數(步長),需要手動調整。有提出不同的選項自動調優。成功的計劃是AdaGrad之一。而標準的隨機次梯度方法主要遵循預定的程序方案,忽視了所觀察到的數據的特征。相比之下,AdaGrad算法動態地把知識的幾何數據的觀察到在早期迭代執行更多的基於信息梯度學習。在兩個版本AdaGrad已經發布。對角線AdaGrad(這個版本是一個在實踐中使用),它的主要特點是維持和調整學習速率每一個維度; the second version known as Full AdaGrad maintains one learning rate per direction (e.g.. a full PSD matrix). Adaptive Gradient Algorithm (Adagrad) is an algorithm for gradient-based optimization. The learning rate is adapted component-wise to the parameters by incorporating knowledge of past observations. It performs larger updates (e.g. high learning rates) for those parameters that are related to infrequent features and smaller updates (i.e. low learning rates) for frequent one. It performs smaller updates As a result, it is well-suited when dealing with sparse data (NLP or image recognition) Each parameter has its own learning rate that improves performance on problems with sparse gradients.