第18名解决方案 - 谢谢大家!
第18名解决方案 - 谢谢大家!
作者:Jaideep (团队: Dracarys)
比赛排名:第18名
非常感谢组织者举办这次比赛,我相信我们很难找到很多像这样的比赛。看到基于纯粹传统机器学习的排名第一的解决方案真是太棒了,有很多东西值得学习。
我感谢所有在这次比赛中努力工作的团队成员 @iafoss、@rohitsingh9990,特别是 @evgeniimaslov2,他在最后两周的努力使我们进入了前20名。从其他顶级解决方案中吸取了很多新东西。
以下是我们解决方案的大纲:
我们使用了两阶段解决方案方法,采用通道级别的5折分层K折交叉验证(与LB对齐得很好)。
第一阶段 (Stage1)
- 序列长度为64的 Paraphrase mpnet v2,基于相似性损失进行训练(使用不同的序列长度和仅正样本 + 正/负样本组合)。
- 序列长度为128的 RoBERTa L,基于 Arcface 损失进行训练(仅正样本)。
我们所有模型在整个数据集上的最大正样本得分为 0.95+(前50名),而验证折得分为 0.85+。
第二阶段 (Stage2)
集成模型包括:
- 序列长度64,5折 Paraphrase Mpnet v2:在第一阶段预训练,使用前50个邻居,基于对比损失进行训练(与基于公共方法的 ReRanker 相比,这带来了显著的提升)(这将分数从 0.57 直接提升到了 0.657)。
- 序列长度64,5折 RoBERTa L 分类器:基于相同的对比损失训练,使用第一阶段对应 RoBERTa 模型的前64个邻居。
- 序列长度256-352,5折 ReRanker:使用公共内核方法训练,减少了模型1的一些假阳性计数(这将分数提升了 0.01,从 0.657 提升到 0.66-0.67 区间)。
- 最后是 Light GBM:这将分数提升到了 0.68 系列(最后的助推)。
微观层面的方法
- 基于相似性排名/ CV 提升,为第二阶段进行了相当多的 Top N 选择。@evgeniimaslov2 可以对此提供更多细节。
- 在第二阶段分类之后,基于概率特征(基于排名)和其他训练特征(如 Kind, category 等)的 Light GBM。这带来了约 0.02 的提升,使我们达到了目前的分数。使用 Light GBM,我们的 CV 达到了 0.74,最终 Private LB 为 0.721,非常一致。
总而言之,在整个比赛期间使用上述方法是一个循序渐进的过程。
致以此致
Jaideep