0
在SGD中我想了解的是,在我們通過轉到下一行再次更新參數之前計算所有行的成本,還是僅在更新參數之前計算下一行的成本?Stochasitc漸變的成本函數對所有行計算的Desscent還是僅針對迭代行計算的Desscent?
在SGD中我想了解的是,在我們通過轉到下一行再次更新參數之前計算所有行的成本,還是僅在更新參數之前計算下一行的成本?Stochasitc漸變的成本函數對所有行計算的Desscent還是僅針對迭代行計算的Desscent?
在隨機梯度下降中,使用批量更新參數。如果您的訓練集有N
示例(=行),則您只能使用B
其中的每個更新參數,其中B<=N
。這些B
應該從參數更新的每次迭代中的N
例子中隨機選擇。 (通過選擇替代選擇,不選擇替代選擇,或只是提前洗牌)。因此,您每次使用B
示例來計算成本的梯度。 (注意你實際上並不需要計算成本 - 只有它的梯度)。 B
尤其可以等於N
,它也可以等於1
(這被稱爲在線學習)。
此外,有時您希望在優化過程中看到學習的一些指標。例如,偶爾您可能希望看到整個培訓集的成本價值(這可以幫助終止條件),或者查看整個驗證集的成本值(例如,何時監控以確保您不會過度使用)。在這些情況下,您可能想要計算整個集合的成本(而不是梯度)。