在线最优化求解(Online Optimization)之四:RDA

不论怎样,简单截断、TG、FOBOS都还是建立在SGD的基础之上的,属于梯度下降类型的方法,这类型方法的优点就是精度比较高,并且TG、FOBOS也都能在稀疏性上得到提升。但是有些其它类型的算法,例如RDA从另一个方面来求解Online Optimization并且更有效地提升了特征权重的稀疏性。RDA(Regularized Dual Averaging)是微软十年的研究成果。RDA是Simple Dual Averaging Scheme一个扩展,由Lin Xiao发表于2010年[1]。

1. 算法原理

在RDA中,特征权重的更新策略为:

  公式(1)

其中表示梯度的积分平均值(积分中值);为正则项;为一个辅助的严格凸函数;是一个非负且非自减序列。

本质上,公式(1)中包含了3个部分:(1) 线性函数,包含了之前所有梯度(或次梯度)的平均值(dual average);(2) 正则项;(3) 额外正则项,它是一个严格凸函数。

2. L1-RDA

我们下面来看看在L1正则化下,RDA中的特征权重更新具有什么样的形式以及如何产生稀疏性。

,由于是一个关于的严格凸函数,不妨令,此外将非负非自减序列定义为,将L1正则化代入公式(1)有:

   公式(2)

直接求解上式看上去非常困难,但是我们可以仿照上一篇FOBOS中采用的方法,针对特征权重的各个维度将其拆解成N个独立的标量最小化问题:

    公式(3)

这里;公式(3)就是一个无约束的非平滑最优化问题。其中第2项处不可导。假设是其最优解,并且定义的次导数,那么有:

   公式(4)

如果对公式(3)求导(求次导数)并等于0,则有:

   公式(5)

由于,我们针对公式(5)分三种情况进行讨论:

-------------------------------------

(1) 当时:

还可以分为三种情况:

(a) 如果,由公式(5)可得,满足公式(4)

(b) 如果,由公式(4)可得,那么有,不满足公式(5)

(c) 如果,由公式(4)可得,那么有,不满足公式(5)

所以,当时,

(2) 当时:

采用相同的分析方法可以得到,此时,即:

(3) 当时:

采用相同的分析方法可以得到,此时,即:

--------------------------------------

综合上面的分析,可以得到L1-RDA特征权重的各个维度更新的方式为:

      公式(6)

这里我们发现,当某个维度上累积梯度平均值的绝对值小于阈值的时候,该维度权重将被置,特征权重的稀疏性由此产生。

根据公式(6),可以设计出L1-RDA的算法逻辑为:

3. L1-RDA与FOBOS的比较

在上一篇博文中中我们看到了L1-FOBOS实际上是TG的一种特殊形式,在L1-FOBOS中,进行“截断”的判定条件是。通常会定义的正相关函数(),因此L1-FOBOS的“截断阈值”为,随着的增加,这个阈值会逐渐降低。

相比较而言,从公式(6)可以看出,L1-RDA的“截断阈值”为,是一个常数,并不随着而变化,因此可以认为L1-RDA比L1-FOBOS在截断判定上更加aggressive,这种性质使得L1-RDA更容易产生稀疏性;此外,RDA中判定对象是梯度的累加平均值,不同于TG或L1-FOBOS中针对单次梯度计算的结果进行判定,避免了由于某些维度由于训练不足导致截断的问题。并且通过调节一个参数,很容易在精度和稀疏性上进行权衡。

参考文献

[1]  Lin Xiao. Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization. Journal of Machine Learning Research, 2010

在线最优化求解(Online Optimization)之四:RDA的更多相关文章

  1. 在线最优化求解(Online Optimization)之五:FTRL

    在线最优化求解(Online Optimization)之五:FTRL 在上一篇博文中中我们从原理上定性比较了L1-FOBOS和L1-RDA在稀疏性上的表现.有实验证明,L1-FOBOS这一类基于梯度 ...

  2. 在线最优化求解(Online Optimization)之一:预备篇

    在线最优化求解(Online Optimization)之一:预备篇 动机与目的 在实际工作中,无论是工程师.项目经理.产品同学都会经常讨论一类话题:“从线上对比的效果来看,某某特征或因素对xx产品的 ...

  3. 在线最优化求解(Online Optimization)之三:FOBOS

    在线最优化求解(Online Optimization)之三:FOBOS FOBOS (Forward-Backward Splitting)是由John Duchi和Yoram Singer提出的[ ...

  4. 在线最优化求解(Online Optimization)之二:截断梯度法(TG)

    在线最优化求解(Online Optimization)之二:截断梯度法(TG) 在预备篇中我们做了一些热身,并且介绍了L1正则化在Online模式下也不能产生较好的稀疏性,而稀疏性对于高维特征向量以 ...

  5. Angular4.0从入门到实战打造在线竞拍网站学习笔记之四--数据绑定&管道

    Angular4.0基础知识之组件 Angular4.0基础知识之路由 Angular4.0依赖注入 数据绑定 数据绑定允许你将组件控制器的属性和方法与组件的模板连接起来,大大降低了开发时的编码量. ...

  6. Alink漫谈(十二) :在线学习算法FTRL 之 整体设计

    Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 目录 Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 0x00 摘要 0x01概念 1.1 逻辑回归 1.1.1 推导过程 ...

  7. Alink漫谈(十三) :在线学习算法FTRL 之 具体实现

    Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 目录 Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 0x00 摘要 0x01 回顾 0x02 在线训练 2.1 预置模型 ...

  8. FTRL笔记

    这篇笔记主要参考冯杨的五篇博客:在线最优化求解(Online Optimization).因为对于在线学习方法,稀疏性问题需要特别关注:每次在线学习一个新 instance 的时候,优化方向并不一定是 ...

  9. [笔记]FTRL与Online Optimization

    1. 背景介绍 最优化求解问题可能是我们在工作中遇到的最多的一类问题了:从已有的数据中提炼出最适合的模型参数,从而对未知的数据进行预测.当我们面对高维高数据量的场景时,常见的批量处理的方式已经显得力不 ...

随机推荐

  1. 6步图文教你优化myeclipse2014

    MyEclipse 2014优化速度方案仍然主要有这么几个方面:去除无需加载的模块.取消冗余的配置.去除不必要的检查.关闭更新. 第一步: 去除不需要加载的模块 一个系统20%的功能往往能够满足80% ...

  2. 第七篇、OC_图片的裁剪基于SDWebImage

    前期有段时间困扰了我很久一个问题由于工程中的图片数据抓取自不同平台,所以图片的大小尺寸不一定,而放置图片的imageView尺寸是一定的,不作任何处理的话会导致图片拉伸变形,因此找了好久解决办法,现把 ...

  3. UINavigationController基本使用

    写了很长的NavigationController介绍,结果被cnblog吞了,没存档,算了,简单粗暴,直接上如何使用. 1.创建3个Controller,继承自UIViewController 在A ...

  4. codeblocks 配置交叉编译和调试环境

    我要用codeblocks交叉编译和调试arm开发板上的程序,宿主机是ubuntu12.04.开发板是嵌入式linux操作系统. 1.配置交叉编译环境 由上到下,1处直接选择即可.2处是你交叉编译器安 ...

  5. IEEE Floating Point Standard (IEEE754浮点数表示法标准)

    浮点数与定点数表示法是我们在计算机中常用的表示方法 所以必须要弄懂原理,特别是在FPGA里面,由于FPGA不能像在MCU一样直接用乘除法. 定点数 首先说一下简单的定点数,定点数是克服整数表示法不能表 ...

  6. zedboard之ubuntu环境变量设置

    在Ubuntu中有如下几个文件可以设置环境变量 1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  7. spring MVC项目中,欢迎页首页根路径到底是怎么设置的

    0. 问题: 如何改mvc中项目的欢迎页,或者叫做根路径 一个东西快弄完了,就剩下一个问题,应该是个小问题.就是mvc项目的欢迎页,怎么给改下呢. 这个项目是通过mvn建立的,整个项目的原型就是spr ...

  8. MySQL事务机制

    事务机制的特性通常被概括为"ACID原则" A(Atomic) 原子性: 构成一个事务的所有语句应该是一个独立的逻辑单元,要么全部执行成功, 要么一个都不成功, 你不能只执行他们当 ...

  9. document.write() 和 document.writeln() 区别

    写javascript页面时,看到这两个函数,第一感觉应该是一个换行,一个不换行, 但是实际使用时是一样的(writeln()函数在浏览器页面会多一个空格而不是换行). 简单搜索查阅了下: 查看源 d ...

  10. 基于WORDPRESS+MYSQL的绿色企业主题制作全过程

    基于WORDPRESS+MYSQL的绿色企业主题制作全过程基于WORDPRESS+MYSQL的绿色企业主题制作全过程基于WORDPRESS+MYSQL的绿色企业主题制作全过程基于WORDPRESS+M ...