返回列表

7th place post-processing and ensembling

362. Google QUEST Q&A Labeling | google-quest-challenge

开始: 2019-11-22 结束: 2020-02-10 自然语言处理 数据算法赛
第7名方案:后处理与模型融合

第7名方案:后处理与模型融合

作者: pyxiea | 比赛排名: 第7名

后处理

我们的后处理策略与第1名团队非常相似。

我们的观察是,斯皮尔曼相关系数与样本的排名有关,即它基于预测值的相对数值而非绝对数值,并且它更倾向于那些与标签分布相似的预测结果。

我们的假设如下:

  1. 我们构建的模型无法很好地预测那些极度不平衡列(如 question_type_spelling)的绝对值,但幸运的是,它有望区分出标签较高和较低的样本。

  2. 对于每一列,公开/私有测试集的标签分布与训练集的分布接近。

因此,我们要做的就是帮助模型根据训练集中该列的分布来对齐预测结果。事实证明,我们的假设并不适用于每一列,因此我们分析了该方法在每一列上的表现,并在其中几列上禁用了后处理。

相关的代码笔记本请点击这里

模型融合

我们的最终解决方案由5个模型组成:bert-base-uncased、bert-wwm-uncased、bert-wwm-cased、bert-large-uncased 和 roberta-large。这种架构缺乏多样性,但我们无法在许多其他预训练模型上获得好的结果。我们以5折交叉验证和5个轮次训练每个模型。

我们注意到,通常原始预测效果越好,我们从后处理中获得的收益就越多。因此,对于每一折,我们简单地平均5个模型的预测结果以获得更准确的预测,然后对其应用后处理(PP),从而为测试集生成5组预测结果。然后平均所有折的预测结果,仅得到一组最终预测。

事实证明,平均过程虽然非常强大且必要,但会在一定程度上改变预测的分布,因此我们只是启发式地对预测结果再次应用后处理。

同比赛其他方案