XDRush

CTR预估算法之LR

背景

伴随着我们浏览器及其矩阵产品用户规模的扩大,单纯的广告接入,然后随机的展示方式无法充分利用我们的广告位,无法达到收益最大化。随着调研的深入,点击率预估模型便提上了日程。

经过前期一个月数据的收集准备,目前的数据量已经能够满足模型的开展了。接下来便会总结一些列关于CTR模型相关的知识,当然这里只对相应算法铺开,限于商业数据的保密性,不对具体数据和实施细节做展开。

整体系统结构

我们的模型周级更新,大概结构如下:
CTR预估整体结构图

系统整体结构图如上,分为offline线下部分和online线上部分。线下部分,取前一周的PV和click日志作为增量训练数据,更新迭代模型;线上部分,利用训练好的模型,接受用户请求,检索广告库(我们的广告库来自于Applovin,Yeahmobi,Mobvista等广告商,天级更新存放在数据库里),组合特征,过CTR,最终取cpm最高的广告进行展示。

LR应用于CTR预估

LR算法之why

为什么LR算法能够用于CTR预估呢?个人认为主要是一下原因导致的:

把被点击的样本当成正例,把未点击的样本当成负例,那么样本的ctr实际上就是样本为正例的概率,LR可以输出样本为正例的概率,所以可以用来解决这类问题,另外LR相比于其他模型有求解简单、可解释强的优点,这也是工业界所看重的。

关于LR算法

pCtr由如下计算方式获取:
pCtr计算方法

上式中,X(j)为第j维特征,pCtr是个概率值。

损失函数采用log最大似然函数,定义如下:
损失函数定义

优化目标如下:
优化目标

优化算法采用SGD,权重更新方式如下:
优化算法