返回列表

30 th Place Simple Solution & Eid Mubarak

485. NBME - Score Clinical Patient Notes | nbme-score-clinical-patient-notes

开始: 2022-02-01 结束: 2022-05-03 临床决策支持 数据算法赛
第30名 简单方案 & 开斋节快乐

第30名 简单方案 & 开斋节快乐

作者: Md Fahim
比赛: NBME - Score Clinical Patient Notes
排名: 30th (Solo Silver)

首先,开斋节快乐 [开斋节(穆斯林最盛大的节日)期间常见的问候语是“Eid Mubarak”,意思是“吉庆的盛宴、节日或庆祝活动”。]

对我来说这是一个伟大的日子,因为我同时庆祝了两个“Eid”。一个是开斋节,另一个是在Kaggle比赛中获得了我的第一个单人银牌

我要感谢主办方举办如此精彩的比赛。在这次比赛中,我的目标是从Kagglers那里学习。因此,我参考了公开的Notebook。我的解决方案正是基于这些Notebook。

训练

对于训练,我参考了两个公开的Notebook。一个是 @yasufuminakama 的最高票 notebook,另一个是 @librauee 的精彩 notebook

MLM (掩码语言模型)

对于MLM,我使用了这个精彩的notebook。我保持了配置不变,但使用不同的评估数据创建了它的两个版本。

模型

基本上我只专注于两个模型作为骨干网络:

  1. DeBerta-v1-base:用于各种实验
  2. DeBerta-v3-large:作为最终模型

不同的分类头

由于提交时只选择了一个模型,为了带来(微小的)多样性,我使用了不同的分类头:

  1. 线性头
  2. 最后4层求和
  3. 最后4层拼接 (在投影这些层输出之后)
  4. LSTM 头
  5. 1d CNN 头
  6. 2层 MLP 头

后处理

我使用了 @theoviel这个notebook中使用的完全相同的后处理技术。
这使LB分数提高了 +0.003。

模型融合

对于模型融合,我使用了 @motloch这个notebook

一些技巧

  1. 在训练期间,我使用了一些技巧,比如 @hengck23这个讨论帖中提到的 AWP。
  2. 我使用了5折交叉验证。我观察了每一折的CV/LB分数。对于最终的集成,与其对每个模型的所有折进行预测,我更关注不同模型中具有良好CV/LB相关性的不同折。
  3. 为了融合更多模型,我使用了 @anyai28这个notebook中使用的填充优化技巧。

我的收获

  1. 实验就是一切
  2. 关注比赛中的讨论区和Notebook
  3. 相信CV(交叉验证)
  4. 探索比赛相关论文
  5. 尽量避免使用Kaggle GPU进行训练(但我别无选择)

我要特别感谢 @abdulkadirguner,在我只剩下几秒钟GPU时间的情况下,建议我向比赛提交模型,详情见