387. Jigsaw Multilingual Toxic Comment Classification | jigsaw-multilingual-toxic-comment-classification
首先,非常感谢我的队友 @euclidean、@nullrecurrent、@luohongchen1993 和 @sherryli94,你们是如此富有创造力和勤奋,我从你们每个人身上都学到了很多东西。这枚金牌是我们所有人的第一枚金牌,我很荣幸能与你们分享这段经历。干杯!
同时祝贺所有的奖牌获得者 :)
大多数顶尖获奖者已经涵盖了许多我们的“有效方法/无效方法”,我想用这篇文章来记录一些我认为我们做法不同的地方。
我们最终的流程是:
在5折交叉验证中,使用软标签(验证集预测值 + 验证集真实标签)/ 2 改善了5折交叉验证的效果。一些非常有争议的标签变成了约0.5,这对我来说很直观。
此外,在5折交叉验证中随机化样本的顺序,同时将相同的评论(原始评论及其增强版本)保持在同一个批次中,有助于增加额外的多样性。我们的增强评论与原始评论的数量比例为 1:1。更多的增强并没有在我们的公共排行榜(LB)上起到帮助作用。
我们在训练中使用学习率衰减、余弦退火、随机权重平均(SWA)、类别权重、样本权重(针对增强/语言)、使用预训练模型、冻结嵌入层/编码层等方法增加了许多变数。除了 XLMR,我们还尝试了 LSTM 等。这些模型单独使用可能效果不佳,但这种多样性在我们的堆叠阶段非常有帮助。
我们在堆叠中最终得到了 1900 多个一级特征,这相当惊人。我们最终将 2 个 StackNet 模型和 1 个前向选择模型(LB分数均为 9494)传递到后处理阶段。
最初,基于贪心的前向选择集成在验证集 AUC 上严重过拟合。但是添加随机初始化,并在 AUC 标准中加入 logloss 标准,有助于获得一个平衡良好的融合结果。
我们提高了包含不同语言脏话的评论的预测概率。这为每个堆叠模型提高了约 3 个基点,它们的排名均值最终将我们送到了金牌区的边缘。