| | | |
关于点击率模型,你知道这三点就够了  
关于点击率模型,你知道这三点就够了

关于点击率模型,你知道这三点就够了》》》上海会务公司《《《

上述的模型选择都是结合业务场景做出的选择,这里按我个人理解给出一个连贯一些的点击率预估模型演进的过程:

之前提及过,一般会以高维sparse特征的LR模型作为基线模型,也有用dense特征直接结合LR来建模的。由于LR是线性分类器,后者需要对dense特征手工加各种非线性变换,遇到瓶颈后会转向前者,或者改成使用GBDT,NN等非线性模型。而高维sparse特征结合LR的方案,人工在特征工程遇到一定瓶颈后,会采用FM等方案自动做特征发现,为了解决时效性的问题,会结合batch的训练加上Online的更新方式,或者直接转向完全Online的方案如ftrl。还有一个方向是会结合自身的业务场景,对模型的损失函数做一些创新,比如yahoo的laser,阿里的coupled group lasso,比赛里的field aware的ffm等等。

在比赛里为了提升效果,很常见的一个策略是把各个模型融合在一起,最简单的有把各个模型的结果做线性加权,也有把各个模型进行stacking的方案,比如Facebook的gbdt+lr,再有把各个模型的信息喂给dnn去学习的。对这三种方案来说,效果最好的,我个人比较相信,是用dnn去做模型的blending(融合)。注意这里说的DNN不是指具体的某个模型dbn,cnn,而是指将各种浅层模型的中间权重,预估结果,原始的静态,动态特征等作为DNN的输入,使用dnn后馈的输入梯度来联合更新这些结构的参数。对DNN大家可能比较诟病的是其训练效率,但我觉得在大公司可能还好,听在百度的朋友说DNN的开发代价和训练开销随着探索在逐步降低,不一定比gbdt等非线性模型代价高很多。

当然,对小公司来说,直接走到DNN有点用力过猛,我在这里简要介绍一下FM+gbdt去融合的方案:第一步当然也是基于大规模稀疏特征LR。第二步,为了更好的刻画长尾,自动发现组合特征,采用了FM。在同样的训练时间下,AUC提升,模型泛化性能可控。第三步:为了更好的fine tuning头部和提升时效性,采用了用gbdt加动态特征的模型。最后呢,把这两个模型简单的做线性融合,由于俩个模型的特征和模型差异性较大,融合后auc也有显著的提升。

对于gbdt,开源的实现有很多,但效果差别比较大,这里推荐一个开源实现xgboost,很多kaggle上的比赛借助这个工具都拿到了好名次。之前我写过一篇叫做xgboost导读和实战的文章,对原始paper中的公式给出了一些推导细节,这里不再详述。简单的说原始paper里是在函数空间上梯度下降求解,在求解步长时一般都是固定学习率。而xgboost对损失函数做了二阶的泰勒展开,考虑了损失函数的二阶梯度信息,并加入了正则项整体求最优解,有比较好的泛化性能。另外在具体建树的分裂节点过程也不是大多数实现里基于信息增益等,而是结合具体目标函数的真实下降量。有人做过各实现的评测,xgboost在性能和效果上都是相当不错的。

BSp-SSp

几个典型的模型基本就简要讲到这里,最后讲一下模型求解的优化算法,计算广告书里给出了不少经典的优化凸优化算法的原理和实现代码,LBFGS,trust region等,这些凸优化算法基本上都是扫一遍样本,迭代的更新一次模型参数,想要提升模型训练收敛的效率,主要思路是降低扫样本的成本,比如把样本cache在内存里,另外就是降低迭代轮数,比如书里提到的admm。

这样的batch做迭代的优化方法现在被称为一种叫做BSp(Bulk Synchronous parallel)的方式,与之相对应的叫做SSp(StalenessSynchronous parallel),主要是基于异步的minibatch sgd的优化算法来更新,加上了一个bounded的一致性协议来保证收敛。补充一点的是,很多实现中其实是完全异步来实现的,更为简单一些。SSp的方式虽然单轮迭代的网络开销不小,但是扫一遍样本,minibatch sgd可以更新很多次模型,迭代的次数相对LBFGS会降低很多,所以整体的时间开销相对也会少很多,另外可以结合online更新进一步降低训练时间。从底层消息通讯的工程架构上来说,ssp的方式主要是异步的push pull,基于消息队列如zeromq等去实现,相对bsp的这样的同步原语,实现起来相对简单优雅些,也有一些不错的开源实现比如李沐的dmlc。

ssp方式的缺点是数据量少的时候minibatch sgd的优势相对不明显,需要多调调参数,没有batch算法省事。总体说来,趋势是在从bsp的架构往ssp的架构在转,包括一些dnn的实现,基于SSp的方式加Online更新后训练模型的开销相对已经较小了。

(转自微信公众号:计算广告)

行业新闻
上海开业策划公司:红红火火,欣欣向
上海会议活动策划公司的功效性体现在
了解上海会议活动策划布置方案
上海会议策划中如何安排茶歇冷餐?
上海会议策划公司的核心职责是什么
上海公关活动公司:活动策划,一站式
上海公关活动策划:个性化定制、别出
上海公关策划公司如何制定公关活动
上海新品发布会策划的方案流程
上海发布会策划的工作内容
上海发布会策划公司:新品发布会活动
上海庆典策划:举办庆典典礼要四个方
联系我们  |  Contact us  
Copy Right 2001-2020年 邦行广告(www.ocmc.com.cn) 上海邦行广告有限公司版权所有 备案号: 沪ICP备19043197号-1
邦行广告是一家专业的上海公关公司上海会务公司上海活动策划公司上海品牌年会活动策划公司;公司核心成员具有多年4A广告公司、TOP公关公司从业经验,与我们携手,让您的品牌更具有价值。
电话:13671607508  |  客户咨询QQ:1473996205  |  E-mail:ocmc@ocmc.com.cn  |  地址:上海市长宁区凯旋路613号创邑•源G栋 | 网站地图 |百度地图 |
点我在线咨询
24小时免费热线
13671607508
上海
021-60481008
杭州
13671607508
业务咨询(微信同号)
金先生 13671607508