当前位置: 首页 > 编程日记 > 正文

[转化率预估-1]引言

原文:hhttp://www.flickering.cn/ads/2014/06/%E8%BD%AC%E5%8C%96%E7%8E%87%E9%A2%84%E4%BC%B0%E2%80%94%E2%80%94%E5%BC%95%E8%A8%80/

最近几年,“计算广告学”的概念风生水起,让我们这些从事在线广告匹配技术的程序猿着实荣耀了一把。这在参加校园招聘时最有所体会,前几年学生经常问面试官的问题是“你们做网页搜索吗?”,这些年学生更经常问“你们做广告吗,你们做大数据挖掘吗?”。每当这个时候,我的心中就会油然而生满满的幸福感,还要装着没什么的样子回答“当然了”。

不过,这里我们不会聊“计算广告学”,因为这个概念已经被很多前辈讲的系统且详尽,如最早提出“Computational Advertising”的Andrei Broder和前Yahoo!高级科学家刘鹏。这里我们只会聊“计算广告学”中的一个子集——转化率预估(Conversion Modeling),我们选择它不是因为它简单而是因为它很难,这样才会聊的津津有味。

要理解转化率预估,先得理解互联网广告的商业模式,业内常见的商业模式有四种(图1):1) CPM,按展现付费;2)CPC,按点击付费;3)CPA,按转化付费;4)CPS,按销售分成。容易理解,广告主最欢迎CPA模式,因为这种模式的广告投放效率最高,广告主不必为无效的展现和点击买单。然而,业内做CPA的广告网络(Ad Network)并不多,主要原因是转化数据难以收集,腾讯的广告系统广点通有天然的优势:植根于电商平台和开放平台,我们可以获取到电商类广告和应用类广告的转化数据。以数据为基础,再结合大规模机器学习算法,我们就可以实现广告转化率的实时预估——这对于CPA模式的广告匹配是很重要的,因为它是广告排序和计费的基础。如图2所示,广告平台会按期望收益对广告进行排序,而广告的期望收益等于广告主出价(Bid)和广告预估转化率(pConversion,广告展现时发生转化行为的概率)的乘积:

图1

图1

图2

图2

也许读者要说了,计算pConversion很容易啊——统计每个广告的展现次数Impressions和转化次数Conversions,并令pConversion=ConversionsImpressions不就可以了?这种方法是把pConversion当做服从二项分布的变量,通过ConversionsImpressions计算pConversion的点估计。乍一看这种方法没什么问题,但仔细想想问题还真不少:

1)  不是每个广告都有展现的,比如对于新广告Impressions = 0;

2)  即便广告有展现,但当ImpressionsConversions不充分时,点估计就会有问题,比如Conversions = 1,Impressions = 1,我们显然不能轻易得到结论pConversion = 1。这就好比我们通过抽样去得到计算产品的废品率,不能因为只抽取了一个产品是废品,我们就说这批次产品的废品率是100%。从统计学上去理解,虽然ConversionsImpressionspConversion的无偏估计,但当ImpressionsConversions不充分时,点估计的置信区间会很大,此时用ConversionsImpressions作为pConversion的估计值就有问题;

3)  引入一些平滑(Smoothing)技术能否解决2)中的问题呢?答案是肯定的,不过要知道,影响广告转化的因素很多,只考虑广告的展现和转化次数,而忽略其他特征的做法会影响预估的准确率。比如一个卖女装的广告,展现给男性和女性时的转化率是不同的,不能一概用ConversionsImpressions去做估计。

此时,就要祭出我们的法宝——大规模机器学习技术了。接下来的几章,我们会介绍:

第二章     逻辑回归技术

第三章     并行逻辑回归技术

第四章     特征选择

第五章     在线学习技术

第六章     深度学习

转载于:https://www.cnblogs.com/zhizhan/p/5007500.html

相关文章:

reportNG定制化之失败截图及日志

先从github上拉下 reportNg的源代码 reportng 拉下源码后我们使用IDEA进行导入 1、reportng.properties 增加部分类表项 这里我们直接在末尾添加 logLog Info screenshotScreen Shot durationDuration2、results.html.vm 修改结果的html,我们目前只修改fail的情况下…

基于 OpenCV 的手掌检测和手指计数

作者 | 努比 来源 | 小白学视觉 利用余弦定理使用OpenCV-Python实现手指计数与手掌检测。 手检测和手指计数 接下来让我们一起探索以下这个功能是如何实现的。 OpenCV OpenCV(开源计算机视觉库)是一个开源计算机视觉和机器学习软件库。OpenCV的构建旨在为…

side menu待研究

2019独角兽企业重金招聘Python工程师标准>>> http://fontawesome.bootstrapcheatsheets.com/ http://www.queness.com/post/14666/recreate-google-nexus-menu http://www.jqueryscript.net/demo/Sliding-Side-Menu-Panel-with-jQuery-Bootstrap-BootSideMenu/ &a…

Gitlab Issue Tracker and Wiki(一)

本节内容:创建第一个问题创建第一个合并请求接受合并请求工作里程碑在提交中引用问题创建维基百科页使用Gollum管理维基百科一. 创建问题1. 登陆Gitlab服务器2. 切换到想要创建问题的项目3. 点击Issues.4. 点击【New issue】5. 根据情况进行填写。二. 创建合并请求1…

runtime实践之Method Swizzling

利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题。这一篇,我们来探索一些利用 Objective-C Runtime 的黑色技巧。这些技巧中最具争议的或许就是 Method Swizzling 。 介绍一个技巧&#xff0…

网络协议关系拓扑图 很全面 很好

NETWORK ASSOCIATES GUIDE TO COMMUNICATIONS PROTOCOLS 网络协议关系拓扑图 很全面 很好 值得收藏!

一行代码搞定 Python 逐行内存消耗分析

作者 | 费弗里来源 | Python大数据分析我们即将学习的是:一行代码分析Python代码行级别内存消耗。很多情况下,我们需要对已经写好的Python程序的内存消耗进行优化,但是一段代码在运行过程中的内存消耗是动态变化的,这种时候就可以…

崛起于Springboot2.X之Mybatis-全注解方式操作Mysql(4)

为什么80%的码农都做不了架构师?>>> 1、使用注解方式对mysql增删改查,它很方便,不像一些逆向工程工具一样生成的都是乱七八糟,虽然很全的方法,完全手写sql 基于上一篇博客,我们只需要新建一个目录dao层&am…

hdu 1247

Problem DescriptionA hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.You are to find all the hat’s words in a dictionary.InputStandard input consists of a number of lowercase words, one per li…

php执行URL解析

方法一: $url"http://www.baidu.com";file_get_contents($url);方法二: // CURL 方法$url"http://www.baidu.com";$ch curl_init( );curl_setopt( $ch,CURLOPT_URL,$url );curl_setopt( $ch,CURLOPT_HEADER,0 );curl_setopt( $ch,…

Python 来分析,堪比“唐探系列”!B站9.5分好评如潮!

作者 | 菜鸟哥来源 | 菜鸟学PythonHello 小伙伴们,最近一部非常不错的悬疑侦探喜剧 电影,登上B站热榜!菜鸟哥看完之后,大呼过瘾,简直就是一本非常棒的"剧本杀"!演员都是实力派,演技超…

10进制转换为二十六进制字符串A-Z

def convert10to26(num): ...: 10进制转为26进制字母 A-Z, 输入参数10进制数num, 返回26位的字母A-Z 参数type: num: int return: str ...: ...: digit_list [] # 列表当栈使用,存储每次求余的结果 ...: while num !0: ...: digit_list.append(num%26)…

从hello world 说程序运行机制

http://www.cnblogs.com/yanlingyin/archive/2012/03/05/2379199.html 开篇 学习任何一门编程语言,都会从hello world 开始。对于一门从未接触过的语言,在短时间内我们都能用这种语言写出它的hello world。然而,对于hello world 这个简单程序…

爱耳日腾讯天籁行动再升级 助力100位青年听障人才打破“屏障”

公益是解决社会问题的重要切入口,科技是提升效率的强有力工具。当产业技术走入公益场景,科技也在发挥更大的社会价值。 《中国听力健康报告(2021)》显示,过度的噪音曝露,正让全球11亿年轻人面临听力受损的风…

IOS推送详解

为什么80%的码农都做不了架构师?>>> IOS推送详解 一.关于推送通知 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能。是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务…

redis(4)

redis-cli -p 6380redis-cli -p 6379 info server | grep run_idpsync ? -1

PHP也玩并发,巧用curl 并发减少后端访问时间

说明:本人源自3篇博文 http://blog.csdn.net/zuiaituantuan/article/details/7048782首先,先了解下 php中的curl多线程函数:# curl_multi_add_handle# curl_multi_close# curl_multi_exec# curl_multi_getcontent# curl_multi_info_read# cur…

ADSL自动更换IP地址源代码

有些网站限制IP地址,什么一个IP地址只能一次之类的。特别是投票网址,为了防止刷票,限制1个IP只允许投票一次! 此程序采用Vs2010C#开发,提供全部源代码!方便程序猿朋友二次开发! 可以后台运行&am…

安全隐患:神经网络可以隐藏恶意软件

编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 凭借数百万和数十亿的数值参数,深度学习模型可以做到很多的事情,例如,检测照片中的对象、识别语音、生成文本以及隐藏恶意软件。加州大学圣地亚哥分校和伊利诺伊大学…

实现一个完美符合Promise/A+规范的Promise

原文在我的博客中:原文地址 如果文章对您有帮助,您的star是对我最好的鼓励~ 简要介绍:Promise允许我们通过链式调用的方式来解决“回调地狱”的问题,特别是在异步过程中,通过Promise可以保证代码的整洁性和…

用递归法计算斐波那契数列的第n项

斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F00,F11,FnF(n-1)F(n-2)&a…

ArrayList的内存泄露

2019独角兽企业重金招聘Python工程师标准>>> 大家先运行下下面这段代码,看看结果 public class MemoryLeak {public static void main(String[] args) throws InterruptedException {new Thread(new Runnable() {Overridepublic void run() {for (int i …

给 Python 初学者推荐的 IDE 哦!

作者 | 黄伟呢来源 | 数据分析与统计学之美总有一些Python初学者,会问到:学习Python,应该用什么Python IDE?了解到他们使用Python做什么之后,我总结了这篇文章。IDE是集成开发环境的缩写,通俗地说&#xff…

django 2.0路由配置变化

urlpatterns变量​​的语法 urlpatterns应该是path()和/或re_path()实例的Python列表。 首先,Django会使用根路由解析模块(root URLconf)来解析路由。 通常,这是ROOT_URLCONF设置的值,但是如果传入的HttpRequest对象具有urlconf属性&#xff…

用ext_skel,实现一个PHP扩展,添加到PHP并调用

http://www.shinrun.com/PHP 一、开始之前 1. 系统环境:FreeBSD 8.22. AP环境:即已经装好的Apache2.2.17、PHP5.3.8环境3. PHP源码:下载稳定版本源码到当前用户的目录,如,下载PHP 5.3.8到/usr/home/abc下。4. 其它要求…

关于第三方IOS的checkBox框架的使用

关于第三方IOS的checkBox框架的使用 这个框架是从github上下载获取的:M13Checkbox。 只是github的源码项目工程比较久远,所以我把代码部分拷贝到XCode 7.1.0新建的项目里。 下面是展示效果 客户端源码使用参考: 1 #import "ViewControll…

20 个 Pandas 数据实战案例,干货多多

作者 | 俊欣来源 | 关于数据分析与可视化今天我们讲一下pandas当中的数据过滤内容,小编之前也写过也一篇相类似的文章,但是是基于文本数据的过滤,大家有兴趣也可以去查阅一下。下面小编会给出大概20个案例来详细说明数据过滤的方法&#xff0…

Python创建和访问字典

>>> dict1 {a:1,b:2,c:3,d:4}>>> print(a的值是:,dict1[a])a的值是: 1>>> dict4 dict(我 快乐, 你 伤悲)SyntaxError: keyword cant be an expression>>> dict4[你] 改变悲伤>>> dict4{我: 快乐, 你: 改变悲伤}>>>…

C语言九阴真经

发现记忆力越来越差,所以干脆搞这么一个东西,就是把C语言的最常用的语法汇编在一起,不断完善。这样以后只要经常把这个回顾一下就可以了。不然去翻书太多了。。。f.h#define Area 1000 struct student{char *last_name;int student_id;char …

听障人士的“有声桥梁”:百度智能云曦灵-AI手语平台发布

在刚刚落幕的冰雪赛事中,百度智能云曦灵为央视新闻打造的AI手语主播正式上岗,她以流畅、专业的手语服务实时传递冰雪运动的激情。然而在日常生活中,听障人士想要方便地获取信息仍面临着众多困难,无障碍窗口稀缺的问题亟待解决。 …