Truncated Gradient

徘徊边缘 提交于 2019-12-05 03:18:32

Truncated Gradient是一种能够为在线学习(Online learning)任务引入稀疏(Sparsity)性的通用方法,它有以下几个特点:
1.sparsity的程度是连续的,可以通过调整参数控制sparsity的比例;
2.方法有理论支持;
3.实践过程中,这个方法运行的比较好;

很多常用的算法会在数据量比较大的情况下难以运行,比如数据量超过$10^7$,特征超过$10^9$.目前基本上只有两种方法能够运行:
1.并行批处理;(Chu et al 2008)
2.在线学习(Online learning)流数据(stream)
文章提出的方法属于Online learning,典型的Online learning算法对于每一个特征至少有一个权值(weight),对某些应用这些权值就太多了会有以下两个问题:
1.space constraint,数据无法完全载入内存或者L2;
2.数据测试时间太常;
目前解决上述问题的方法包括:简单引入L1但是这种方法并不能够引入稀疏性,将较小权值直接置为0会导致灾难性后果以及黑盒训练判断特征重要性但是太耗时.

Simple Coefficient Rounding

为了制造稀疏性(sparsity),通常的办法是每间隔$K$轮对比较小的权值作round(不大于$theta$)操作.如果$i%K!=0$就采用标准的GD(gradient descent);如果$i%K==0$,按照如下规则更新:
$$f(w_i)=T_0(w_i-eta nabla _1L(w_i,z_i),theta)$$
其中,$v=[v_1,…,v_d] in R^d$,$theta ge 0$,$T_0(v,theta)=[T_0(v_1,theta),…,T_0(v_d,theta)]$,$T_0$的定义如下:
$$
T_{0}(v_j,theta)=begin{cases}0, &if left |v_j right |leq theta cr v_j, &otherwis 大专栏  Truncated Gradienteend{cases}
$$
通常情况下,$K$不会设置为1,尤其是但$eta$比较小的时候,这是因为每一步对$w_i$只进行很小的更新,而rouding操作会将它又重新设置为0.因此$K$的设置对于结果比较重要,其次,这种方法缺乏理论支持.

Truncated Gradient

简单的Rounding策略太激进了,一个稍微温和的方案是将系数稍微减少一些,减少系数成为$gravity$且$g_i>0$.
$$f(w_i)=T_1(w_i-eta nabla _1 L(w_i,z_i),eta g_i,theta)$$
其中,$T_1$定义如下:
$$
T_{1}(v_j,alpha,theta)=begin{cases}max(0,v_j-alpha) &if , v_j in [ 0,theta ] cr min(0,v_j+alpha) &if, v_j in [ -theta,0 ] cr v_j & otherwiseend{cases}
$$
其图形如下所示:

对$T_1$稍作变换,可以得到:
$$
T_{1}(w,lambda,theta)=begin{cases}0 &if , |w| leq lambda cr w-lambda sign(w) &if, lambda leq |w| leq theta cr w & otherwiseend{cases}
$$

  • 如果令$lambda=theta$,那么$T_{1}(w,lambda,theta)$变成:
    $$
    T_{1}(w,lambda,theta)=begin{cases}0 &if , |w| leq lambda cr w & otherwiseend{cases}
    $$
    $T_1$退化成截断算法了.

  • 如果令$theta=infty$,那么$T_{1}(w,lambda,theta)$变成:
    $$
    T_{1}(w,lambda,theta)=begin{cases}0 &if , |w| leq lambda cr w-lambda sign(w) & otherwiseend{cases}
    $$
    如果再令更新频次$k=1$,那么特征权重更新公式变成:
    $$w^{(t+1)} =T_{1}((w^{(t)}-eta G^{(t)}),eta lambda,infty) = w^{(t)}-eta G^{(t)}- eta lambda sign(w^{(t)}-eta G^{(t)})$$
    这时候,$T_1$退化成与L1类似的正则法了.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!