各大公司广泛使用的在线学习算法FTRL详解EENovRain

本文主要会分三个部分介绍,如果对理论产生背景不感兴趣的话,可以直接看第3部分的工程实现(这一部分google13年那篇工程化的paper介绍得很详细):

【问题描述】

对于loss函数+正则化的结构风险最小化的优化问题(逻辑回归也是这种形式)有两种等价的描述形式,以1范数为例,分别是:

a、无约束优化形式的softregularizationformulation:

b、带约束项的凸优化问题convexconstraintformulation:

【批量(batch)算法】

批量算法中每次迭代对全体训练数据集进行计算(例如计算全局梯度),优点是精度和收敛还可以,缺点是无法有效处理大数据集(此时全局梯度计算代价太大),且没法应用于数据流做在线学习。这里分无约束优化形式和约束优化(与上面问题描述可以对应起来)两方面简单介绍一下一些传统批量算法。

b、不等式约束凸优化形式:1、传统的不等式约束优化算法内点法等;2、投影梯度下降(约束优化表示下),gt是subgradient,直观含义是每步迭代后,迭代结果可能位于约束集合之外,然后取该迭代结果在约束凸集合上的投影作为新的迭代结果(第二个公式中那个符号标识向X的投影):

【在线算法】

如上所述,批量算法有自身的局限性,而在线学习算法的特点是:每来一个训练样本,就用该样本产生的loss和梯度对模型迭代一次,一个一个数据地进行训练,因此可以处理大数据量训练和在线训练。常用的有在线梯度下降(OGD)和随机梯度下降(SGD)等,本质思想是对上面【问题描述】中的未加和的单个数据的loss函数L(w,zi)做梯度下降,因为每一步的方向并不是全局最优的,所以整体呈现出来的会是一个看似随机的下降路线。典型迭代公式如下:

这里使用混合正则化项:,例如可能是1范数与2范数强凸项的混合(后面会看到其实很多都是这种混合正则化的格式,而且是有一定直观含义的)。迭代公式中:gt是loss函数(单点的loss,未加和)的subgradient,与gt相加的那一项是混合正则化项中的第二项的梯度,投影集合C是约束空间(例如可能是1范数的约束空间),跟上面介绍的投影梯度下降类似的做法。

1、简单的在线梯度下降很难产生真正稀疏的解,稀疏性在机器学习中是很看重的事情,尤其我们做工程应用,稀疏的特征会大大减少predict时的内存和复杂度。这一点其实很容易理解,说白了,即便加入L1范数(L1范数能引入稀疏解的简单示例可以产看PRML那本书的第二章,我前面一篇blog的ppt里也大概提了),因为是浮点运算,训练出的w向量也很难出现绝对的零。到这里,大家可能会想说,那还不容易,当计算出的w对应维度的值很小时,我们就强制置为零不就稀疏了么。对的,其实不少人就是这么做的,后面的TruncatedGradient和FOBOS都是类似思想的应用;

2、对于不可微点的迭代会存在一些问题,具体有什么问题,有一篇paper是这么说的:theiteratesofthesubgradientmethodareveryrarelyatthepointsofnon-differentiability。我前后看了半天也没看明白,有熟悉的同学可以指导一下。

二、TruncatedGradient、FOBOS以及RDA(RegularizedDualAveraging)

上面提到了,稀疏性在机器学习中是很重要的一件事情,下面给出常见的三种做稀疏解的途径:

1)、简单加入L1范数

下面会提一下FOBOS(Forward-BackwardSplittingmethod,其实应该叫FOBAS的,历史原因)以及RDA,因为后面的FTRL其实相当于综合了这两种算法的优点:

a、FOBOS,google和伯克利09年的工作:

b、RDA(Regularizeddualaveraging),微软10年的工作,更加理论性一些,这里就直接略过去了,仅对其特点做一个简单介绍:

ok,背景和一些铺垫终于完成了,下面重点进入FTRL的部分。。。

三、FTRL(Follow-the-regularized-Leader)

【发展历程】

FTRL的理论推进和工程应用首先要感谢这个人:H.BrendanMcMahan,google这哥们儿护了三年的坑,直到13年工程性paper出来。发展历程和基本说明如下:

–10年理论性paper,但未显式地支持正则化项迭代;11年证明regretbound以及引入通用的正则化项;11年另一篇的paper揭示OGD、FOBOS、RDA等算法与FTRL关系;13年的paper给出了工程性实现,并且附带了详细的伪代码,开始被大规模应用。

1)PoissonInclusion:对某一维度特征所来的训练样本,以p的概率接受并更新模型;

2.浮点数重新编码

[1]J.Langford,L.Li,andT.Zhang.Sparseonlinelearningviatruncatedgradient.JMLR,10,2009.(截断梯度的paper)

[2]H.B.McMahan.Follow-the-regularized-leaderandmirrordescent:EquivalencetheoremsandL1regularization.InAISTATS,2011(FOBOS、RDA、FTRL等各种方法对比的paper)

[3]L.Xiao.Dualaveragingmethodforregularizedstochasticlearningandonlineoptimization.InNIPS,2009(RDA方法)

[4]J.DuchiandY.Singer.Efficientlearningusingforward-backwardsplitting.InAdvancesinNeuralInformationProcessingSystems22,pages495{503.2009.(FOBOS方法)

[5]H.BrendanMcMahan,GaryHolt,D.Sculley,MichaelYoung,DietmarEbner,JulianGrady,LanNie,ToddPhillips,EugeneDavydov,DanielGolovin,SharatChikkerur,DanLiu,MartinWattenberg,ArnarMarHrafnkelsson,TomBoulos,JeremyKubica,AdClickPrediction:aViewfromtheTrenches,Proceedingsofthe19thACMSIGKDDInternationalConferenceonKnowledgeDiscoveryandDataMining(KDD)(2013)(这篇是那篇工程性的paper)

[6]H.BrendanMcMahan.Auniedanalysisofregular-izeddualaveragingandcompositemirrordescentwithimplicitupdates.Submitted,2011(FTRL理论发展,regretbound和加入通用正则化项)

[7]H.BrendanMcMahanandMatthewStreeter.Adap-tiveboundoptimizationforonlineconvexoptimiza-tion.InCOLT,2010(开始的那篇理论性paper)

THE END
1.机器学习基础超全汇总!机器学习常用术语词汇表(建议收藏同样是监督学习算法,用于预测连续的数值,如预测股票价格、房价等。线性回归是最基本的回归算法之一。 聚类算法 无监督学习算法,将数据对象分成不同的簇,使得同一簇内的数据对象具有较高的相似性,而不同簇之间的相似性较低。例如 K-Means 聚类算法。 决策树 https://www.bilibili.com/read/cv39478871/
2.在线算法和离线算法的区别–PingCode什么是在线算法和离线算法,它们有哪些区别? 在线算法和离线算法都是常见的数据处理算法,但它们在应用场景和运行方式上存在一些区别。 在线算法是什么,它和离线算法有什么不同之处? 在线算法是一种实时处理数据的算法,它在数据到达时立即进行处理,即时的结果可以随时更新。在线算法适用于需要实时响应和动态更新的场景,如https://docs.pingcode.com/ask/202629.html
3.离线算法vs在线算法在计算机科学中,离线和在线算法的本质不同是:在处理数据流和资源使用方面 离线和在线不是具体的某种算法公式,而是一种思维模式,取决于在所给的问题背景下,数据资源是否能够通盘考虑,或是现实场景中不断地有新数据介入 离线算法(OfflineAlgorithm) 离线算法是指在开始处理数据之前,所有需要的输入数据都是已知的。算法https://blog.csdn.net/m0_61678439/article/details/141088418
4.在线算法离线算法在线算法与离线算法是计算机科学中两个重要的概念,它们之间的区别对于理解算法的性能和应用至关重要。在线算法和离线算法在处理问题的方式上存在本质差异。在线算法在运行过程中逐步接收输入,并根据当前已知信息做出决策。它必须做出即时的决策,且这些决策不可逆地影响后续步骤。举例来说,当你在社交媒体平台https://zhidao.baidu.com/question/693651552016535292.html
5.我想问一下不足月如何算月利息呢,具体的算法是什么?结论:如果贷款本身就是按日计息的,那计算月息的时候,不满一个月就是按实际借款天数来算 解析:比如某https://www.64365.com/ask/1926218.aspx
6.在对齐AI时,为什么在线方法总是优于离线方法?澎湃号·湃客根据现有的强化学习研究成果,在线比离线更好似乎是显而易见的结论。在线和离线强化学习算法之间的性能差距也已经被多项研究发现,所以这项研究给出了什么不一样的结论呢? 最重要的是,在线 RLHF 算法依赖于一个学习后的奖励模型,该奖励模型是使用与离线 RLHF 算法一样的成对偏好数据集训练得到的。这与常规强化学习https://www.thepaper.cn/newsDetail_forward_27434433
7.「事实核查」是啥?专题笔记已经整理好啦,直接背!事实核查的人工算法,集智能算法与专业编辑优势于一体,在智能算法抓取社交媒体上的相关信息后,由记者进一步核实信息。 三 社交媒体时代的事实核查的特点 田心说:此部分可在理解的基础上简单记忆。 在实践中,事实核查已成为近年来全球新闻业用以应对数字化浪潮冲击所尝试的最重要的创新项目之一。与海外新闻业相比,事实核https://www.douban.com/note/863236156/
8.在线学习平台常见问题解答——超星尔雅2、总成绩组成和算法 解答:总成绩 =视频成绩*视频考核比例+课堂测验作业的平均成绩*章节测验考核比例+考试成绩*考试考核比例,如果有访问的考核标准,需要加上访问的成绩*访问比例,可以登录后点开课程图片进入,点击导航栏【进度】,进入查看相关进度和分数的分配,如果学校没有特殊要求,总成绩已获得的分数达到60以上即为http://syxt.xjtu.edu.cn/info/1171/2038.htm
9.详解抖音算法:为啥百万粉丝的抖音号,直播时才几十个人在线?视频抖音的算法,就是抖音这款游戏的规则。 成立日期2021年06月04日 法定代表人王生 主营产品抖音小风车,蓝V开通,企业号认证,私信卡片,引流链接,橱窗,跳转微信,在线预约,KS小钥匙,立即预约,升黄金等级,二手车播,橱窗开通 ,二手车直播资质,信息咨询,定位修改,团购达人,电商执照,代办执照抖音团购,小店开通,虚拟号码改https://product.11467.com/info/11530048.htm
10.重建生态:价值与系统的力量——第七届中国教育创新年会11月启幕算法学习的课堂提问艺术 冯书伟(北京亦庄实验小学信息技术中心主任) 合作学习的管理策略 叶丹(武汉经济技术开发区洪山小学校长) 新冠疫情下的混合式学习经验 马鸣燕(美国普利西学校中学部创校老师) 个体学习的崛起对学校传统群体学习的冲击与改造 唐雅月(巴川中学精英班海外首席升学指导) 学生们如何在场馆式https://sghexport.shobserver.com/html/toutiao/2020/08/26/250533.html
11.从玄学走向科学:AB测试驱动的科学增长在这之后,AB实验渐渐普及开来,逐步成为数据驱动增长的经典手段,助力了大量互联网产品的迭代优化。今天,谷歌微软这些科技公司每年进行着数以万计的实验,覆盖了亿级的用户量,实验的内容涵盖了绝大多数产品特征的迭代优化,从产品命名到交互设计,从改变字体、弹窗效果、界面大小,到推荐算法、广告优化、用户增长等等。 https://www.51cto.com/article/745854.html
12.在线匹配问题研究进展:如何应对一般图以及顶点全在线的挑战?在STOC90会议中,Karp, Vazirani和Vazirani三位学者首次提出了在线二分图匹配模型:假设存在一个潜在的二分图 其中一侧顶点为离线顶点(直接给定),而另一侧顶点为在线顶点(逐步到达)。我们要求算法在任何一个在线顶点输入的时间点(此时与中顶点的边同时给出),即时地决定是否将与中某一相邻顶点匹配,并且决策不能反悔。https://www.orsc.org.cn/wechat/article/detail?id=760
13.2024年10款最佳RSS阅读器推荐(在线/软件+免费/付费)现在无论是在新闻媒体、社交平台还是在线视频软件,订阅或者说关注对大多数人来说是一个熟悉的词汇,比如知乎专栏的订阅,抖音的关注等等。为了获取更大懂得利润,很多平台不断地采用算法分析和收集用户数据,从而推荐你潜在可能感兴趣的内容和商品。这样导致你身边的信息具有同质化,让你看不到跟你不一样的观点、接收到https://www.extrabux.cn/chs/guide/6500762
14.算法基础与在线实践带目录完整pdf[31MB]电子书下载1.1 什么是算法 1.2 算法的时间复杂度 1.3 算法时间复杂度分析示例 1.4 PKU 0penJudge在线评测系统 1.5 本章小结 第2章 简单计算与模拟 2.1 基本思想 2.2 例题:鸡兔同笼(POJ 3237) 2.3 例题:校门外的树(POJ 2808) 2.4 例题:装箱问题(POJ 1017) https://www.jb51.net/books/679145.html
15.大数据流的在线HeavyHitters算法(上篇):基于计数器的方法Heavy Hitters(频繁项)以及它衍生出来的Top-K(前K最高频项)是大数据和流式计算领域非常经典的问题,并且在海量数据+内存有限+在线计算的前提下,传统的HashMap + Heap-Sort方式几乎不可行,需要利用更加高效的数据结构和算法来解决。好在大佬们对Heavy Hitters问题进行了深入的研究,并总结出了很多有效的方案,本文简要介https://www.jianshu.com/p/690432d7fc45
16.生物信息学简史1970年,Needleman和Wunsch 开发了第一个成对蛋白质序列比对的动态编程算法,80年代早期,做为Needleman-Wunsch算法的推广,第一个多序列比对(MSA)算法首次公布,但是这个算法并没有太大的价值。 多序列比对第一个真正成熟的算法由Da-Fei Feng和Russell F. Doolitle于1987年开发,流行的MSA软件 CLUSTAL 开发于1988年,作为https://www.biowolf.cn/m/view.php?aid=372
17.蚂蚁金服核心技术:百亿特征实时推荐算法揭秘阿里妹导读:本文来自蚂蚁金服人工智能部认知计算组的基础算法团队,文章提出一整套创新算法与架构,通过对TensorFlow底层的弹性改造,解决了在线学习的弹性特征伸缩和稳定性问题,并以GroupLasso和特征在线频次过滤等自研算法优化了模型稀疏性,在支付宝核心推荐业务获得了uvctr的显著提升,并较大地提升了链路效率。 https://maimai.cn/article/detail?fid=1010621115&efid=mIQCHnkj0zjxlpygUmo5mg