参考:https://mp.weixin.qq.com/s/p10_OVVmlcc1dGHNsYMQwA

在线学习只是一个机器学习的范式(paradigm),并不局限于特定的问题,模型或者算法。

架构

  如图1所示,流式训练数据生成的环节还会继续保留,原有的流式训练数据生成拓扑后面会直接接一个流式模型更新的拓扑,训练数据不是先落地HDFS然后再从HDFS加载,而是直接用于模型更新。架构中会有一个逻辑上的参数服务器用来存放模型,不同的在线学习模型和算法需要在参数服务器和流式训练拓扑中编写代码来实现特定于该模型和算法的更新方法。随着训练数据生成拓扑和模型更新拓扑的运行,参数服务器中存放的模型会得到持续不断的更新。与此同时,这样的更新也会同步给实时推荐引擎,从而立即用于线上的推荐。

  可以看到,从事件(点击/曝光/转化等等)发生,到形成一条日志,再到形成一条训练数据,再到模型更新,再到用于线上推荐,整个过程都是流式的,从头到尾的平均延迟可以做到秒级。与此同时,无论是训练数据生成和模型更新两个拓扑,还是参数服务器,都具有良好的伸缩性,可以支持大规模的模型和大数据流。

模型和算法考量

正如前面提到的,可以划到在线学习这个范式里面的模型和算法有很多,而且还在不断增加。比较著名的有FTRL-Proximal[5]和AdPredictor[6],这两个都是工业界有过大规模应用的,自然是被竞相效仿的对象。关于它们的原理和实现的细节可以阅读原始文献,本系列的后续文章也会有介绍。

依个人浅见(仅供参考),这两个模型和算法代表了两大类实现在线学习的思路,这里我们粗糙地借用一下wikipedia的分类法[8]。一类是所谓的对抗学习模型(adversarial model),FTRL-Proximal可归入此类,这类模型和算法的目标是在在线的场景下最小化“后悔(regret)”。这个思路也常被称作是在线(随机)优化(online stochastic optimization)。另一类是所谓的统计学习模型(statistical learning model),按照wikipedia的说法,这类模型和算法的目标是最小化期望“风险(risk)”。然而,个人认为这个思路放到贝叶斯推理(bayesian inference)的框架下才能释放其最大价值。实际上,适用于各类概率图模型(probabilistic graph model)的贝叶斯推理算法有很多,其中不乏适用于在线学习场景的,AdPredictor就是一个例子。无论是在线(随机)优化,还是贝叶斯推理,背后都有比较完善的理论支持,且有大量的文献。作为初窥门径的实用主义者,笔者在这里斗胆提到它们,只是为了分享寻找,设计和选择在线学习模型和算法时的一点思路。

3.3 系统考量

  比较著名的有FTRL-Proximal和AdPredictor,这两个都是工业界有过大规模应用的,自然是被竞相效仿的对象。这两个模型和算法代表了两大类实现在线学习的思路。一类是所谓的对抗学习模型(adversarial model),FTRL-Proximal可归入此类,这类模型和算法的目标是在在线的场景下最小化“后悔(regret)”。这个思路也常被称作是在线(随机)优化(online stochastic optimization)。另一类是所谓的统计学习模型(statistical learning model),这类模型和算法的目标是最小化期望“风险(risk)”,放到贝叶斯推理(bayesian inference)的框架下。实际上,适用于各类概率图模型(probabilistic graph model)的贝叶斯推理算法有很多,其中不乏适用于在线学习场景的,AdPredictor就是一个例子。无论是在线(随机)优化,还是贝叶斯推理,背后都有比较完善的理论支持,且有大量的文献。

  

在线学习在CTR上应用的综述的更多相关文章

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

    各大公司广泛使用的在线学习算法FTRL详解 现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据 ...

  2. 各大公司广泛使用的在线学习算法FTRL详解 - EE_NovRain

    转载请注明本文链接:http://www.cnblogs.com/EE-NovRain/p/3810737.html 现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression ...

  3. 行人重识别(ReID) ——基于深度学习的行人重识别研究综述

    转自:https://zhuanlan.zhihu.com/p/31921944 前言:行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视 ...

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

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

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

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

  6. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  7. 我是怎么开发一个小型java在线学习网站的

    2016/1/27 11:55:14 我是怎么开发一个小型java在线学习网站的 一直想做一个自己的网站(非博客),但是又不知道做什么内容的好,又一次看到了w3schools,就萌发了开发一个在线ja ...

  8. HTML5初学者福利!11个在线学习网站推荐

    HTML5初学者福利!11个在线学习网站推荐 HTML5的强大及流行趋势,让更多的人想要系统的对它进行学习.而大多数人获取HTML5知识的重要途径都是网络,不过面对五花八门的搜索结果,是不是觉得摸不着 ...

  9. 初学者福音——10个最佳APP开发入门在线学习网站

    根据Payscale的调查显示,现在的APP开发人员的年薪达到:$66,851.这也是为什么那么多初学的开发都想跻身到APP开发这行业的主要原因之一.每当你打开App Store时候,看着琳琅满目的A ...

随机推荐

  1. hashlib模块(加密模块)

    hash = hashlib.md5(b"str") #md5对象,md5不能反解,可加参数 hash.update(b"str") #对字符串进行加密 has ...

  2. bbs项目学习到的知识点(orm中的extra)

    注册 form组件给input 的标签 添加样式类  参见这篇博客(点击) 上传图像 1.解决 一点击图像就会直接打开上传文件的按钮 #这儿利用了 label标签和input的特殊的联动功能 < ...

  3. Autolayout Breakpoints

    articles archives team Autolayout Breakpoints Auto layout has become a crucial tool for iOS and OS X ...

  4. YOLOv3训练自己的数据

    1.  下载预训练权重文件 YOLOv3使用在Imagenet上预训练好的模型参数(文件名称: darknet53.conv.74,大小76MB)基础上继续训练. darknet53.conv.74下 ...

  5. yii2 rules 验证规则

    yii2  框架定义的约束 public $builtInValidators = [ 'boolean' => 'yii\validators\BooleanValidator', 'capt ...

  6. linux下mysql的启动与关闭

    1.查看mysql版本 方法一:status; 方法二:select version(); 2.Mysql启动.停止.重启常用命令 a.启动方式 1.使用 service 启动: [root@loca ...

  7. AS 400 常用命令

    转自:http://blog.chinaunix.net/uid-22375044-id-3049793.html 一.命令技巧 命令构成: CRT* (Creat) 创建 WRK* (Work Wi ...

  8. pycharm 的配置

    装好了pycharm之后 一.新建项目:(两个接口) 或 出现下图便创建成功: 二.配置本地项目编译器:(每个项目都要配一次) 出现下图就配置成功了: 三.pycharm + linux 远程开发(此 ...

  9. mysql 两张表的数据设置主外健关联删除

    image_group 主表 image 副表 alter table image add constraint fk_group_idforeign key (group_id)references ...

  10. [ZJOI2007]矩阵游戏【bzoj1059/洛谷1129】/ [HEOI2016/TJOI2016]游戏

    小QQ是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个N \times NN×N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种 ...