好的優化演算法能夠讓神經網路執行的更快。本篇部落格根據吳恩達老師的講解,對幾種優化演算法進行總結。將訓練集分割為小一點子集,使用梯度下降法進行訓練。該過程叫做mini-batch梯度下降。
設每個子集中有m個樣本(因為考慮到電腦的記憶體設定和使用方式,一般的mini-batch的大小m設定為62-512,通常為2的n次方。這樣**會執行地快一些。)
當m=整個訓練集的大小,稱為batch梯度下降;
缺點:訓練樣本的數量巨大時,單次迭代的耗時太長;
當m=1時,稱為隨機梯度下降法;
缺點:1.雜訊大(可以通過減小學習率來改善或減小);
2.因為一次只處理乙個樣本,失去了所有向量多帶來的加速效果,效率低下。
基本思想:
計算梯度指數加權平均數,並利用該梯度更新權重;
更新公式:
基本思想:
減緩縱座標上的學習速度,同時加快橫座標方向上的學習速度。
更新公式:
計算公式:
神經網路優化演算法
1.訓練誤差 在訓練資料上表現的誤差 2.泛化誤差 在任意測試資料集上的誤差期望 訓練誤差小於等於泛化誤差。由於無法估計泛化誤差,所以一味降低訓練誤差並不意味著泛化誤差會降低。機器學習模型應該降低泛化誤差。預留驗證集,判斷驗證集在模型中的表現能力 validation set 當訓練資料不夠,不能預...
神經網路優化演算法
神經網路優化演算法,反向傳播演算法 backpropagation 和梯度下降演算法 gradient decent 調整神經網路中引數的取值。梯度下賤演算法主要用於優化單個引數的取值,而反向傳播演算法給出了乙個高效的方式在所有引數上使用梯度下降演算法,從而使神經網路模型在訓練資料上的損失函式盡可能...
DNN(深度神經網路演算法)
資料集定義模型 訓練 學習 評估模型 自從 1962 年 rosenblat 提出感知機 perceptron 以來,dnn 的概念就已經出現了,而自 rumelhart hinton 和 williams 在 1986 年發現了梯度下降演算法後,dnn 的概念就變得可行了。直到最近 dnn 才成為...