最近在看《计算广告》,也在看相关的视频课程,所以做一个总结
广告的基本知识
广告的目的
- 品牌广告
Brand Aeareness
创造品牌形象,提升“离线转化率”
- 效果广告
Direct Response
短期内明确用户转化诉求的广告。
(购买,注册,投票,捐款)
广告的有效性模型
选择(曝光1、关注2) -> 解释 (理解3、信息接受4)-> 态度(保持5、购买6)
1广告位、2用户是否关注、3用户是否理解广告、4广告认可度、5艺术性带来的记忆效果、6价格
广告与营销的区别
广告 -> 挖掘潜在用户
销售 -> 针对目标人群
在线广告的特点
技术和计算导向
可衡量性
转化率
标准化
“媒体”概念的差异化
计算广告核心问题和挑战
广告中的计算问题
Find the best match between a given user u, in a given context c, and a suitable ad a.
max a1…T ∑T,i=1 ROI(ai, ui, ci)
ROI(投资回报)
从优化角度看
-特征提取:受众定向
-微观优化:CTR预测
-宏观优化:竞价市场机制
-受限优化:在线分配
-强化学习:探索与利用
-个性化重定向:推荐技术
从系统角度看
-候选查询:实时索引
-特征存储:No-sql技术
-离线学习:Hadoop
-在线学习:流计算
-交易市场:实时竞价
在线广告计算的主要挑战
大规模(Scale)
动态性(Dynamics)
丰富的查询信息(Rich query)
探索与发现(Explore exploit)
广告、搜索与推荐的比较
投资回报(ROI)分析
ROI的分解
在线广告系统的ROI
-投入Investment = #X CPX
-回报Return = ∑T,i=1 u(ai, ui, ci) -> 点击率(CTR) v(ai, ui) -> 点击价值 = ∑T,i=1 e(ai, ui, ci) -> eCPM(预期每次展示带来的价值)
不同的分解对应不同的市场形态
-CPM市场:固定eCPM
-CPC市场:动态CTR,固定click value
-CPA/CPS/ROI市场:动态CTR与click value
在线广告系统
受众定向平台 + 高并发投送系统 + 数据高速公路 + 流式计算平台
合约广告系统
常用广告系统开源工具
- 跨语言服务搭建工具 - Thrift
Avro、ProtoBuf
合约广告系统
直接媒体购买
担保式投送与广告投放
-点击预测
-流量预测
-受众定向
在线分配问题
Online Allocation
受限优化问题
- Display ad prblem
优化每一个收获到的点击量(CPM)
max ∑i,a Uia * Xia
s.t. ∑i Xia <= Ca
∑a Xia <= 1
- Adwords problem
把具体某一个inprison产生的点击量
max ∑i,a Bia Xia
s.t. ∑i Bia Xia <= Ba (Va)
其他问题
Maximally Representative allocation
拉格朗日方法
1.原问题 min f(x)
s.t. g(x) <= 0, h(x) = 0
2.拉格朗日 L(x, j, v) = f(x) + jg(x) + vh(x)
3.对偶函数 g(j, v) = infx∈D L(x, j, v)
4.对偶问题 max j, v g(j, v)
s.t. j >= 0
在线随机分配算法
Ba更新策略
流量预测指导下的GD在线分配
Hadoop
Hadoop核心功能
-可靠性,高效率的分布式文件系统
一个海量数据处理的编程框架
Hadoop目标
-可扩展性
-经济性
-可靠性
HDFS架构
Map/Reduce
用调度计算代替调度数据
类似于Unix pipe
-Pipe: cat input | grep | sort | uniq -c > output
-M/R: Input | map | shuffle &
sort | reduce | output
- 多样的编程接口
-Java native map/reduce
-Streaming (模拟pipeline)
-Pig 只关注数据逻辑,无须考虑M/R实现
Input -> map (combine) -> shuffle
&
sort (partition) -> reduce -> Output
- 例子:生成大量文本上的字典
- map: awk ‘{for(i=1; i<=NF; i++) {print $i}}’
-reduce: uniq
常用统计模型
- 指数族分布
- Canonical form: p(x|θ) = h(x)g(θ)exp{θ^T * u(x)}
- 举例:高斯(正态)分布、最大商模型
- 最大似然(ML)估计可以通过充分统计量连接到数据
- ▽ln g(θ) = < u(x)>
- 指数族混合分布
- 举例:多个高斯
- ML估计可以通过EM算法迭代得到,每个迭代中,我们使用上一个迭代的统计量更新模型
Hadoop上的工作流引擎 - Oozie
连接多个M/R Job,完成复杂的数据处理
处理各个Job以及数据之间的依赖关系
使用hPDL(一种XML流程语言)来定义DAG工作流