Skip to content

Stochastic Approximation, SA, 随机近似

在不知道方程表达式的情况下,通过随机采样来求解或优化方程。

Robbins-Monro, RM

RM 的思想是用函数输出值控制调参幅度。 要想求解包含未知函数的方程 g(w)=0,可以对 w 进行迭代逼近:

wk+1=wkαkg~(wk,ηk),k=1,2,3,g~(wk,ηk)=g(wk)+ηk

其中 αk 表示学习率,ηk 表示噪音。该算法使用条件:

  • ηk 期望值为 0 且 ηk 不为无穷。其对应的噪音分布可以不是高斯分布。
  • 对于任意 w0<c1wg(w)c2。说明 g(w) 需要单调递增且导数不趋近无穷大。
  • k=1αk2< 表示 αk0,否则 w 不会收敛。
  • k=1αk= 表示 αk 不应收敛太快,以保证从任意初始值开始都能收敛。

Gradient Descent, GD, 梯度下降

梯度下降的思想是用函数梯度控制调参幅度。 其目的是找到参数 w 使 J(w)=E[f(w,X)] 达到最小值,其中 X 是已知分布的随机变量。

考虑基本梯度下降 GD:

wk+1=wkαkwJ(wk)=wkαkwE[f(w,X)]=wkαkE[wf(w,X)]

可以发现这里需要求 f(w,X) 函数梯度的期望值,即需要知道函数表达式。如果表达式未知,则进行多次采样求均值作为梯度期望估计值。考虑批量梯度下降 BGD:

wk+1=wkαk1ni=1nwf(wk,xi)

如果从已有样本中进行二次采样,则得到小批量梯度下降 MBGD:

wk+1=wkαk1mj=1mwf(wk,xj)

如果只采样一次,采样得到的梯度称为随机梯度,则得到随机梯度下降 SGD:

wk+1=wkαkwf(wk,xk)
wk 与真值 w 相距较远时,随机梯度更接近 wk 的梯度期望值;相距较近时,随机梯度表现出更大的随机性。

考虑随机梯度与实际梯度的相对误差:

δk=|wf(wk,xk)E[wf(wk,X)]||E[wf(wk,X)]|

因为 E[wf(w,X)]=0,所以:

|E[wf(wk,X)]|=|E[wf(wk,X)]E[wf(w,X)]|=|E[w2f(wk~,X)(wkw)]|,wk~[wk,w]=|E[w2f(wk~,X)]||wkw|c|wkw|,whenw2f(wk~,X)c>0

代入相对误差公式,得到:

δk|wf(wk,xk)E[wf(wk,X)]|c|wkw|

其中 |wkw| 表示当前 w 估计值到真值的距离,由公式可知这个距离与相对误差 δk 近似成反比。