Batch 梯度下降(Batch Gradient Descent)
擬合函數
損失函數
是第i個訓練樣本的目標輸出 是第i個訓練樣本的實際輸出
梯度最明顯的應用就是快速找到多維變量函數的極大值。而梯度的反方向,自然就是函數值下降最快的方向。如果函數每次都是沿着梯度最快的方向。如果函數每次都是沿着梯度遞減的方向前進,就能走到函數的最小值附近。
所以:
隨機梯度下降 (Stochastic Gradient Descent)
對於BGD算法,每次更新迭代,都要遍歷訓練樣本集合D中的所有成員,然後求誤差和,分別求各個權值的梯度,迭代一次都會進行大量計算。因此對於訓練集樣本巨量的數據顯然不合適。
SGD算法:遵循一樣本,一迭代的策略。先隨機挑選一樣本,然後根據樣本的誤差來調節權值,通過一系列的單樣本權值調整,力圖達到與BGD採取“全樣本,一迭代”類似的權值效果。