精华内容
下载资源
问答
  • 贝叶斯平滑

    千次阅读 2017-11-26 15:56:27
     上述的两种方法:(1)数据层级结构的贝叶斯平滑,(2)时间窗口的指数平滑,可以结合使用。   4. 数据层级结构的贝叶斯平滑方法具体介绍 这里我们规定将page-ad pair的信息在层级结构上上升到publisher...
    
    

    1. 背景介绍

    广告形式:
    互联网广告可以分为以下三种:
    1)展示广告(display ad)
    2)搜索广告(sponsored search ad)
    3)上下文广告(contextual ad)
     
    竞价模式:
    对于在线广告,主要有以下几种竞价模式:
    1)pay-per-impression(按展示付费):广告商按照广告被展示的次数付费,这是一种最普遍的竞价模型。缺点在于没有考虑投放广告的效果。
    2)pay-per-action(按行为付费):只有在广告产生了销售或者类似的一些转化时,广告商才付费。缺点在于追踪用户的交易行为相对比较困难。
    3)pay-per-click(按用户点击付费):根据用户是否会点击广告来付费。这时候就需要对广告的点击率(CTR)进行精确的预估。
     
    遇到的困难:
    由于数据的稀疏性,对广告进行CTR预估是比较具有挑战性的,预估出来的CTR的可靠性不高,且具有较大的方差。主要有以下两类场景:
    1)当广告的展示次数较少的时候,对其直接进行CTR的统计计算会导致一个偏高的结果。比如某个广告只展示了1次,被点击了1次,则纯粹的统计CTR=1.0,这显然是过分高估了。
    2)当广告的展示次数很大,但点击次数很少或几乎没有的时候,对其直接进行CTR的统计计算会导致一个偏低的结果。比如某个广告没有被点击过,则纯粹的统计CTR=0.0,这显然是过分低估了。
     

    2. 数据的层级结构

    在许多场景下,数据是很自然地存在层级结构,或者可以通过数据的聚类的方式得到层级结构的。如下图所示,是雅虎网站的网页层级结构示意图:

    我们假设事件的发生并不是相互独立的,相反,在层级结构中相对比较靠近的两个事件的相关性要大于距离较远的两个事件,它们之间拥有很多共通之处。于是,我们便可以利用“相似”事件的信息来丰富某个我们感兴趣的事件(这个事件本事的发生的次数比较少)。具体到我们现有的场景下,可以利用与我们需要预估的事件(比如query-ad pair,或者page-ad pair)的“相似”事件的信息来帮助我们来做出预估计算。

    假设有相同account下的N个ad,以及所在的page,我们感兴趣的是page-ad pair的CTR,于是我们可以利用贝叶斯的方法来结合(1)这个ad本身的信息,以及(2)该page下与这个ad来自相同account的其它ad的信息。我们观测到的点击信息为,这些点击信息源自各个ad的隐含CTR信息,点击信息服从二项分布。而隐含的每个ad的CTR,可以看做是来自于它们相同的account的公有信息,其服从贝塔分布。于是乎,每个ad的隐含CTR值,不仅与观测到的展示点击数据有关,还与其所属的account的整体信息有关,即与这对超参数有关。我们可以利用二项分布和贝塔分布的共轭特性,计算所有ad所属的相同account的似然函数,然后利用最大似然估计(MLE)来计算超参数。当有了的估计值后,我们便可以得到每个ad的后验估计:。这个后验估计值可以作为一个平滑后的CTR值,它要比单纯地统计CTR拥有更小的方差,更加稳定。

     

    3. 数据的连续性

    在很多场景下,我们更关心CTR的趋势,而不是一个特定时间点的CTR值。因为对于展示量较少的page-ad pair,某个特定时间点的CTR预估值是包含很大噪声的。我们将展现和点击看做是离散集合的重复观测值,然后使用指数平滑技术进行CTR平滑。

    假设对于page-ad pair,我们有M天的展现和点击,然后我们希望预估出第M天的CTR。我们将平滑后的展现和点击记为,它们可由下面公式得到(这里只给出了点击的公式计算,展现也同理):

    其中,是平滑系数,它控制着我们把历史信息纳入我们平滑的计算中的权重大小。

     

     上述的两种方法:(1)数据层级结构的贝叶斯平滑,(2)时间窗口的指数平滑,可以结合使用。

     

    4. 数据层级结构的贝叶斯平滑方法具体介绍

    这里我们规定将page-ad pair的信息在层级结构上上升到publisher-account pair的信息(不同page隶属于相同的publisher,不同的ad隶属于相同的account)。

    有两个假设:

    (1)对于publisher-account pair,有1个隐含的CTR概率分布,而每个page-ad pair的CTR可以看作是从这个整体的CTR分布中随机采样出来的。

    (2)对于page-ad pair,我们观测到其对应的展现信息和点击信息。

    其对应的概率图模型如下,灰色部分是观测变量,白色部分是隐含变量:

    对于该publisher-account下的所有page-ad pair的点击计算出似然函数:

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

     

    通过fixed-point iteration方法,我们可以得到α和β在每一轮迭代中的更新公式:

    迭代的终止条件为一个固定的迭代次数(如1000次),或者α和β在一次迭代中的变化值都小于一个epsilon(如1E-10)。一旦有了的估计值后,我们便可以得到每个ad的后验估计:

     

    5. 贝叶斯参数估计

    这里简单介绍一下为什么有了的估计值后,便可以得到后验估计:

    我们知道贝叶斯参数估计的基本过程是:先验分布 + 似然函数 = 后验分布

    由于我们假定了先验分布是Beta分布,而似然函数是二项分布,由Beta-Binomial共轭,我们可以得到,后验分布也是Beta分布,如下:

    Beta(p|a,b) + BinomCount(m1,m2) = Beta(p|a+m1,b+m2)

    这种共轭形式的好处是,我们能够在先验分布中赋予参数很明显的物理意义,这个物理意义可以延续到后验分布中进行解释,同时从先验分布变换到后验分布过程中从数据中补充的知识也容易有物理解释。

    在我们这里,先验分布是服从Beta(α,β)分布的,而通过似然函数BinomCount(C,I-C)后,后验分布变为Beta(α+C,β+I-C)。

    对这个后验分布,我们有两种参数估计方法:

    1)MAP估计:直接看后验分布Beta(α+C,β+I-C)取值最大时候的参数,这时候为:(α+C-1) / (α+β+I-2)。

    2)贝叶斯估计:对服从后验分布Beta(α+C,β+I-C)的变量求数学期望,这时候为:(α+C) / (α+β+I)。

    数学期望的计算过程如下所示:


    转载自:https://www.cnblogs.com/bentuwuying/p/6389222.html

    展开全文
  • 广告点击率的贝叶斯平滑

    万次阅读 热门讨论 2014-02-11 21:27:50
    广告点击率的贝叶斯平滑 一.点击率的贝叶斯平滑 预估互联网广告的点击率一个重要的技术手段是logistic regression模型,这个模型非常依赖特征的设计。每个广告的反馈ctr作为特征能极大地提升预估的准确性,所以...

    广告点击率的贝叶斯平滑

    声明:

    1)该博文是Yahoo专家所无私奉献的论文资料整理的。具体引用的资料请看参考文献。具体的版本声明也参考原文献

    2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应,更有些部分本来就是直接从其他博客复制过来的。如果某部分不小心侵犯了大家的利益,还望海涵,并联系老衲删除或修改,直到相关人士满意为止。

    3)本人才疏学浅,整理总结的时候难免出错,还望各位前辈不吝指正,谢谢。

    4)阅读本文需要机器学习、统计学习理论等等基础(如果没有也没关系了,没有就看看,当做跟同学们吹牛的本钱)。

    5)本人手上有word版的和pdf版的,有必要的话可以上传到csdn供各位下载

     

    一.点击率的贝叶斯平滑

    预估互联网广告的点击率一个重要的技术手段是logistic regression模型,这个模型非常依赖特征的设计。每个广告的反馈ctr作为特征能极大地提升预估的准确性,所以每个广告的反馈ctr非常重要。
    目前用得比较多的获取反馈ctr的方式是直接计算每个广告的历史ctr,这样的问题就是当该广告投放量比较少的时候(如新广告),历史ctr与实际ctr相差很大。如一个广告投放了100次,有2次点击,那么ctr就是2%,但是当这个广告投放量到了1000次的时候,点击只有10次,点击率是1%,这里就相差了一倍了。产生这种问题的的原因是投放量太少,数据有偏,所以如果每个广告在开始投放前就有了默认的一个展示数和点击数,即分子分母都加上一个比较大的常数,这样计算起ctr来就不会有那么大的偏差。这种方法叫做ctr平滑,通用的方法是在展示数和点击上面各自加一个常数,缓解低投放量带来的不准确性,使其接近其实际的CTR。

     

    1.1点击率的贝叶斯平滑技术

    1.1.1理论基础

    考虑到经验贝叶斯方法的层次性质,做了两个假设。
    假设一,所有的广告有一个自身的ctr,这些ctr服从一个Beta分布。
    假设二,对于某一广告,给定展示次数时和它自身的ctr,它的点击次数服从一个伯努利分布 Binomial(I, ctr)。
    如果用r表示点击率,I表示展示,C表示点击。这两个假设可以用下面的数学表示。

    假设有N个广告,这N个广告个似然函数可以写成下面的形式

    由上面的式子可以得到对数似然函数的梯度

    其中的是digamma函数,可以查表得到。
    优化求解的迭代式如下

    停机条件是达到1000次迭代或者α和β“的变化”都小于1E-10。
    当α和β的值都求出来以后(用alpha和beta表示),由ctr的先验分布,可以修正每个广告的ctr,也就是观测到的click/view,这个后验值可以用的公式r=(C + alpha) / (I + alpha + beta)计算。


    1.1.2效果
    当I较大时,观测到的ctr比较接近真实ctr,这时先验分布的修正对ctr值影响不大(I一般在几百万,alpha一般是几十,beta一般是几万);当I较小时,alpha和beta在式子中起的作用较大,对ctr有一个明显的修正。
    经过贝叶斯平滑的反馈特征上线后,总体ctr有了很大的提升,提升幅度超过50%。


    致谢

    Yahoo的研究员。

    参考文献

    [1] 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

     

     

     

    展开全文
  • 贝叶斯平滑及其精确解贝叶斯平滑方程贝叶斯最优平滑方程Rauch-Tung-Striebel 平滑器RTS平滑器 平滑与滤波的区别在于:滤波只是用当前以及之前的量测量去估计当前状态(也可能是未来)的估计值。而贝叶斯平滑在进行...


    平滑与滤波的区别在于:滤波只是用当前以及之前的量测量去估计当前状态(也可能是未来)的估计值。而贝叶斯平滑在进行估计时还用到了当前时刻之后的量测量。使得估计更加的准确。

    贝叶斯平滑方程

    贝叶斯平滑的目的在于获得截止到T\bm{T}时刻的量测量后,计算k\bm{k}时刻状态xk\bm{x_k}的边缘后验分布,如下:(其中 k<T\bm{k<T})。
    p(xky1:T) \bm{p(x_k|y_{1:T})}

    贝叶斯最优平滑方程

    对于任意的 k<T\bm{k<T},计算平滑公式 p(xky1:T)\bm{p(x_k|y_{1:T})} 的后向递归公式(贝叶斯平滑器)可由贝叶斯(固定区间)平滑公式给出:
    在这里插入图片描述其中,p(xky1:k)\bm{p(x_k|y_{1:k})} 是k时刻的滤波分布。p(xk+1y1:k)\bm{p(x_{k+1}|y_{1:k})}k+1\bm{k+1} 时刻的预测部分。若是状态中有一部分是离散的,则用求和代替积分。

    Rauch-Tung-Striebel 平滑器

    RTS平滑器也称为卡尔曼平滑器,可用来计算线性高斯滤波模型的平滑闭型解。
    线性高斯模型如下:
    xk=Ak1xk1+qk1yk=Hkxk+rk \bm{x_k = A_{k-1}x_{k-1}+q_{k-1}} \\ \bm{y_k = H_kx_k+r_k} 其闭型解如下:
    p(xky1:T)=N(xkmks,Pks) \bm{p(x_k|y_{1:T})= N(x_k|m_k^s,P_k^s)} 这与卡尔曼滤波的区别在于,平滑值是利用了全部量测量 y1:T\bm{y_{1:T}} 的估计结果,而滤波值只是利用了k\bm{k} 时刻及其之前所获得的量测量 y1:k\bm{y_{1:k}}

    RTS平滑器

    (固定区间)RTS平滑器的后向递归方程为:
    在这里插入图片描述其中,mk,Pk\bm{m_k, P_k} 是卡尔曼滤波得到的均值和协方差。递归解算从最后一个时刻 T\bm{T} 开始,即 mTs=mTPTs=PT\bm{m_T^s=m_T,P_T^s=P_T}。(前两个方程与卡尔曼滤波器的预测方程一致)

    展开全文
  • 贝叶斯平滑的理解

    2019-07-27 16:26:02
    贝叶斯平滑的理解 假设现在要对每个广告求历史ctr(求贝叶斯平滑后的值)。 贝叶斯平滑就是对广告的CTR进行贝叶斯估计(最小化损失函数在后验分布上的期望)。 N个广告,其点击信息和曝光信息分别是(C1,C2,...,Ci,...

    对贝叶斯平滑的理解

    假设现在要对每个广告求历史ctr(求贝叶斯平滑后的值)。

    贝叶斯平滑就是对广告的CTR进行贝叶斯估计(最小化损失函数在后验分布上的期望)。

    • N个广告,其点击信息和曝光信息分别是(C1,C2,...,Ci,...,CN),(I1,I2,...,Ii,...,IN)(C_1, C_2, ..., C_i, ..., C_N), (I_1, I_2, ..., I_i, ..., I_N)

    • 每个广告都有一个隐含的CTR值(r1,r2,...,ri,...,rN)(r_1, r_2, ..., r_i, ..., r_N)。这些隐含的CTR值服从Beta(α,β)Beta(\alpha, \beta)【先验】

    • 每个广告的点击信息都是服从二项分布Binomial(Ii,ri)Binomial(I_i, r_i)【似然】

    • 二项分布和Beta分布是共轭的,所以广告CTR的后验分布也是Beta分布,记为Beta(α,β)Beta(\alpha^{&#x27;}, \beta^{&#x27;})

    • 当使用平方损失函数L(ri^,ri)=(ri^ri)2L(\hat{r_i}, r_i) = (\hat{r_i} - r_i)^2时,贝叶斯估计值就是后验分布的期望值。所以可以求出第ii个广告的ctr的贝叶斯估计值为ri^=Ci+αIi+α+β\hat{r_i} = \frac{C_i + \alpha}{I_i + \alpha + \beta}。这就是贝叶斯平滑后的值。

    • 也就是说,将先验分布中的参数α,β\alpha, \beta求出来,就得到了贝叶斯平滑中的平滑因子。

    • 可以使用矩估计法来求参数αβ\alpha、\beta

      • Beta分布的期望:E(X)=αα+βE(X)=\frac{\alpha}{\alpha+\beta};用样本均值X\overline{X}来代替期望

      • Beta分布的方差:D(X)=αβ(α+β)2+(α+β+1)D(X)=\frac{\alpha \beta}{(\alpha+\beta)^{2}+(\alpha+\beta+1)};用样本方差S2S^2来近似代替方差

      • 可以求得:α=X(X(1X)S21)\alpha=\overline{X}\left(\frac{\overline{X}(1-\overline{X})}{S^{2}}-1\right)

        β=(1X)(X(1X)S21)\beta=(1-\overline{X})\left(\frac{\overline{X}(1-\overline{X})}{S^{2}}-1\right)

    展开全文
  • 参考:CTR预估中的贝叶斯平滑方法(一)原理及实验介绍、贝叶斯平滑 文章目录竞价模式:遇到的困难:假设数据的连续性数据层级结构的贝叶斯平滑方法代码实现贝叶斯平滑方法参数估计和代码实现 竞价模式: 对于在线...
  • 点击率预测的贝叶斯平滑

    万次阅读 多人点赞 2017-10-24 20:42:39
    本文介绍如何通过历史数据来计算有统计意义的 aaa和 bbb,即贝叶斯平滑贝叶斯平滑 贝叶斯平滑的思想是给CTR预设一个经验初始值,再通过当前的点击量和曝光量来修正这个初始值。如果某商品的点击量和曝光量都是0,...
  • 这篇博客主要是介绍如何对贝叶斯平滑的参数进行估计,以及具体的代码实现。 首先,我们回顾一下前文中介绍的似然函数,也就是我们需要进行最大化的目标函数: 下面我们就基于这个目标函数介绍怎样估计参数。 ...
  • 1. 前言这篇博客主要是介绍如何对贝叶斯平滑的参数进行估计,以及具体的代码实现。首先,我们回顾一下前文中介绍的似然函数,也就是我们需要进行最大化的目标函数:下面我们就基于这个目标函数介绍怎样估计参数。2. ...
  • 这篇博客主要是介绍如何对贝叶斯平滑的参数进行估计,以及具体的代码实现。首先,我们回顾一下前文中介绍的似然函数,也就是我们需要进行最大化的目标函数:下面我们就基于这个目标函数介绍怎样估计参数。 2. 参数...
  • 【转载】广告点击率的贝叶斯平滑

    千次阅读 2016-03-05 21:23:32
    点击率的贝叶斯平滑 预估互联网广告的点击率一个重要的技术手段是logistic regression模型,这个模型非常依赖特征的设计。每个广告的反馈ctr作为特征能极大地提升预估的准确性,所以每个广告的反馈ctr非常重要。 ...
  • 贝叶斯平滑ctr计算

    2019-08-19 16:45:46
    更新Beta分布里的alpha和beta参数 Beta(a,b)=θa−1(1−θ)b−1B(a,b),B函数是一个标准化函数\displaystyle Beta(a,b)=\frac{\theta^{a-1}(1-\theta)^{b-1}}{B... 给ctr计算做平滑 np.random.seed(0) class HyperParam
  • 这篇博客主要是介绍如何对贝叶斯平滑的参数进行估计,以及具体的代码实现。 首先,我们回顾一下前文中介绍的似然函数,也就是我们需要进行最大化的目标函数: 下面我们就基于这个目标函数介绍怎样估计参数。   2. ...
  • CTR的贝叶斯平滑

    2018-08-17 18:13:00
    2、贝叶斯参数估计 https://blog.csdn.net/jinping_shi/article/details/53444100 3、CTR平滑 介绍 https://blog.csdn.net/jinping_shi/article/details/78334362 4、工程实现的方法:...
  • # -*- coding: utf-8 -*- import numpy as np def bayesian_smoothing(c, i): r = 1.0*c/i # print r m = np.mean(r) v = np.var(r) a = (m*(1-m)/v-1)*m b = (m*(1-m)/...
  • 两个分布:1.所有广告的ctr服从beta分布 2.对于某一个广告,给定展示数和自身ctr的条件下,点击次数点击服从伯努利分布通过极大似然估计,对beta分布中的参数进行梯度上升法求解,得到这两个参数参考:...
  • 在广告平滑上,没有什么方法比贝叶斯平滑能够更好的利用先验知识了,而帮助贝叶斯平滑方法实现目标的就是 分布。 分布的强大之处在于,通过改变其中的两个参数 和 ,你可以让 分布的图形变成任意形状,而且在加入...
  • 在互联网时代,广告作为互联网公司盈利的一种重要手段或方法,而广告又分为很多种(这部分的知识可以课后脑补一下),今天主要讲下在计算广告当中,竞价广告涉及到的ctr预估遇到的平滑问题。这里先解释一下竞价广告...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 467
精华内容 186
关键字:

贝叶斯平滑