ftrl

GBDT FFM(FM) Online Learing(FTRL)

混江龙づ霸主 提交于 2020-02-02 01:56:21
GBDT+FFM(FM)+Online Learing(FTRL)是kaggle比赛的重点方法,需要重点学习。 从Ensemble说起 Bagging,Boosting和Stacking是集成学习的三种主要的形式. Bagging Bagging=Bootstrap Aggregating ,是 model averaging 的策略. bootstrap 是一种有放回的抽样,那么bagging就是使用bootstrap抽样来进行模型平均(vote). 从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果. 比如: Random Forest 就是使用bagging的思想 (1) bootstrap抽样产生样本集M (2) 从原始的K个特征中选择k(logK)个随机特征作为特征集F (3) 对样本集M在特征集F上建立决策树(CART) (4) 重复(1)-(3)产生多个决策树 (5) 投票(average) 这里借鉴别人的一张图: Stacking 是指训练一个模型用于组合其他各个模型。即首先我们先训练多个不同的模型,然后再以之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出. 将训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值

基于FTRL的在线CTR预测算法

蓝咒 提交于 2019-12-07 21:56:36
在程序化广告投放中,一个优秀的CTR预测算法会给广告主、Adx以及用户都将带来好处。Google公司2013在《ResearchGate》上发表了一篇“Ad click prediction: a view from the trenches”论文,这篇论文是基于FTRL的在线CTR预测算法,下面将讲解该算法的主要思想以及Java实现。 什么是Online Learning 传统的 批量算法 的每次迭代是对全体训练数据集进行计算(例如计算全局梯度),优点是精度和收敛还可以,缺点是无法有效处理大数据集(此时全局梯度计算代价太大),且没法应用于数据流做在线学习。而 在线学习算法 的特点是:每来一个训练样本,就用该样本产生的loss和梯度对模型迭代一次,一个一个数据地进行训练,因此可以处理大数据量训练和在线训练。准确地说,Online Learning并不是一种模型,而是一种模型的训练方法,Online Learning能够根据线上反馈数据,实时快速地进行模型调整,使得模型及时反映线上的变化,提高线上预测的准确率。Online Learning的流程包括:将模型的预测结果展现给用户,然后收集用户的反馈数据,再用来训练模型,形成闭环的系统。如下图所示: 这篇论文提出的基于FTRL的在线CTR预测算法,就是一种Online Learning算法。即,针对每一个训练样本