Shanshan Pythoner Love CPP

计算广告学 笔记4.4 点击率预估模型

2017-04-27
Ad

课程地址:计算广告学

课时24 点击率预测和逻辑回归

点击的概率可以很自然地用条件概率来表达,given a(广告),u(用户), c(页面),p of click。我们可以用统计来预测点击率,我个人计为Regression比Ranking的方法更合适,我们知道在搜索中,Ranking的方法被广泛地研究,利用机器学习的方法得到更好的排序结果。但我们知道广告的排序是根据eCPM,所以,广告的排序并不能仅考虑CTR,因为eCPM还要考虑Bid,换言之,对广告网络而言,竞价广告系统需要准确地估计CTR。,如果是对DSP而言,对点击率的预测要求就更高了,因为DSP需要同时估计CTR和点击价值,CTR 和点击价值决定了DSP出价,即是向Exchange报的出价。

逻辑回归

Click的概率是服从Bi-nominal分布的,它的取值只能是0或1,我们很自然的想法就是用Logistic Regression模型。虽然有很多其它更Fancy的算法,但工程中常常使用的恰是这种简单的模型。 如果我们忽略二分类问题中y的取值是一个离散的取值(0或1),我们继续使用线性回归来预测y的取值。这样做会导致y的取值并不为0或1。逻辑回归使用一个函数来归一化y值,使y的取值在区间(0,1)内,这个函数称为Logistic函数(logistic function),也称为Sigmoid函数(sigmoid function)。

逻辑回归表达式

逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)将最为假设函数来预测。g(z)可以将连续值映射到0到1之间。线性回归模型的表达式带入g(z),就得到逻辑回归的表达式:

让x0 = 1,表达式就转换为:

分类

现在我们将y的取值h(x)通过Logistic函数归一化到(0,1)间,y的取值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

对上面的表达式合并一下就是:

梯度上升

得到了逻辑回归的表达式,下一步跟线性回归类似,构建似然函数,然后最大似然估计,最终推导出θ的迭代更新表达式。

我们假设训练样本相互独立,那么似然函数表达式为:

同样对似然函数取log,转换为:

转换后的似然函数对θ求偏导,在这里我们以只有一个训练样本的情况为例:

这个求偏导过程第一步是对θ偏导的转化,依据偏导公式:y=lnx y’=1/x。

第二步是根据g(z)求导的特性g’(z) = g(z)(1 - g(z)) 。

第三步就是普通的变换。

这样我们就得到了梯度上升每次迭代的更新方向,那么θ的迭代表达式为:

课时25 逻辑回归优化方法介绍

LGFGS:

http://www.hankcs.com/ml/l-bfgs.html

课时26 动态特征

静态特征举一个例子,上文提到过静态特征可以通过组合得到,比如年龄等于15岁并且广告是电商广告,如果user和ad满足这两个条件,则特征值为1,否则为0。而动态优化是统计出这个组合在历史上它的表现是什么情况,即年龄等于15岁且为电商广告在历史上点击率如何,历史上的点击率显示是一个特别强的指标,或者说它比1或是0代表的信息要多。动态特征即是在标签组合维度上聚合点击反馈统计作为CTR预测的特征。也可以换一个角度去理解,我们可以认为这种聚合维度上的CTR是一个弱分类器,比如上例中只知道年龄和广告类型对点击率进行预测。我们对成千上万的组合特征就可以训练得到成千上万的弱分类器,这种弱分类器再作为最后learning模型的输入特征。

动态特征的优势有:1. 工程架构扩展性比较强,因为生成动态特征,只需要在历史数据上作统一的挖掘流量,只需要进行配置就可以实现对任意特征的挖掘,它与在线学习相比,上文讲到,特征上的任何一个方案,都对应模型上的一个方案,如果在模型上快速地变weight与在特征集合上快速变特征,变特征会简单的多,因为变模型在广告投放的过程中还涉及多台机器通信的问题,变特征没有这个问题,即使你需要计算的很快速,也可以用流式计算平台实现。2. 对于新的(a, u, c)组合有较强的back-off能力,比如有一种广告素材是没有出现过的,如果想在模型中把这个特征加进去,把权重更新出来,过程是比较复杂的。如果是仅仅在特征端对它进行描述,这个素材对不同的人群的CTR都作为动态特征放在系统里,只要流式计算做的足够快,只要广告上线,就可以迅速地就可以在模型中做出正确的决策。动态特征的缺点是,因为特征都是动态的,是需要一个很大的Cache去存储,存储的量是巨大的,因为所有的组合都可以生成动态特征,另外,更新的速度要求也比较高。


Similar Posts

Comments

Content