Home

Awesome

Tencent_Social_Ads2018

2018腾讯社交广告33名的nn方案,单模75+(主要是分享下方案和pytorch的网络)

特征工程

  bag_feats = ['kw1','kw2','kw3','topic1','topic2','topic3',
        'appIdAction','appIdInstall',
        'interest1',
        'interest2',
        'interest3',
        'interest4',
        'interest5']
  bag_value_cnts =[5, 5, 5, 5, 5, 5, 50, 50, 35, 30, 10, 10, 70]

网络

训练过程(主要解释TSADSDataset.py):

  1. pytorch的DataLoader在多进程使用时会出现copy and write的情况(其实这个情况我暂时没有搞的明白,尝试了很多写法都没有解决),初赛数据直接就可以训练了,复赛数据压根训不起来,所以对需要训练的数据切分成10分,分10份依次训练。
  2. 为了处理多值特征偏长的情况(其实如果其他特征工程做得好的话,truncate直接取10差不多的),对于每个多值特征采用字符串的形式保存,并做训练时解析、random truncate.
  3. 类别特征做的是线上stack,方便新增新的类别特征

训练时间:

总共5个epoch收敛,每个epoch在4核大概1-1.5小时

损失函数

环境配置

目录介绍

最终成绩

类似k折验证训练了10+个模型,融合lgb,libffm,线上auc:0.7609