本文共 1403 字,大约阅读时间需要 4 分钟。
哈尔滨工业大学二年级硕士生刘育源、中山大学微软亚洲研究院联合培养博士生郭达雅和京东算法工程师王贺组成的队伍荣获2019年腾讯广告算法大赛冠军。以下是他们的完整方案分享。
赛题理解
本次比赛的赛题围绕广告日曝光量的预测展开。我们需要从历史日志数据、用户信息数据和广告数据中提取有用特征,构建准确的预测模型。
数据特征
- 历史日志数据:包括广告请求时间、用户ID、广告位ID、竞价广告信息等。
- 用户信息数据:包含用户ID、年龄、性别、地域、行为兴趣等。
- 广告数据:广告操作信息、广告静态信息。
目标
评价指标
- 准确性指标:衡量广告预测结果的准确性。
- 出价单调性指标:确保模型输出符合广告出价的单调性规则。
训练目标优化
我们在训练目标上进行了多次尝试和优化:
基础训练目标:广告日曝光量的预测。 梯度平滑处理:对训练目标进行log变换,避免0值导致的梯度不平滑。 单调性考虑:在训练过程中直接考虑出价变量,保证模型输出符合业务直觉。 综合目标:结合基础曝光量预测和单调性优化的目标,形成最终的训练公式。 数据集划分
数据集划分是我们提分的关键点:
- 时间分割:复赛A榜的训练集和测试集是连续的(10号-22号训练集,23号为测试集),而复赛B榜则是不连续的,测试集直接预测24号的广告曝光量。
- 跨天预测:面对24号的预测任务,我们采用“远程监督”的方法,利用10-22号的标注数据训练模型,并使用23号的数据进行预测。
特征工程
特征工程是解决方案中的核心部分:
基础特征构造:提取历史信息和整体信息,构造前一天、最近五天、五折交叉统计和除当天外所有天的统计特征。 新广告特征:针对大量新广告,构造广告账户ID下广告竞争率的均值和中位数等特征。 特征扩展:通过假数值与真数值的交叉,构建更接近真实值的特征。 Word2Vec和DeepWalk:使用Word2Vec和DeepWalk算法提取广告和用户行为的嵌入向量。 模型介绍
模型架构包括以下关键组件:
输入层:包含类别特征、稠密特征(经过Key-Value Memory处理)、Word2Vec和DeepWalk得到的嵌入向量。 压缩交互网络(CIN):用于特征交互,确保高阶特征的明确测量和网络复杂度的控制。 Key-Value Memory:实现浮点数到向量的映射,解决Word2Vec和DeepWalk造成的数据泄露问题。 结果分析
模型在多个维度上取得了显著的成绩:
轻GBM单模:在验证集上表现优异,能够达到第一名的成绩。 融合方式优化:通过算术平均和几何平均的结合,找到最优的融合方式,进一步提升了模型性能。 主要创新
Key-Value Memory方法:将浮点数映射为向量,保留更多语义信息,相比于传统的分桶方法和数值交互方法具有更强的相关性和非线性特征。 解决Word2Vec和DeepWalk的数据泄露问题:充分利用曝光日志记录,基于用户行为对广告进行聚类,避免了传统无监督学习方法带来的信息泄露问题。 总结
本文分享了2019年腾讯广告算法大赛冠军的完整方案,涵盖了赛题理解、特征工程、模型设计和结果分析等多个方面。代码实现和完整细节可以在GitHub上找到:
https://github.com/guoday/Tencent2019_Preliminary_Rank1st
如需进一步了解技术细节,欢迎随时联系!
转载地址:http://qpgfk.baihongyu.com/