这篇文章上次修改于 903 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

1. 比赛结果

  • 分数:1.328
  • 名次:333/11000
  • 只使用了特征 creative_id

2. 思路

  • 训练词向量。将每个用户点击过的 creative_id 拼接在一起,作为一篇文章,采用 skip-gram 训练词向量。
  • 处理训练数据。

    • 加载训练好的词向量,tokenizer 化每篇文章,将每篇文章 padding 到长度为 200。
    • 将用户的 age * 10 + gender 作为标签,进行 one-hot 编码。
  • 构建训练模型。采用一维 CNN 进行文本分类,共分为 20 类。

    • 第一层输入层中输入每篇文章。
    • 第二层 Embending 层为加载后的词向量,冻结不训练。
    • 中间是一维卷积层和池化层。
    • 最后是一层输出层采用 softmax 激活函数,进行 20 分类。
    • 采用提前停止机制,当 acc 下降时提前结束训练。
  • 利用训练后的模型预测测试集。

3. 未来得及进行的尝试

  • 多特征
  • 模型融合
  • 加入 attention
  • 采用网格搜索进行超参数调优

附件

代码:https://gitee.com/yinjingping/TMC