FTRL的基础知识准备 part-1

时间:2024-03-23 14:47:37

前言

  最近看了下在线学习FTRL的相关东东,对其背后的理论知识梳理下。
  假设loss 函数为 f(x),其中ft(xt)表示第t轮数据,在第t轮参数xt所对应的损失。

xt+1=argminxt=1tft(x)
  主要求证一个问题,上面这个取参数的策略在什么情况下有效?为什么有效?

1 评估函数Regret

  假设loss 函数为 f(x),其中ft(xt)表示第t轮数据所对应的loss函数。xt表示t轮数据时,预测模型所对应的参数。
  那么,经过T轮数据后,每轮的损失叠加到一起,表示为:Tt=1ft(xt)
  假设,有个全局最理想的参数x,其对应的T轮数据后的,损失叠加到一起表示为:Tt=1ft(x)
  那么预测模型的经过T轮数据的损失总和与最理想状态的损失之和的差表示为:

Regret(x,ft)=t=1Tft(xt)t=1Tft(x)=t=1Tft(xt)f1:T(x)

  我们通常用Regret(x,ft)来衡量预测模型的好坏,可以看到,其差是越小越好。
  长远来看,平均的误差:
limT>+Regret(x,ft)T

2 Regret Bound

  lossregular,(及其他约束函数) 选取得当的情况,Regret
  Regret
  1) General FTRL Bound
  假设rt使h0:t+ft+1=r0:t+f1:t+11strongconvexw.s.t||||(t1)
  

Regret(x,ft)r0:T1(x)+12t=1T||gt||2(t1),

  2) FTRL-Proximal Bound
  假设rt使h0:t=r0:t+f1:t1strongconvexw.s.t||||(t)
  
Regret(x,ft)r0:T(x)+12t=1T||gt||2(t),

  证明在下一篇里《FTRL两个Regret上限的证明》。本篇主要讲解证明所需的基础知识。

3 基础知识

3.1 convex function(凸函数)

3.1.1 凸函数定义

  凸是个重要概念。
  凸集x,yS,xy线S
  非凸集x,yS,xy线S
  一个函数是凸的当且仅当其上境图(在函数图像上方的点集)为一个凸集。
  可以看到凸集是个连通域。
 FTRL的基础知识准备 part-1
  convex-fun数学定义x,ydom(f),θ[0,1];

f(θx(1θ)y)θf(x)+(1θ)f(y)

  strict-convex 定义x,ydom(f),θ[0,1];
f(θx(1θ)y)<θf(x)+(1θ)f(y)

  strong-convex 定义: x,ydom(f),θ[0,1];
  
f(θx(1θ)y)θf(x)+(1θ)f(y)m2θ(1θ)||xy||22,m>0

 FTRL的基础知识准备 part-1
  
  strong-convex 或定义(f(x)f(y))(xy)m||xy||22,m>0
  strong-convex 或定义(f(x)f(y))(xy)m||xy||22,m>0
  strong-convex 或定义f(y)f(x)f(x)(yx)+m2||xy||22,m>0
  strong-convex 则一定是 strict convex;
  strict-convex 不一定是 strong-convex。
  假设都存在二阶导数时:
  convex-fun 或定义f′′(x)0
  strict-convex 或定义f′′(x)>0
  strong-convex 或定义: f′′(x)m>0  

3.1.2 凸函数性质
导数grad和次导数subgrad。

  连续可导的情况下:
  一维时,连续可导函数f(x), 有导数f(x)=dfdx
  多维时,连续可导函数f(x,y),有梯度grad=(fx+fy)
  l⃗ =(cos(α),cos(β))方向上,f(x,y)方向导数,

f(x,y)l=<grad,(cos(α),cos(β))>

  函数为凸函数时,若遇到连续不可导处,如何扩展导数的概念呢?
  次导数:subderivative 定义:
  
f(y)f(x)gx(yx),ydom(f)

  gxx[a,b]a=f(x);b=f(x+)

  FTRL的基础知识准备 part-1

  次微分:subdifferential
  所有[a,b]范围内的次导数集合,称为x点处的次微分。
  次梯度:次微分的多维扩展。
  
f(y)f(x)<gx,(yx)>,ydom(f)

  其中所有向量g的集合,称为次梯度,记做f(x)
  注意到,
  0)次梯度是对凸函数的导数的延伸。
  1)f(x)是个封闭凸集。在连续可导时,为f(x)={dfdx}
  2)最优解的充要条件: 
    凸函数最值存在的条件:f(x)=minxf(x)0f(x)
    凸函数连续可导时条件:f(x)=minxf(x)0=dfdx|x=x
    notice: 这里为后面更新参数时的最优封闭解的构造提供了思路。
  3)次梯度仍然指示了下降的方向,跟梯度有异曲同工之妙。
    假设x2=x1αg 迭代参数,会使得x,x距离不断减小。
    ||x2x||2||x1x||2
          =||x1x||22αgT(x1x)+α2||g||2
          ||x1x||22α(f(x1)f(x))+α2||g||2
          ||x1x||2
    notice:这里为次梯度下降法提供理论依据。

凸函数性质

  对凸函数f而言,gxf(x),ydom(f)
  有

f(y)f(x)gx(yx)
  也即
f(x)f(y)gx(xy)
  这是个非常重要的性质,对Regret的右侧放缩,为何线性化近似损失f(x)gx的理解非常重要。
  对某一轮数据
ft(xt)ft(x)gt(xtx)

  其中x为凸函数的最优解,xt为任意一个解,gt为在xt处的一阶导数或者某个次梯度。gtf(xt)
  于是可得:
t=1Tft(xt)ft(x)t=1Tgt(xtx)
  
Regret(x,ft)Regret(x,ft^),ft(x)^=gx

  从而将general的convex-loss函数,根据其性质,将Regret的上限形式由loss凸函数f(x)转为另外更简单形式的loss函数的上限形式。

3.2 smooth function

  函数上每一点满足:lim|h|0|f(x+h)+f(xh)2f(x)||h|=0
  则函数称为smooth function。

3.3 Lipschitz condition & Lipschitz constant

  Lipschitz condition,用来描述连续模,满足LC,表示函数变化速度有限
  f:[a,b]R,M,fLipschitz
  

|f(y)f(x)|M|yx|

  Lipschitz constant,定义了最小的M>0。
  
Lipschitzconstant=argminMM=supxy|f(y)f(x)||yx|

  其中sup是最小上界的表示符号。

3.4 Dual Norm(对偶范数)

  ||||R,则定义对偶范数||||如下:
  

||z||=sup{zx|||x||<1}

  1-范数,||x||_1 = \sum_i | x_i |
  1-范数的对偶范数 ->
  ||z||=sup{zx|||x||11}=maxi|z[i]|=||z||
  2-范数,||x||2=i(xi)2
  2-范数的对偶范数 -> 2-范数,后面会频繁用到这一性质。
  ||z||=sup{zx|||x||21}=supzx/||x||2=||z||2||x||2||x||2=||z||2
  -> 1-范数的对偶范数.
  p-范数,||x||p=(i(xi)p)1/p
  p-范数的对偶范数 -> q-范数,其中1p+1q=1
  notice:σ||||21σ||||2
  Rn中向量σ||||2的对偶范数,||z||=sup{zx|σ||x||1}
  =sup{zxσ||x||2}=||z||2||x||2σ||x||2=1σ||z||2 ,这一性质会在后面频繁用到。

3.5 Legendre Transform 与 convex conjugate(凸共轭)

  定义任意函数y=f(x),直线函数y=px,定义两者的差如下:
  

D(p,x)=pxf(x)

  FTRL的基础知识准备 part-1

  什么时候D取得最大值呢?
  Dx=0=pdfdx
  很明显,在f(x)上找到与px平行的切线时,取得最大差值。
  Dp=x 这个式子,则给出了D函数与x的关系。
  这个式子,牛就牛在,将f(x)与其导数的关系给联系起来。
  若是我们一直取最大差,作为新的函数:
f(p)=supx{pxf(x)}

  此时,将f(p)f(x)LegendreTransform
  若f(x)是convex-function,则称f(p)f(x)(convexconjugate)
  当存在导数时:f=dfdxxf(x)

3.6 relation between strong-smooth and strong-convex

3.6.1 αstronglyconvex 定义

  x,yRgf(x)
  

f(y)f(x)gx(yx)+σ2||yx||2

3.6.2 βstronglysmooth 定义

  x,yR

f(y)f(x)f(x)(yx)+12β||yx||2

FTRL的基础知识准备 part-1

3.6.3 Duality relation between them

  f()is stronglyconvexw.r.t|||| f()is stronglysmoothw.r.t||||
  αstronglyconvexw.r.t||||1αstronglysmoothw.r.t||||
  简单感觉,就是将不等式的关系,通过LegendreTransform变换,翻了个跟头。
  关系证明,见reference3第二篇paper。

4 reference

  1. subgradient method 《2003-Subgradient Methods》
  2. FTRL的两个上限《A Survey of Algorithms and Analysis for Adaptive Online Learning》
  3. smooth&convex
  《The Duality of Strong Convexity and Strong Smoothness Applications to Machine Learning》
  《2009-On the duality of strong convexity and strong smoothness: Learning applications and matrix regularization》
  4. 其他, wiki.
  5. 数学概念网站, https://www.encyclopediaofmath.org/index.php/Main_Page