隨機梯度下降和正則項之間如何處理?

正則項的係數應該是batch gd 的係數。而隨機梯度下降步數不確定,係數應該怎麼定呢?


這要看objective function的形式,如果按一般的形式

F(x) = frac{1}{N} [ sum_{i=1}^N f_i (x) ]+ R(x)

其中f_i 為在第i個樣本上的loss, R為正則項。 其可以改寫為

F(x) = frac{1}{N}   sum_{i=1}^N [ f_i (x)+R(x)]

設其gradient為 m{g}(x) . 如果我們將Stochastic Gradient 取為,

m{s_g}=m{g}_i(x)+m{g}_R(x),

i sim 	ext{Uniform}(1,N)

其中 m{g}_if_i的gradient, m{g}_RR的gradient. i是定義在1到N間整數上的Uniform 隨機變數

至此,我們有

m{E}[m{s}_g] = g,正是SGD所要求的條件。

註:不可微時將gradient換為subgradient依然成立(如L_1 loss 在坐標軸上時)


推薦閱讀:

梯度上升演算法與梯度下降演算法求解回歸係數怎麼理解?
梯度下降法和高斯牛頓法的區別在哪裡,各自的優缺點呢?
使用ReLU作為激活函數還有必要用交叉熵計算損失函數嗎?
為什麼隨機梯度下降方法能夠收斂?
為什麼 feature scaling 會使 gradient descent 的收斂更好?

TAG:演算法 | 數據挖掘 | 機器學習 | 最優化 | 梯度下降 |