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

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

在上一篇博文中中我们从原理上定性比较了L1-FOBOS和L1-RDA在稀疏性上的表现。有实验证明,L1-FOBOS这一类基于梯度下降的方法有比较高的精度,但是L1-RDA却能在损失一定精度的情况下产生更好的稀疏性。那么这两者的优点能不能在一个算法上体现出来?这就是FTRL要解决的问题。

FTRL(Follow the Regularized Leader)是由Google的H. Brendan McMahan在2010年提出的[1],后来在2011年发表了一篇关于FTRL和AOGD、FOBOS、RDA比较的论文[2],2013年又和Gary Holt, D. Sculley, Michael Young等人发表了一篇关于FTRL工程化实现的论文[3]。

本节我们首先从形式上将L1-FOBOS和L1-RDA进行统一,然后介绍从这种统一形式产生FTRL算法,以及介绍FTRL算法工程化实现的算法逻辑。

1.  L1-FOBOS和L1-RDA在形式上的统一

L1-FOBOS在形式上,每次迭代都可以表示为(这里我们令,是一个随变化的非增正序列):

把这两个公式合并到一起,有:

通过这个公式很难直接求出的解析解,但是我们可以按维度将其分解为个独立的最优化步骤:

由于与变量无关,因此上式可以等价于:

再将这N个独立最优化子步骤合并,那么L1-FOBOS可以写作:

而对于L1-RDA,我们可以写作:

这里;如果令,上面两个式子可以写作:

   公式(1)    公式(2)

需要注意,与论文[2]中的Table 1不同,我们并没有将L1-FOBOS也写成累加梯度的形式。

比较公式(1)和公式(2),可以看出L1-FOBOS和L1-RDA的区别在于:(1) 前者对计算的是累加梯度以及L1正则项只考虑当前模的贡献,而后者采用了累加的处理方式;(2) 前者的第三项限制的变化不能离已迭代过的解太远,而后者则限制不能离点太远。

2. FTRL算法原理

FTRL综合考虑了FOBOS和RDA对于正则项和W限制的区别,其特征权重的更新公式为:

   公式(3)

注意,公式(3)中出现了L2正则项,在论文[2]的公式中并没有这一项,但是在其2013年发表的FTRL工程化实现的论文[3]却使用到了L2正则项。事实上该项的引入并不影响FRTL的稀疏性,后面的推导过程会显示这一点。L2正则项的引入仅仅相当于对最优化过程多了一个约束,使得结果求解结果更加“平滑”。

公式(3)看上去很复杂,更新特征权重貌似非常困难的样子。不妨将其进行改写,将最后一项展开,等价于求下面这样一个最优化问题:

上式中最后一项相对于来说是一个常数项,并且令,上式等价于:

针对特征权重的各个维度将其拆解成N个独立的标量最小化问题:

到这里,我们遇到了与上一篇RDA中类似的优化问题,用相同的分析方法可以得到:

   公式(4)

从公式(4)可以看出,引入L2正则化并没有对FTRL结果的稀疏性产生任何影响。

3. Per-Coordinate Learning Rates

前面介绍了FTRL的基本推导,但是这里还有一个问题是一直没有被讨论到的:关于学习率的选择和计算。事实上在FTRL中,每个维度上的学习率都是单独考虑的(Per-Coordinate Learning Rates)。

在一个标准的OGD里面使用的是一个全局的学习率策略,这个策略保证了学习率是一个正的非增长序列,对于每一个特征维度都是一样的。

考虑特征维度的变化率:如果特征1比特征2的变化更快,那么在维度1上的学习率应该下降得更快。我们很容易就可以想到可以用某个维度上梯度分量来反映这种变化率。在FTRL中,维度i上的学习率是这样计算的:

 公式(5)

由于,所以公式(4)中有,这里的是需要输入的参数,公式(4)中学习率写成累加的形式,是为了方便理解后面FTRL的迭代计算逻辑。

4. FTRL算法逻辑

到现在为止,我们已经得到了FTRL的特征权重维度的更新方法(公式(4)),每个特征维度的学习率计算方法(公式(5)),那么很容易写出FTRL的算法逻辑(这里是根据公式(4)和公式(5)写的L1&L2-FTRL求解最优化的算法逻辑,而论文[3]中Algorithm 1给出的是L1&L2-FTRL针对Logistic Regression的算法逻辑):

FTRL里面的4个参数需要针对具体的问题进行设置,指导性的意见参考论文[3]。

结束语

本系列博文作为在线最优化算法的整理和总结,沿着稀疏性的主线,先后介绍了简单截断法、TG、FOBOS、RDA以及FTRL。从类型上来看,简单截断法、TG、FOBOS属于同一类,都是梯度下降类的算法,并且TG在特定条件可以转换成简单截断法和FOBOS;RDA属于简单对偶平均的扩展应用;FTRL可以视作RDA和FOBOS的结合,同时具备二者的优点。目前来看,RDA和FTRL是最好的稀疏模型Online Training的算法。

谈到高维高数据量的最优化求解,不可避免的要涉及到并行计算的问题。作者之前有篇博客[4]讨论了batch模式下的并行逻辑回归,其实只要修改损失函数,就可以用于其它问题的最优化求解。另外,对于Online下,文献[5]给出了一种很直观的方法:

对于Online模式的并行化计算,一方面可以参考ParallelSGD的思路,另一方面也可以借鉴batch模式下对高维向量点乘以及梯度分量并行计算的思路。总之,在理解算法原理的基础上将计算步骤进行拆解,使得各节点能独自无关地完成计算最后汇总结果即可。

最后,需要指出的是相关论文里面使用的数学符号不尽相同,并且有的论文里面也存在一定的笔误,但是并不影响我们对其的理解。在本系列博文中尽量采用了统一风格和含义的符号、变量等,因此在与参考文献中的公式对比的时候会稍有出入。另外,由于笔者的水平有限,行文中存在的错误难以避免,欢迎大家指正、拍砖。

另外,为了方便阅读,本系列博文被整理成pdf:在线最优化求解(Online Optimization)-冯扬-2014.12.09

参考文献

[1] H. Brendan McMahan & M Streter. Adaptive Bound Optimization for Online Convex Optimization. In COLT, 2010

[2] H. Brendan McMahan. Follow-the-Regularized-Leader and Mirror Descent: Equivalence Theorems and L1 Regularization. In AISTATS, 2011

[3] H. Brendan McMahan, Gary Holt, D. Sculley, Michael Young, Dietmar Ebner, Julian Grady, Lan Nie, Todd Phillips, Eugene Davydov, Daniel Golovin, Sharat Chikkerur, Dan Liu, Martin Wattenberg, Arnar Mar Hrafnkelsson, Tom Boulos, Jeremy Kubica, Ad Click Prediction: a View from the Trenches. In ACM SIGKDD, 2013

[4] 冯扬. 并行逻辑回归.http://blog.sina.com.cn/s/blog_6cb8e53d0101oetv.html

[5] Martin A. Zinkevich, Markus Weimer, Alex Smola & Lihong Li. Parallelized Stochastic Gradient Descent. In NIPS 2010

时间: 2024-08-11 01:16:14

在线最优化求解(Online Optimization)之五:FTRL的相关文章

SVM之序列最小最优化求解算法(SMO)

[笔记]FTRL与Online Optimization

1. 背景介绍 最优化求解问题可能是我们在工作中遇到的最多的一类问题了:从已有的数据中提炼出最适合的模型参数,从而对未知的数据进行预测.当我们面对高维高数据量的场景时,常见的批量处理的方式已经显得力不从心,需要有在线处理的方法来解决此类问题. 在CTR预估中,经常会用到经典的逻辑回归(LR),而对LR的各维度参数进行估计的时候会用到最优化算法,常见的比如梯度下降(Gradient Descent),牛顿法等等,这些方法都属于批量处理算法(Batch),当面对高维高数据量的场景时就显得有些笨重,因

在线学习算法-RDA(二)

在线最优化求解(Online Optimization)之四:RDA 转载自:http://www.wbrecom.com/?p=394:作者是大牛 不论怎样,简单截断.TG.FOBOS都还是建立在SGD的基础之上的,属于梯度下降类型的方法,这类型方法的优点就是精度比较高,并且TG.FOBOS也都能在稀疏性上得到提升.但是有些其它类型的算法,例如RDA从另一个方面来求解Online Optimization并且更有效地提升了特征权重的稀疏性.RDA(Regularized Dual Averag

优化算法——截断梯度法(TG)

一.L1正则的表达形式 在机器学习中,几乎无人不知无人不晓L1正则与L2正则,L1正则与L2正则都有参数控制的作用,对模型起到约束的作用,防止过拟合.但是L1正则与L2正则也有区别,L1正则更容易产生稀疏解,使得某些参数等于0,而L2正则却没有这样的优势,只能使得参数趋近于0.利用这样的优势可以使得L1具有特征选择的作用,若某些特征的系数为0表示该维特征对于模型没什么作用,故此可以丢弃. L1正则与L2正则相比具有了更多的优点,同时,L1正则的优化相对L2正则来讲,也变得更加难.对于L2正则,由

强化学习(四)用蒙特卡罗法(MC)求解

在强化学习(三)用动态规划(DP)求解中,我们讨论了用动态规划来求解强化学习预测问题和控制问题的方法.但是由于动态规划法需要在每一次回溯更新某一个状态的价值时,回溯到该状态的所有可能的后续状态.导致对于复杂问题计算量很大.同时很多时候,我们连环境的状态转化模型$P$都无法知道,这时动态规划法根本没法使用.这时候我们如何求解强化学习问题呢?本文要讨论的蒙特卡罗(Monte-Calo, MC)就是一种可行的方法. 蒙特卡罗法这一篇对应Sutton书的第五章和UCL强化学习课程的第四讲部分,第五讲部分

【分享】近4000份数学学习资源免费分享给大家

一直以来喜欢收集数学类的教程资源,于是费了好大劲从万千合集站上扒拉了下来,总结归类了一下,一共有将近4000本电子书.经测试,均可免费下载,可能会弹出小广告,可不必理会之.[仅供学术学习和交流,请无用于商业用途.]另外,如有可能,还请尽量支持正版纸质书.   数学史(54)     数学史.rar 55.6 MB   数学的起源与发展.rar 4.3 MB   费马大定理—一个困惑了世间智者358年的谜.pdf 9.5 MB   通俗数学名著译丛14-无穷之旅:关于无穷大的文化史.pdf 14.

从单体智能到群体统筹,优化算法推动人工智能新浪潮

(上图为斯坦福大学李国鼎工程讲座教授.杉数科技首席科学顾问叶荫宇) 过去两年出现了人工智能的热潮,特别是以深度学习算法为代表人工智能在中国市场出现了井喷现象.根据麦肯锡统计,2016年全球科技巨头在人工智能上投入了 200亿到300亿美元,VC/PE投融资达60亿到90亿美元.在中国,根据钛媒体TMTbase全球创投数据库的数据统计,目前共收录中国人工智能企业398家.共发生571起投资事件,投资总额高达571亿人民币. 就在AlphaGo先后挑战世界和中国围棋高手后,关于人工智能的热炒更有甚嚣

Nelder–Mead method

声明来源:(结合了wiki和scholarpedia上的内容,外加自己的一点理解. Link:https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method    &&  http://www.scholarpedia.org/article/Nelder-Mead_algorithm) Nelder–Mead algorithm ( NM算法 )其实是一种非常简单易懂的适用于在线最优化的算法...总的来说这个算法有些无脑... 收敛速度慢

常见的机器学习&数据挖掘知识点

常见的机器学习&数据挖掘知识点 转载请说明出处 Basis(基础): MSE(Mean Squared Error, 均方误差) RMSE(Root Mean Squared Error, 均方根误差) RRSE(Root Relative Squared Error, 相对平方根误差) MAE(Mean Absolute Error, 平均绝对误差) RAE(Root Absolute Error, 平均绝对误差平方根) LSM(Least Mean Squared, 最小均方) LSM(Le