腾讯广告算法大赛-top3
赛题理解
特征构造
特征工程 -> 刻画label
刻画用户比较难, 可以做可解释性
- 点击次数: 刻画活跃度
- 每日平均点击数:
- 用户在三个月内的点击分布:
广告id特征, 进行特征编码, 类别特征越多, 做label encoding 效果越好,
- 比如统计广告id被不同年龄性别点击次数 ->
类似于word2vec,转为向量表示
- 注意:
- 不要信息泄露(训练的时候蕴含了label信息)
可以进行5折提取特征??
-label encoding, 即用前四个预测后一个鞥.- 编码特征
TFIDF????
- lgb -> DL
传统方案介绍
用lr进行stacking, 拟合权重,比如$out = 0.4m_1+0.3m_2+0.3m_3$,
模型介绍
下图为用户点击序列
enbedding 将序列训练成词向量
LSTM 类似于编码器的作用
增加多样性方式:dropout(数据增强)
embading多样性和样本多样性, 如dropout
使用了3层的dropout, 可以对向量预测多次, 对多次结果求平均. 最后优化整个loss, 可以加速模型收敛, 提高泛化能力
- 交叉熵损失:
onehot编码时, 原来只计算了一个损失, 加入标签平滑后, 会增大惩罚
类别有一定相关性时, 可以使其向山峰靠拢如[0.01,0.02,0.1,0.8,0.1 ,…]:
预训练—attention,突出强特
怎么抽广告特征id — 用预训练模型, 类似于PCA挑出来重要的特征, 使用预训练方式预训练attention
attention向量是128*1 , 可以得到每个广告特征的重要性
表现在 用部分广告id就可以进行进行预测
滑动窗口 — 有点类似cnn, 用部分数据得到特征
方案一: 将用户序列阶段, 分成多序列, 增加样本数量且可以抗干扰
滑动10次,得到10条样本,数据增强
类似于融合, 抗干扰
不过缺点是可能得到的是部分信息
bert
对bert,空缺预测,
模型差异性
显示推荐和隐式推荐
年龄,性别等拿到后再进行的推荐是显示推荐
经验分享
腾讯广告 top1
重点
用word2vec对词表压缩根据频次选择top10w的ID, 再输入bert进行预训练
赛题介绍
模型
特征工程
交互行为, 兴趣范围
方案演变
最后得到年龄性别等特征
正向逆向拼接 — 数据增强
因为广告序列词表太大(稀疏性造成), 对bert进行了改进
对word2vec输出后, 取了top10w, 可以轻松的放入bert,1122
大部分团队想用bert, 但广告词表太大.
4个v100, 预训练, 12h
问答
word2vec
- 聚类
- 降维