凸优化简介26

本文介绍了凸优化中降低Variance的方法,重点关注有限和问题及其在机器学习和分布式优化中的应用。讨论了增量梯度下降法,包括随机和确定性的算法,并深入解析了SVRG算法的原理和优势,以及其在处理大规模数据时的效率提升。
摘要由CSDN通过智能技术生成

降低 Variance的方法

1. 有限和问题(Finite Sum Problems)

有限和问题的形式为:
min ⁡ x ∈ R d f ( x ) ≜ 1 n ∑ i = 1 n f i ( x ) \min\limits_{x\in \mathbb{R}^d}f(x)\triangleq \frac{1}{n}\sum\limits_{i=1}^{n}f_i(x) xRdminf(x)n1i=1nfi(x)
该形式与样本平均近似方法类似。在机器学习中,通常使用的是 min ⁡ x ∈ R d f ( x ) ≜ 1 n ∑ i = 1 n f i ( x ) + ψ ( x ) \min\limits_{x\in \mathbb{R}^d}f(x)\triangleq \frac{1}{n}\sum\limits_{i=1}^{n}f_i(x)+\psi(x) xRdminf(x)n1i=1nfi(x)+ψ(x)
有限和问题在很多地方都有应用:

  1. 经验风险最小化(Empirical risk minimization) 在机器学习中,针对假设 h h h的risk使用 经验风险 R ( h ) R(h) R(h)近似:
    R ( h ) = 1 n ∑ i = 1 n L ( h ( x i ) , y i ) R(h)=\frac{1}{n}\sum\limits_{i=1}^{n}L(h(x_i),y_i) R(h)=n1i=1nL(h(xi),yi)
  2. 分布式优化 在分布式优化中,有限和在计算集群上完成,使用基于迭代共识(iterative consensus)以及局部梯度的算法。

2. 增量梯度下降方法(Incremental gradient descent)

基于增量梯度下降方法的算法可以分为确定性的与随机的。其中,确定性的算法包括:

  1. 1997年 Bertsekas提出的 Incremental Gradient Descent;
  2. Blatt 等在2007年提出的 Incremental Aggregated Gradient

随机性的算法包括:

  1. Schmidt 等在2007年提出的 Stochastic Average Gradient;
  2. Defazio 等在2014年提出的 SAGA;
  3. Johnson and Zhang在2013年提出的 Stochastic Variance Reduced Gradient;
  4. Lan and Zhou 在2018年提出的 Randomized Primal-Dual Gradient

假设要估计 Θ = E [ X ] \Theta=\mathbb{E}[X] Θ=E[X],并且有一个随机变量 Y Y Y X X X相关,并且计算 E [ Y ] \mathbb{E}[Y] E[Y]相对要更容易。考虑下面一个point estimator:
Θ ^ a = a ( X − Y ) + E [ Y ] \hat{\Theta}_a=a(X-Y)+\mathbb{E}[Y] Θ^a=a(XY)+E[Y],其中 a ∈ [ 0 , 1 ] a\in [0,1] a[0,1]。其期望与方差为:
E [ Θ ^ a ] = a E [ X ] + ( 1 − a ) E [ Y ] V a r [ Θ ^ a ] = a 2 ( V a r [ X ] + V a r [ Y ] − 2 C o v [ X , Y ] ) \mathbb{E}[\hat{\Theta}_a]=a\mathbb{E}[X]+(1-a)\mathbb{E}[Y]\\ Var[\hat{\Theta}_a]=a^2(Var[X]+Var[Y]-2Cov[X,Y]) E[Θ^a]=aE[X]+(1a)E[Y]Var[Θ^a]=a2(Var[X]+Var[Y]2Cov[X,Y])

  • a = 1 a=1 a=1时,estimator为 ( X − Y ) + E [ Y ] (X-Y)+\mathbb{E}[Y] (XY)+E[Y],是一个无偏的估计;
  • a = 0 a=0 a=0的时候,estimator为一个常量 E [ Y ] \mathbb{E}[Y] E[Y],variance为0,但是可能有较大的bias;
  • 如果 Cov[X,Y]足够的大,那么 V a r [ Θ ^ a ] < V a r [ X ] Var[\hat{\Theta}_a]<Var[X] Var[Θ^a]<Var[X],即当前估计的variance小于直接对 X X X的估计;
    因此,可以得到,随着 a a a从0到1的增大,bias减小并且variance增大。

3. SVRG

如果当前迭代与前面的迭代不远,则历史的梯度信息可以用于降低variance,得到更好的估计。
对于凸且L-smooth的函数 f i f_i fi,考虑下面的目标函数:
min ⁡ x ∈ R d f ( x ) = 1 n ∑ i = 1 n f i ( x ) \min\limits_{x\in \mathbb{R}^d}f(x)=\frac{1}{n}\sum\limits_{i=1}^{n}f_i(x) xRdminf(x)=n1i=1nfi(x)
其中 f f f μ − s t r o n g l y \mu-strongly μstrongly的。
SVRG的思想是,增强之前的梯度信息来帮助提升收敛率。如果能够获取到历史上的某个点 x o l d x^{old} xold以及梯度 ∇ F ( x o l d ) \nabla F(x^{old}) F(xold),那么:
∇ f i t ( x t ) − ∇ f i t ( x o l d ) + ∇ f ( x o l d ) \nabla f_{i_t}(x^t)-\nabla f_{i_t}(x^{old})+\nabla f(x^{old}) fit(xt)fit(xold)+f(xold)
其中 i t ∼ U [ 1 , n ] i_t\sim U[1,n] itU[1,n]
算法的描述如下:

参数:更新频率 m m m,学习率 η \eta η
初始化: x ~ 0 \widetilde{x}_0 x 0
for s=1,2,… do
x ~ = x ~ s − 1 \widetilde{x}=\widetilde{x}^{s-1} x =x s1
θ ~ = 1 n ∑ i = 1 n ∇ f i ( x ~ ) \widetilde{\theta}=\frac{1}{n}\sum\limits_{i=1}^{n}\nabla f_i(\widetilde{x}) θ =n1i=1nfi(x )
x 0 = x ~ x_0=\widetilde{x} x0=x
  for t=1,2,…,m do
   随机选择 i t ∈ { 1 , 2 , . . . , n } i_t\in \{1,2,...,n\} it{ 1,2,...,n}并更新权重
   x t = x t − 1 − η ( ∇ f i t ( x t − 1 ) − ∇ f i t ( x ~ ) + θ ~ ) x_t=x^{t-1}-\eta (\nabla f_{i_t}(x^{t-1})-\nabla f_{i_t}(\widetilde{x})+\widetilde{\theta}) xt=xt1η(fit(xt1)fit(x )+θ )
  end for
  更新 x ~ s \widetilde{x}^s x s
   选择1: x ~ s = x m \widetilde{x}^s=x^m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值