機器學習之隨機梯度下降法

Lois發表於2020-06-13

批次

在梯度下降法中, 批次指的是用於在單次迭代中計算梯度的樣本總數.到目前為止,我們一直假定批次是指整個資料集.就 Google 的規模而言, 資料集通常包括數十億甚至數千億個樣本.此外, Google資料集通常包括海量特徵.因此, 一個批次可能相當巨大.
如果是超大批次, 則單次迭代就可能花費很長時間進行計算.
包含隨機抽樣樣本的大型資料集可能包含冗餘資料.實際上,批次大小越大,出現冗餘的可能性就越高.一些冗餘可能有助於消除雜亂的梯度, 但超大批次所具備的預測價值往往並不比大型批次高.
如果我們可以透過更少的計算量得出正確的平均梯度,會怎麼樣?
透過從我們的資料集中隨機選擇樣本, 我們可以透過小得多的資料集估算 ( 儘管過程非常雜亂 ) 出較大的平均值. 隨機梯度下降法 ( SGD ) 將這種想法運用到極致, 它每次迭代只使用一個樣本 ( 批次大小為 1 ) .如果進行足夠的迭代, SGD 也可以發揮作用, 但過程會非常雜亂. “隨機” 這一術語表示構成各個批次的一個樣本都是隨機選擇的.

小批次隨機梯度下降法

小批次隨機梯度下降法 ( 小批次 SGD ) 是介於全批次迭代與 SGD 之間的折衷方案. 小批次通常包含 10 - 1000 個隨機選擇的樣本. 小批次 SGD 可以減少 SGD 中的雜亂樣本的數量, 但仍比全批次更高效.
為了簡化說明, 我們只針對單個特徵重點介紹了梯度下降法. 請放心, 梯度下降法也適用於包含多個特徵的特徵ji

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Hacking

相關文章