第10名解决方案...我的快速总结!
第10名解决方案...我的快速总结!
作者:Kain | 比赛排名:第10名
致谢
呼,排名波动真是太大了!:) 我要感谢组织者、Kaggle 社区以及 Kaggle 团队举办了这场比赛。像这样的比赛是我学习新事物和更新机器学习知识的绝佳机会。
我还要感谢我的队友 @runningz、@kunihikofurugori 和 @habedi 在本次比赛中的努力与合作。
快速总结
我们的最终提交是两个提交文件的融合:
- 第一个是由 @runningz 训练的模型,这是三个 deberta-v3-base 模型的集成(他的模型是用 PyTorch 训练的,并使用了伪标签来提高结果)。他的模型基于他在以往反馈比赛中的经验。
- 第二个是团队其他成员提供的 22 个模型的堆叠集成。关于堆叠过程的信息如下:
- 我们使用了
iterativestratification,折数设置为 4,随机种子设置为 42。
- 一组基于以下模型的 OOF(Out-of-Fold)预测:
- 一个用 deberta-v3-small 训练的模型,
- 两个用 deberta-v3-base 训练的模型,
- 一个用 deberta-v3-xsmall 训练的模型,
- 一个用 distilroberta-base 训练的模型,
- 一个用 opt-125m 训练的模型,
- 一个用 roberta-base 训练的模型,
- 两个用 opt-350m 训练的模型,
- 一个用 electra-base-discriminator 训练的模型。
- 我们使用了几个未经训练的 Transformer,仅对文本进行嵌入,并在数值向量上训练简单的回归器。这些模型包括:
- 一个基于 deberta-v3-base 嵌入和 BayesianRidge 回归器的模型,
- 一个基于 deberta-base-mnli 嵌入和 BayesianRidge 回归器的模型,
- 一个基于 deberta-v3-large 嵌入和 BayesianRidge 回归器的模型,
- 七个基于 deberta-v3-large 嵌入和 KNN 回归器的模型,使用不同的 k 值(k=2, 4, 8, 16, 32, 64, 128),
- 一个基于 deberta-base-mnli 嵌入和 BayesianRidge 回归器的模型,
- 一个基于 google-electra-base-discriminator 嵌入和 BayesianRidge 回归器的模型。
- 最后,我们在 OOF 预测结果上训练了一个 Lasso 回归器。
- 堆叠模型的 CV(交叉验证)分数为 0.4473,LB(排行榜)分数为 0.43。
- 在不同 Transformer 训练的模型中,CV 分数范围在 0.45+ 到 0.49+ 之间,其中 deberta-v3-base 在 CV 和 LB 方面表现最好。
- 在文本嵌入模型中,我们 OOF 的 CV 分数(即使是 KNN 模型)在 0.45+ 到 0.54+ 之间,最好的 CV 属于 deberta-v3-large,CV 为 0.4518,LB 为 0.44(令人惊讶的是,仅通过嵌入而不进行训练就能达到 0.44!)
- 我们尝试了不同的回归模型作为堆叠器,在 CV 方面表现最好是 Lasso。
- 对 OOF 进行对数变换并运行 SKlearn 的 RobustScaler 稍微提高了 CV 分数。