4.1 随机抽样的一般优化模型
假设我们的模型的在样本i上面的损失函数是 ℓ ( h ( x i , w ) , Y i ) \ell\left(\mathrm{h}\left(\mathrm{x}_{\mathrm{i}}, \mathrm{w}\right), \mathrm{Y}_{\mathrm{i}}\right) ℓ(h(xi,w),Yi),则平均经验风险: R n ( w ) = 1 n ∑ i = 1 n ℓ ( h ( x i , w ) , Y i ) \mathrm{R}_{\mathrm{n}}(\mathrm{w})=\frac{1}{\mathrm{n}} \sum_{\mathrm{i}=1}^{\mathrm{n}} \ell\left(\mathrm{h}\left(\mathrm{x}_{\mathrm{i}}, \mathrm{w}\right), \mathrm{Y}_{\mathrm{i}}\right) Rn(w)=n1∑i=1nℓ(h(xi,w),Yi)。在个数为N的训练集上有:
min w ∈ R d R n ( w ) = 1 n ∑ i = 1 n ℓ ( h ( x i , w ) , Y i ) \min _{w \in \mathbb{R}^{d}} R_{n}(w)=\frac{1}{n} \sum_{i=1}^{n} \ell\left(h\left(x_{i}, w\right), Y_{i}\right) w∈RdminRn(w)=n1i=1∑nℓ(h(xi,w),Yi)
但是呢,n一般是很大的,计算上面的和式都不现实,更不用说再对它计算导数,然后迭代求解了。因此一般是通过多样本进行随机抽样,来进行梯度更新和模型优化。设第 k 次迭代时由随机变量 ζ k \zeta^{k} ζk 从全样本中随机产生一个子集合 S k ⊆ Q S_{k} \subseteq \mathbb{Q} Sk⊆Q
,相应的目标
函数变为:
F k ( w ) = F k ( w : ξ k ) ≜ F ( w ; S k ) = 1 ∣ S k ∣ ∑ i ∈ S k f i ( w ; x i , Y i ) \mathrm{F}_{\mathrm{k}}(\mathrm{w})=\mathrm{F}_{\mathrm{k}}\left(\mathrm{w}: \xi^{\mathrm{k}}\right) \triangleq \mathrm{F}\left(\mathrm{w} ; \mathrm{S}_{\mathrm{k}}\right)=\frac{1}{\left|\mathrm{S}_{\mathrm{k}}\right|} \sum_{\mathrm{i} \in \mathrm{S}_{\mathrm{k}}} \mathrm{f}_{\mathrm{i}}\left(\mathrm{w} ; \mathrm{x}_{\mathrm{i}}, \mathrm{Y}_{\mathrm{i}}\right) Fk(w)=Fk(w:ξk)≜F(w;Sk)=∣Sk∣1i∈Sk∑fi(w;xi,Yi)
4.1.1随机梯度优化算法(SG)
每次随机选取一个样本点,根据这个样本点决定优化的方向 d k d_k dk
在实际应用中,如果我们把每个样本都被计算梯度称做一个周期。那么批处理方法每个
周期只能迭代一次,而 SG 可以迭代 n 次。但是 SG 也有一些缺点,如其每次迭代的方向并
不一定是下降方向,步长需要调节,无法利用现有线搜索技术等。
4.1.2批量样本优化算法
g ( w k , ξ k ) = { ∇ f ( w k ; ξ k ) 简 单 的 随 机 梯 度 法 1 ∣ S k ∣ i ∈ S k ∇ f i ( w k ; x i , Y i ) 简 单 的 随 机 梯 度 法 H k 1 ∣ S k ∣ ∑ i ∈ S k ∇ f i ( w k ; x i , Y i ) 批 量 二 阶 方 法 \mathrm{g}\left(\mathrm{w}^{\mathrm{k}}, \xi^{\mathrm{k}}\right)=\left\{\begin{array}{l} \nabla \mathrm{f}\left(\mathrm{w}^{\mathrm{k}} ; \xi^{\mathrm{k}}\right) 简单的随机梯度法\\ \frac{1}{\left|\mathrm{S}_{\mathrm{k}}\right|_{\mathrm{i} \in \mathrm{S}_{\mathrm{k}}}} \nabla \mathrm{f}_{\mathrm{i}}\left(\mathrm{w}^{\mathrm{k}} ; \mathrm{x}_{\mathrm{i}}, \mathrm{Y}_{\mathrm{i}}\right) 简单的随机梯度法\\ \mathrm{H}_{\mathrm{k}} \frac{1}{\left|\mathrm{S}_{\mathrm{k}}\right|} \sum_{\mathrm{i} \in \mathrm{S}_{\mathrm{k}}} \nabla \mathrm{f}_{\mathrm{i}}\left(\mathrm{w}^{\mathrm{k}} ; \mathrm{x}_{\mathrm{i}}, \mathrm{Y}_{\mathrm{i}}\right)批量二阶方法 \end{array}\right. g(wk,ξk)=⎩⎪⎨⎪⎧∇f(wk;ξk)简单的随机梯度法