关于在线学习的封闭解 part-5

来源:互联网 发布:种植牙 知乎 疼 编辑:程序博客网 时间:2024/05/22 10:51

前言

  前面讲了这么多,如果没法简单方便地求解xt+1=argminx[h0:t(x)],岂不是开心不起来了。
  对SGD,是可以顺利地求得封闭解的,这个前面的文章已经有讨论。
  对一般形式下h,还能很方便地求解么?什么情况封闭解是可以求得的?下面仅给出几个一般样式的解。

不同形式h的解

  1)x=argminxR|x|  
  

x=sign(x)

  2)x=argminxR[12(bx)2+λ|x|],???。
  
x=0(1λ|b|)b,|b|<λ,other

  3)x=argminxRn||x||1=maxs{1,+1}nsTx
  
xk=[1,1]11,xk=0,xk>0,xk<0

  4)x=argminxRn||x||2
  
x={x||x||2}{g|||g||21},x0,x=0

  5)x=argminxRn[bx+λ||x||1+σ2||x||22]λ0σ>0
  
xk=012(bkλsign(bk)),|bk|λ,otherwise

待解问题

  针对在线学习xt+1=argminx[f1:t(x)+r0:t(x)]的各种不同版本,如何求解是个问题。
  假设ft(x)损失函数是凸函数,则可以通过凸函数的性质和Regret放缩定理,定义f^t(x)=gtx,而不影响最值求取。
  这个假设,一是为了方便求解计算,二是实际问题中构造损失函数也多为凸函数。
  1) rt(x)为origin-central形式的,比如rt(x)=σt2||x||22
    则h0:t=f1:t(x)+rt(x)=g1:tx+σt2||x||22
  2) rt(x)为proximal形式的,比如rt(x)=σt2||xxt||22
    则h0:t=f1:t(x)+rt(x)=g1:tx+σt2||xxt||22,其中||||22可以拆开。
  3) 在其他约束下的xt+1求解,比如xχ或者||x||2λ或者||x||1λ
    则xt+1=argminxχ[g1:tx+r0:t(x)]。每次先求xχ约束下的解,再投射到χ上求解。
    或h0:t=g1:tx+rt(x)+λ(||x||21) 类似
  4)FTRL-Proximal with xχ
    xt+1=argminxχ[g1:tx+σ0:t2||xxt||22+λ||x||1]
       =argminxχ[(g1:t+σ0:txt)x+σ0:t2||x||22+λ||x||1+constant]
       可以每次迭代先求无xχ约束的解,利用上面的(5)解得ut+1
       ut+1={01σ0:t[zt,iλsign(zt,i)],|zk,i|<λ,other
       其中,zt,i=g1:t,i+σ0:t,ixt,i
       然后,再投射到χ上,xt+1=argminxχ||xut+1||2,得到当次解。
     

思考

  1) f1:t(x)+r0:t(x)是一个整体,只要满足整体是强凸函数即可,在前面的上限可期证明中可知。若ft(x)是凸函数,则可以不用rt(x),在直接计算xt+1=argminxf1:t(x)
  2) 若需要引入第三个Regular项到h,也需要使得h0:t满足强凸条件。
  3) 这里所研究的都是在xt+1=argminx[loss1:t(x)+r0:t(x)]或者xt+1=argminx[h0:t(x)]形式下的在线学习方式,其他也可以开发出其他的在线方法。大道万千,殊途同归,都是为了模型更稳定和更小的预测误差。
  4) 为什么会用ηt=1σ0:t来表示学习率和强凸参数的关系?该等式等价于σt=1ηt1ηt1,其中学习率ηt是个非增函数。
  5) ηt的构造思路是什么?其中RG是根据实际的loss函数函数和x的约束来给出的吗?为什么?
  6) 再思考下r0:t(x)=σ0:t2||xxt||22h0:t(x)的解的关系。
  7)关于封闭解,有个思路是取xt使得0F(xt),对试探构造封闭解有帮助,对证明也有帮助。
  8)传统学习与在线学习的区别。
  前者已知样本总量,对模型的误差可以有期望估计,直接求目标函数的最优解;后者是未知样本量,无法估计模型的期望误差,只能采取收敛误差的方式,不发散即为胜利。

小结

  0)解决的问题:A,什么情况下,是误差收敛的。B,给出了一般形式下的封闭解样式。
  1)ηt的构造原理,未完全解决。
  2)封闭解的问题,没有完全解决,没有给出一个通用性强的解形式或者求解思路。
  3)代码实现,没有。
  有github上,别人实现的代码:https://github.com/CastellanZhang/alphaFM/blob/master/src/FTRL/ftrl_trainer.h
  4)主要讨论的是xt+1=argminx[h0:t(x)]形式下的上限收敛问题。
  关于h0:t(x)的组成,可以选择任意符合误差上限收敛条件的函数。
  h0:t(x)主要形式有两种:
        h0:t(x)=f1:t(x)+r0:t(x)
        h0:t(x)=f1:t(x)+r0:t(x)+α1:tΨ(x)
  5)在线优化理论,是对凸函数的充分利用的理论。涉及到凸函数的性质,和凸函数间关系性质。