广告预测与算法工程
这份路线以广告点击率预测为第一个可验证的项目,从曝光和点击日志构建样本,训练逻辑回归基线,再逐步加入特征工程、转化率预测和在线推理。先阅读 程序化广告架构,可以了解预测结果在排序和出价环节的用途。
数据与模型链路
广告请求日志
↓
Kafka
↓
┌──────────┴──────────┐
↓ ↓
Flink Hive
↓ ↓
实时特征 Spark / SQL
↓ ↓
Redis/特征库 离线训练集
↓ ↓
│ LightGBM/DeepFM
│ ↓
│ 模型
└──────────┬──────────┘
↓
在线预测
↓
pCTR / pCVR
↓
广告排序/出价分阶段实践
| 月份 | 主线 | 最终产出 |
|---|---|---|
| 第1月 | Python + 数据分析 + CTR数据集 | LR CTR baseline |
| 第2月 | LightGBM + 特征工程 | 可用的 CTR 1.0 |
| 第3月 | Kafka + Flink | 广告实时指标链路 |
| 第4月 | Hive/Spark + 离线特征 | 广告训练数据流水线 |
| 第5月 | CTR/CVR深度优化 | CTR/CVR 2.0 |
| 第6月 | PyTorch + DeepFM | DeepFM CTR |
| 第7月 | DIN + 广告特征体系 | CTR 3.0 |
| 第8月 | 在线预测 + Java接入 | 模型服务 |
| 第9月 | 实时特征 + 完整系统 | 完整广告预测项目 |
前置知识
Python 数据处理
- 用 NumPy 练习数组维度、切片、广播与向量化计算。
- 用 pandas 练习筛选、分组聚合、表关联、缺失值与时间字段处理。
- 用折线图、直方图和分组比较检查数据分布。
概率论与数理统计
| 知识 | 在广告预测中要解决的问题 |
|---|---|
| 随机变量、概率分布 | 怎样描述“是否点击”“是否转化” |
| 条件概率、联合概率、贝叶斯公式 | 在什么人群、广告和上下文条件下预测 |
| 期望、方差、标准差 | 平均表现是多少,波动有多大 |
| 伯努利分布、二项分布 | 怎样理解单次点击结果和多次曝光的点击数 |
| 总体、样本、抽样偏差 | 手里的日志是否能代表要预测的流量 |
| 估计与置信区间 | 观察到的 CTR 有多大不确定性 |
| 大数定律与中心极限定理的直觉 | 为什么样本量会影响判断的稳定性 |
线性代数
先学标量、向量、矩阵、维度、转置、点积、矩阵乘法和范数。 达标标准:看到矩阵表达式,能判断每个量是什么形状、运算是否匹配,并用 NumPy 写出来。
微积分
先学导数、偏导数、梯度和链式法则,用它们解释参数变化怎样影响预测输出和损失。
SQL 与样本构建
- 先确定“一行数据代表什么”
- 区分“事件发生时间”和“当时能不能知道”
- 理解标签不是立即成熟的
- 达标标准:能解释训练表中任意一行的来源、标签依据和每个特征的可用时点
机器学习基础
| 概念 | 你需要回答的问题 |
|---|---|
| 样本与标签 | 要预测什么,正确答案如何得到 |
| 特征与编码 | 哪些输入可用,类别字段如何表示 |
| 模型与参数 | 预测规则是什么,哪些部分由数据学习 |
| 损失函数 | 怎样衡量预测错误 |
| 训练与推理 | 学习参数和使用参数有什么区别 |
| 过拟合与泛化 | 为什么训练数据上表现好,不代表未来表现好 |
| 正则化与超参数 | 怎样限制模型复杂度,怎样控制训练 |
| 基线模型 | 新方法究竟比什么更好 |
先练习逻辑回归、决策树和梯度提升,可用 LightGBM 或 XGBoost 训练对照模型。再按项目需要尝试嵌入表示、Wide & Deep、DeepFM、DIN 等方法。
跑通预测链路后,可以继续研究排序、出价和预算控制。支持向量机、聚类、图模型、强化学习和 Transformer 可按专题单独学习。