一、Beta分布

从统计机器学习角度上讲,对于某个事件发生的概率,我们一般会假设其服从某一种先验分布。

举个例子,在棒球里可以把击球当做随机事件,只有击中和没击中两种状态,衡量棒球运动员职业技能的一个指标就是棒球击球率(运动员击中的球数/总击球数),一般认为职业棒球运动员的击球率在0.25-0.3之间,如果击球率能达到0.3以上就可以认为是非常优秀的运动员了。

我们现在希望预测某棒球运动员在新赛季中的击球率。你可以直接以新赛季的击中数/击球数来估计,但这会有一个问题,如果现在是新赛季第一场,他就出场一次就直接出局了,那他的击球率就是0%了?这显然不合理,合理的估计运动员的击球率,需要考虑他的历史信息,如上赛季的击球率,这就是先验信息,而这个先验符合贝塔分布:

其中

是归一化函数,保证曲线下的面积总是1,

是参数,在这里就是棒球击球率。

我们可以查到该运动员上赛季,共击球100次,其中击中20次,没击中80次。这样我们就有了贝塔分布的参数

,如下图蓝色曲线,这就是击球率的贝塔先验。

根据改运动员上赛季的成绩,可以得出其是否能击中的先验概率p=alpha/(alpha+beta)=20/(20+80)=0.2,从上图可以看出他能否击中的概率一般会保持在0.2附近。

那假如该运动员新赛季击球10次,击中3次,那可以认为其击中求的概率为(3+20)/(10+20+80)=0.2091>0.2,而不是3/10=0.3。 有了这样一个先验的参数,计算出的命中率会更加平稳,更符合常理。

二、CTR预估

一般可以用一个简单的公式来计算CTR,CTR=click/view,但是直接这样计算有一个很明显的问题, 主要是对于一些新广告或展示很少的广告,比如一个新广告, 如果展示了2次,点击了1次,我们能否直接认为其CTR为1/2=0.5,而另一个广告,如果其展示了10次,点击了0次,能否直接认为其CTR=0/10=0?这显然不合理, 这个结果会对模型造成很大的误导。

根据前面对Beta分布的介绍,其实CTR任务也可以用Beta分布来估计,那根据前面介绍,对于一个广告,其CTR计算可以用如下公式,CTR=(click+alpha)/(view+alpha+beta),那问题来了,我们如何计算出alpha和beta呢? 下面介绍两种方法:矩估计和 Yahoo! Smooth。

三、矩估计

根据beta分布的公式,其期望值和方差可以用如下公式计算:

计算如下公式,可以得出

其中X¯是样本均值,S^2是样本方差,这两个值可以通过计算一段时间广告的点击率的均值和方差得到,这样alpha和beta就可以直接计算出来了。

四、Yahoo! Smooth

首先做两个假设,认为CTR服从beta分布;对于某一广告,给定展示次数时和它自身的ctr,它的点击次数服从一个伯努利分布。

那对于N个广告,其似然函数可以写成如下形式,

然后计算其梯度:

迭代终止条件一般可以设为迭代该算法1000次或delta_alpha和delta_beta的变化小于1E-10(deta_alpha和deta_beta表示alpha和beta的变化值),这样计算出最后的alpha和beta。

ctr 平滑_CTR平滑方法相关推荐

  1. ctr 平滑_ctr平滑

    在广告系统中,一个重要的指标是CTR.ctr=点击(Click)/曝光(Impression). 如果一个广告只有5次曝光,没有点击,是否表示它的ctr为0? 如果一个广告曝光了4次,却有3次点击,它 ...

  2. ctr 平滑_CTR平滑的原理,包懂!!!附代码

    为什么需要平滑? 某个物品CTR(click-Through-Rate)定义为"物品被点击的概率".CTR是某个物品在其他条件保持不变下自身的属性.但是概率我们不好确定,能确定的是 ...

  3. 几种常用信号平滑去噪的方法(附Matlab代码)

    几种常用信号平滑去噪的方法(附Matlab代码) 1 滑动平均法 1.0 移动平均法的方法原理 1.1 matlab内自带函数实现移动平均法 1.2 利用卷积函数conv()实现移动平均法 1.3 利 ...

  4. R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型

    全文下载链接:http://tecdat.cn/?p=20531 当线性假设无法满足时,可以考虑使用其他方法(点击文末"阅读原文"获取完整代码数据). 相关视频 多项式回归 扩展可 ...

  5. 多值类别特征加入CTR预估模型的方法

    [摘要] 本文用图示的方法梳理和介绍了多值类别特征加入到CTR预估模型的一般方法,通俗易懂. 我们都知道一般单值类别特征加入到CTR预估模型的方法是先对单值类别特征进行one-hot,然后和embed ...

  6. 不为人知的稠密特征加入CTR预估模型的方法

    [摘要] 本文介绍了一种比较新颖的稠密特征加入CTR预估模型的方法并用图示的方法演示了基本稠密特征加入神经网络中过程. 稠密特征一般是相对稀疏特征来说的,我们知道类别特征经过独热编码之后比较稀疏,比如 ...

  7. ctr 平滑_CTR预估中的贝叶斯平滑方法及其代码实现

    我们假设事件的发生并不是相互独立的,相反,在层级结构中相对比较靠近的两个事件的相关性要大于距离较远的两个事件,它们之间拥有很多共通之处.于是,我们便可以利用"相似"事件的信息来丰富 ...

  8. 让字体显得更平滑的CSS方法

    我对字体设计并不在行,对印刷排版也没有研究,但我知道什么字体好看,什么不好看.几年前我就看到过CSS里有一些属性很奇怪,当我设置这些属性或取消这些属性后,字体看起来会变得好看和不那么好看.这就是字体平 ...

  9. 【UE4 AI】AI Move To寻路转向时解决突变、使得平滑过渡的方法(含C++)

    目录 修改效果对比 问题阐述 蓝图解决设置 C++解决设置 修改效果对比 修改前存在突变 修改后存在过渡(参数可调) 问题阐述 通过观察NPC的寻路不管使用 行为树的Move To任务节点 还是 蓝图 ...

最新文章

  1. python web-Java web 和 Python web??
  2. Python 读写当前路径下文件错误 UnboundLocalError: local variable 'file' referenced before assignment
  3. irobot擦地机器人故障_irobot擦地机器人有必要入手吗?
  4. 清华大学计算机系男女,【清华大学男女比例】2016清华大学各院系男女比例
  5. 字节跳动的敌人只有时间
  6. Mobvista首席架构师蔡超:工作感悟之失败与成功,我的8点总结
  7. listview 刷新结束 监听_Flutter 开发从 0 到 1(四)ListView 下拉加载和加载更多
  8. python装饰器 稀里糊涂_谈谈自己的理解:python中闭包,闭包的实质
  9. matlab抛物柱面画图,抛物柱面 - calculus的日志 - 网易博客
  10. 顺丰快递单号查询API开发指南-快递鸟
  11. 通过电脑重置解决小米笔记本巨卡无比的问题
  12. 微信小程序链接wifi
  13. [vue3.x]实战问题--Extraneous non-props attributes
  14. 深入研究simulink建模与仿真之信号线上的几种不同的图标
  15. 2020年3月31日 生活思考 ~ 子贡论时
  16. OpenglES2.0 for Android:来做个地球吧
  17. SOCKS代理的工作原理
  18. 关于jsp网页弹出窗口[很多种方法......]
  19. 你是一名【合格】前端工程师吗
  20. Windows10常用快捷键汇总

热门文章

  1. GVS视声引入睿住资本,完成A轮融资
  2. 【数字孪生】数字孪生模型在产品构型管理中应用探讨;不可忽视的轻量级三维可视化技术...
  3. 一张图看清国内程序员的分布数量
  4. 网络web渗透工程师-教你怎么喝着茶,把甲方爸爸的活干了。
  5. earlier的意思_earlier和before都有之前的意思?有什么区别吗
  6. html实现鼠div的旋转,鼠标悬浮到div上,div进行360°旋转
  7. 假如你想成为一名测试工程师(程序员找茬师)
  8. 婆媳矛盾引发小夫妻动手 女子抄尖刀刺死丈夫
  9. Java修仙道路_JAVA修仙??
  10. 【i学堂】PPT美化