ftrl学习之路
来源:互联网 发布:淘宝客优惠券发送软件 编辑:程序博客网 时间:2024/04/27 20:02
统计学习方法有三要素:模型、策略、算法,下面就这三要素分别介绍以引出ftrl(自己学习琢磨的,如有错误,感谢您的指出!)算法。
1. 模型
首先介绍几个定义。
定义1 回归。所谓回归,就是根据已有的样本来估计待定的参数。
举例(来自网络):房价(Y)与面积(x1)、容积率(x2)、区域均价(x3)、小区绿化程度(x4)、距离地铁(x5)的关系。
根据已标记且抽取特征的训练样本,可以估算值。那么问题来了,如何确定值以使得估算ctr与实际值的误差达到最小,即如何判断LR模型的优劣?一般采用LogisticLoss来评判,即对第t个样本的概率求负对数。
我的推导过程如下:
2. 策略
实际的互联网广告应用需要的是快速地进行model的更新。为了保证model的快速更新,训练样本是一条一条的过来的,每来一条样本,则对model进行一次迭代,从而保证model的更新速度。这种方法称为OGD(online gradient descend)。
在应用时,前端引擎产生AS(advance search),然后将其分解成多个BS(base search),根据BS从广告库中获得广告列表,然后利用模型计算每条广告的点击率,将所有的广告依据rank=ctr*bid进行排名,选取topK进行展示。在线学习的任务就是学习model的各个维度。
那么如何根据第t个样本来更新model系数用以预估第t+1个样本的点击概率?原始的OGD使用下面的迭代公式来达到要求:
其中为非增的学习率,这种迭代方法比较简单,但是不够好,不产生稀疏解。
ftrl-proximal算法是将OGD的迭代方式改变成为一个优化问题,优化公式如下:
式(2.2)中的右边括号每一项都有各自的意义,第一项是对损失函数的一个估计,第二项是控制W在每一次迭代过程中不要变化太大,第三项代表L1正则。
式(2.2)看起来比较难解,感觉需要存储第1~t个样本迭代所产生model的系数。其实,经过巧妙的处理,只需要存储一个系数向量就行了。
上面的优化问题可转换为:
3. 算法
算法流程为:
参考:
[1] http://blog.csdn.net/mytestmy/article/details/18980163
[2] Ad ClickPrediction: a View from the Trenches.H. Brendan McMahan, Gary Holt, D. Sculleyet al.
- ftrl学习之路
- 在线学习算法FTRL
- 在线学习算法FTRL
- FTRL之初学笔记
- FTRL
- FTRL
- 在线学习算法FTRL详解
- 在线学习算法FTRL-Proximal
- 在线学习算法FTRL-Proximal原理
- 【算法】在线学习算法FTRL详解
- 机器学习(五)--- FTRL一路走来,从LR -> SGD -> TG -> FOBOS -> RDA -> FTRL
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
- 机器学习最优化算法的演变,FTRL一路走来,从LR -> SGD -> TG -> FOBOS -> RDA -> FTRL
- FTRL 笔记
- FTRL&FM
- FTRL算法
- FTRL 算法
- 有关error PRJ0003错误的思考
- wget结合xargs实现并发下载
- mysql内存表、临时表
- 企业网站优化提升网站说服力的关键点
- 使用 nice、cpulimit 和 cgroups 限制 cpu 占用率
- ftrl学习之路
- jQuery插件封装:浮动div模式框
- Clone Graph
- DWRUtil
- 结构体struct module
- 加密算法解析
- UVA 11388 GCD LCM
- TLS & DTLS心跳扩展(rfc6250)
- jar包更改总结