1. 程式人生 > >谷歌機器學習速成課程---降低損失 (Reducing Loss):隨機梯度下降法

谷歌機器學習速成課程---降低損失 (Reducing Loss):隨機梯度下降法

計算 機器 OS 隨機梯度下降法 術語表 表示 機器學習 放心 使用

在梯度下降法中,批量指的是用於在單次叠代中計算梯度的樣本總數。到目前為止,我們一直假定批量是指整個數據集。就 Google 的規模而言,數據集通常包含數十億甚至數千億個樣本。此外,Google 數據集通常包含海量特征。因此,一個批量可能相當巨大。如果是超大批量,則單次叠代就可能要花費很長時間進行計算。

包含隨機抽樣樣本的大型數據集可能包含冗余數據。實際上,批量大小越大,出現冗余的可能性就越高。一些冗余可能有助於消除雜亂的梯度,但超大批量所具備的預測價值往往並不比大型批量高。

如果我們可以通過更少的計算量得出正確的平均梯度,會怎麽樣?通過從我們的數據集中隨機選擇樣本,我們可以通過小得多的數據集估算(盡管過程非常雜亂)出較大的平均值。 隨機梯度下降法

(SGD) 將這種想法運用到極致,它每次叠代只使用一個樣本(批量大小為 1)。如果進行足夠的叠代,SGD 也可以發揮作用,但過程會非常雜亂。“隨機”這一術語表示構成各個批量的一個樣本都是隨機選擇的。

小批量隨機梯度下降法小批量 SGD)是介於全批量叠代與 SGD 之間的折衷方案。小批量通常包含 10-1000 個隨機選擇的樣本。小批量 SGD 可以減少 SGD 中的雜亂樣本數量,但仍然比全批量更高效。

為了簡化說明,我們只針對單個特征重點介紹了梯度下降法。請放心,梯度下降法也適用於包含多個特征的特征集。

谷歌機器學習速成課程---降低損失 (Reducing Loss):隨機梯度下降法