首页 > 其他分享 >计算广告——平滑CTR

计算广告——平滑CTR

时间:2023-06-14 20:33:43浏览次数:45  
标签:Ci CTR 平滑 Ii 点击 广告 ri


一、广告计算的基本概念

1、广告的形式

在互联网发展的过程中,广告成为了互联网企业盈利的一个很重要的部分,根据不同的广告形式,互联网广告可以分为:

  • 展示广告(display ads)
  • 赞助商搜索广告(sponsored search)
  • 上下文广告(contextual advertising)

2、竞价模型

对于在线广告,主要有如下的几种竞价模型:

  • 按展示付费(pay-per-impression):直观来讲,按展示付费是指广告商按照广告被展示的次数付费,这是一种最普遍的竞价模型;
  • 按行为付费(pay-per-action):按行为付费是指只有在广告产生了销售或者类似的一些转化时,广告商才付费;

当然,对于以上的两种竞价模型各有其局限性:在按展示付费模型中,压根没有考虑到广告的效果,只是按照广告流量进行售卖的模式;对于按行为付费模型,虽然其考虑到了广告效果,但其的条件是产生了某种转化,这种转化有时很难追踪和记录。此时,为了解决这两种模型的局限性,通常可以按照一个用户是否会点击广告作为最终的度量标准,即按点击付费模型(pay-per-click)。

  • 按点击付费(pay-per-click):根据用户是否会点击广告来付费。

这里便出现了一个重要的概念,便是广告点击率(the click-through rate, CTR)。

3、广告点击率(CTR)

广告点击率CTR是度量一个用户对于一个广告的行为的最好的度量方法,广告点击率可以定义为:对于一个广告的被点击(click)的次数于被展示(impression)的次数的比值。



CTR=#click#impression

广告点击率对于在线广告有着重要的作用,在网络中,对于有限的流量,通常要选择出最优质的广告进行投放,此时,CTR可以作为选择广告和确定广告顺序的一个重要的标准。

但是在计算CTR时,由于数据的稀疏性,利用上述的计算方法得到的CTR通常具有较大的偏差,这样的偏差主要表现在如下的两种情况:

  • 1、例如展示impression的次数很小,如1次,其中,点击的次数也很小(这里的很小是指数值很小),如1,按照上述的CTR的计算方法,其CTR为1,此时的点击率就被我们估计高了;
  • 2、例如展示的次数很大,但是点击的次数很小,此时,利用上述的方法求得的CTR就会比实际的CTR要小得多。

出现上述两种现象的主要原因是我们对分子impression和分母click的估计不准确引起的,部分原因可能是曝光不足等等,对于这样的问题,我们可以通过相关的一些广告的展示和点击数据对CTR的公式进行平滑处理。

二、CTR的平滑方法

1、数据的层次结构——贝叶斯平滑

假设有N个相同的账号(a1,a2,⋯,aN),对于网页p,对于这样的网页和账号组(p,ai)。假设(C1,C2,⋯,CN)为观测到点击数据,(r1,r2,⋯,rN)为隐含的CTR的值,为点击率,点击率在此是一个隐含的参数,广告是否被点击满足二项分布,即Binomial(Ii,ri),其中,Ii表示广告被展示的次数。

贝叶斯思想认为,隐含的参数不是一个具体的值,而是满足某个分布,我们知道贝叶斯参数估计的基本过程为:

先验分布+数据的知识=后验分布

已知二项分布的共轭分布为Beta分布,对此,有以下的两点假设:

  • 1、对于一个广告,其点击Ci符合二项分布Binomial(Ii,ri),其中,Ii表示的是展示的次数,ri表示的是广告被点击的概率;
  • 2、对于所有的广告,有其自身的CTR,其CTR满足参数是α和β的贝塔分布Beta(α,β)。

假设有N个广告,广告被展示的次数为(I1,I2,⋯,IN),广告被点击的次数为(C1,C2,⋯,CN),上述的两个假设可以表示为如下的形式:

计算广告——平滑CTR_广告点击率

其对应的概率图模型为:

计算广告——平滑CTR_贝叶斯_02

点击率ri不仅与(Ii,Ci)相关,而且与参数α和参数β相关,我们可以通过计算得到参数α和参数β的估计α^和β^,一旦α^和β^被确定后,则ri的估计为:




ri=Ci+α^Ii+α^+β^

所以,现在,我们需要求解参数α和参数β的估计α^和β^。

点击C的似然函数为:P(C1,C2,⋯,CN∣I1,I2,⋯,IN,α,β),由于点击的次数以及展示的次数之间都是相互独立的,因此上式可以表示为:




P(C1,C2,⋯,CN∣I1,I2,⋯,IN,α,β)=∏i=1NP(Ci∣Ii,α,β)=∏i=1N∫riP(Ci,ri∣Ii,α,β)dri=∏i=1N∫riP(Ci,∣ri,Ii)P(ri∣α,β)dri

已知




P(Ci,∣ri,Ii)=rCii(1−ri)Ii−Ci




P(ri∣α,β)=Γ(α+β)Γ(α)Γ(β)rα−1i(1−ri)β−1

则上式可以写成:




=∏i=1N∫riP(Ci,∣ri,Ii)P(ri∣α,β)dri=∏i=1N∫rirCii(1−ri)Ii−CiΓ(α+β)Γ(α)+Γ(β)rα−1i(1−ri)β−1dri=∏i=1N∫riΓ(α+β)Γ(α)Γ(β)rCi+α−1i(1−ri)Ii−CI+β−1dri=∏i=1NΓ(α+β)Γ(Ii+α+β)Γ(Ci+α)Γ(α)Γ(Ii−Ci+β)Γ(β)

此时,我们需要求得该似然函数的最大值,首先,我们对上述的似然函数取对数,即为:




logP(C1,C2,⋯,CN∣I1,I2,⋯,IN,α,β)=∑i=1NlnΓ(α+β)−lnΓ(Ii+α+β)+lnΓ(Ci+α)−lnΓ(α)+lnΓ(Ii−Ci+β)−lnΓ(β)

将上述的log似然函数分别对α和β求导数,即为:




dlogP(C1,C2,⋯,CN∣I1,I2,⋯,IN,α,β)dα=∑i=1NΨ(α+β)−Ψ(Ii+α+β)+Ψ(Ci+α)−Ψ(α)




dlogP(C1,C2,⋯,CN∣I1,I2,⋯,IN,α,β)dβ=∑i=1NΨ(α+β)−Ψ(Ii+α+β)+Ψ(Ii−Ci+β)−Ψ(β)

其中,Ψ(x)=ddxlnΓ(x)。通过the fixed-point iteration方法,可以得到如下的结果:




αnew=α∑Ni=1[Ψ(Ci+α)−Ψ(α)]∑Ni=1[Ψ(Ii+α+β)−Ψ(α+β)]




βnew=β∑Ni=1[Ψ(Ii−Ci+β)−Ψ(β)]∑Ni=1[Ψ(Ii+α+β)−Ψ(α+β)]

上述的求解过程是一个迭代的过程,一旦求出了参数α和参数β的估计α^和β^,便可以求出点击率的估计:




ri=Ci+α^Ii+α^+β^

2、数据在时间上的一致性——指数平滑

相比上述的贝叶斯平滑,指数平滑相对要简单点,对于CTR中的点击,这是个与时间相关的量,假设对于一个广告,有M天的点击和展示数据(I1,I2,⋯,IM),(C1,C2,⋯,CM)。若要估计第M天的CTR的值,我们需要对分别对I和C进行平滑,得到平滑后的I^和C^。其计算方法如下:




{C^j=CjC^j=γCj+(1−γ)C^j−1 if j=1 if j=2,⋯,M




{I^j=IjI^j=γIj+(1−γ)I^j−1 if j=1 if j=2,⋯,M

其中,γ称为平滑因子,且0<γ<1。对于上述的公式,若要计算第M天的平滑点击,可以得到下面的公式:


C^M=γCM+(1−γ)C^M−1=γCM+(1−γ)(γCM−1+(1−γ)C^M−2)=γCM+γ(1−γ)CM−1+⋯+γ(1−γ)jCM−j+⋯+γ(1−γ)M−1C1

参考文献

  • Click-Through Rate Estimation for Rare Events in Online Advertising.Xuerui Wang, Wei Li, Ying Cui, Ruofei (Bruce) Zhang, Jianchang Mao Yahoo! Labs, Silicon Valley United States


标签:Ci,CTR,平滑,Ii,点击,广告,ri
From: https://blog.51cto.com/u_16161414/6480436

相关文章

  • CTR——人工神经网络+决策树
    一、引言   这是篇论文的笔记,记录阅读该论文中的一些体会,希望与大家一起学到知识。论文题目为《Usingneuralnetworksforclickpredictionofsponsoredsearch》。二、文章的核心思想  文章的核心思想是利用人工神经网络+决策树的方法去进行点击率的预测。1、模型  该......
  • 深度网络CTR建模
    1.概述CTR预估是现如今的搜索、推荐以及广告中必不可少的一部分,CTR预估的目标是预估用户点击给定item的概率。经过这么多年的发展,CTR预估算法得到了较大的改进,从开始的线性模型LR,发展到带有特征交叉的FM算法,随着深度网络的发展,CTR预估也逐渐发展到如今的基于深度模型的CTR预估,期间......
  • POJ2117 Electricity 题解 tarjan点双连通分量 割点
    题目链接:http://poj.org/problem?id=2117题目大意:给定一个由\(n\)个点\(m\)条边构成的无向图,请你求出该图删除一个点之后,连通块最多有多少。解题思路:tarjan,判断\(u\)的子节点有几个\(v\)满足\(low[v]\gedfn[u]\)就是答案,但是同时如果\(u\)不是这个dfs树的根节......
  • python+uiautomator2判断app是否进入到闪屏广告页面
    前提背景:app内部存在多处广告,需要进行进行自动化:1.查看app是否成功跳转了页面2.页面是否空白3.大致经历的耗时主要思路如下:点击前进行截图操作,点击后进行判断判断图片是否空白defis_blank(image_path,gray_value=250,threshold=0.9):"""函数会计算一幅图像中......
  • Jpro Toolbar Perform a Comprehensive Electronic Inspection With Visual PM Inspec
    JPROhelpsperformacomprehensiveelectronicinspectionofthetruck,butit’simportanttopairthiswithavisualPMinspection.UsingchecklistsandtoolsinJPRO,youcanensuretrucksreceivethemostcomprehensiveassessmentswithreportsthatfaci......
  • Ctrl+Space输入法切换状态解决方法
    WindowsRegistryEditorVersion5.00[HKEY_USERS\.DEFAULT\ControlPanel\InputMethod\HotKeys\00000010]"KeyModifiers"=hex:00,c0,00,00"TargetIME"=hex:00,00,00,00"VirtualKey"=hex:ff,00,00,00[HKEY_USERS\.DEFAULT......
  • 内容理解在广告场景下的实践和探索
    导读: 内容生态建设是近几年互联网快速发展的关键动因,也是AI化的重点方向之一。本文主要分享在京东广告业务下内容理解体系的建设情况,从标签化、内容准入、质量美学评价等多个角度探讨内容理解能力的应用;同时整体介绍智能创意助力广告内容生态建设,从内容理解到内容生成(视频、图片、......
  • 线的平滑(smooth)和简化(simplify/generalize)原理
    在对地理信息数据处理时,常常会遇到对线进行平滑和简化的操作。线的平滑可以使用拟合或插值来完成。多段线(Polyline)简化算法可以帮助我们减少Polyline的点数,从而降低输入规模。对多段线简化算法,通常的做法是在一定的近似精度下,删除一些点或者边。参考:https://zhizhi.pcwanli.com/f......
  • 头部广告结构
    emmet结构:插件?一种板块结构   怪异盒模型 加上display:block; 就可以让整个 都可以被鼠标点击 ......
  • Electron 案例
     Electron简介Electron是干什么的?简单来讲,Electron使用JavaScript,HTML和CSS,来构建跨平台的桌面应用程序。按照官方的说法:如果你可以建一个网站,你就可以建一个桌面应用程序。和传统的桌面应用相比,使用Electron开发更容易上手,开发效率更高。并且,web技术应用广泛、生态......