返回列表

3rd Place Write-up [UPDATED]

402. OpenVaccine: COVID-19 mRNA Vaccine Degradation Prediction | stanford-covid-vaccine

开始: 2020-09-11 结束: 2020-10-06 药物研发 数据算法赛
第三名方案总结 [更新版]

第三名方案总结 [更新版]

作者: Striderl | 排名: 第3名

真心感谢 Eterna 和 Kaggle 主办这场有意义的比赛。感谢所有 Kaggler 分享的好想法和笔记本,我在这次比赛中学到了很多。同时祝贺所有获胜的队伍,特别是我的前队友 @nullrecurrent 获得了第一名!!

这两天就像坐过山车一样……我在第一次评估中从排行榜(LB)第4名跌至第720名,今天又爬回了第3名。我想我的抖动幅度在这次比赛中算是最大的之一……这意味着与 @youhanlee@nyanpn 相比,我的解决方案在不同情况下的稳健性不足。还有很多东西需要学习。

在参加这次比赛之前,我对 mRNA 和降解知之甚少。所以我使用的大多数技术都来自 NLP 比赛。我将在下面总结我的方法:

数据

  • 我根据大于 [6,8,10] 的 *_error_* 列和小于 -0.5 的训练标签过滤掉了数据。
  • 我做的第一个数据增强是反转序列(你也需要反转其他特征和标签)。这很自然,因为在 NLP 中作为增强,我会改变段落中句子的顺序。我注意到 LB 从数据中受益匪浅,且私有预测的相关性下降了。这里的相关性仅在前 91 个位置上计算。
  • 然后我认为增加更多的增强数据用于训练和测试是有意义的,所以我使用了 @its7171 的优秀 notebook 为每个样本生成可能的结构和预测的环类型,将它们用作训练和测试增强。
  • 所以我最终的训练数据包括:(1) 原始数据 (2) 反转的原始数据 (3) 来自 Arnie 的增强数据 (4) 反转的增强数据。我的折预测也是这四种数据的平均值。

模型

  • 我主要使用了 @mrkmakr 的 AE 预训练 GNN notebook(非常感谢这个优秀的 notebook,没有你的工作我不可能获得第3名)。
  • 在最后添加了不同层数的 LSTM/GRU/WaveNet,使用不同的单元/参数以增加多样性。
  • 总的来说,最后接上 2 x 128 单元的 LSTM 或 GRU 层对我来说效果最好。
  • WaveNet 与其他结构的相关性很低,但得分通常较差。不过很适合融合。
  • 我尝试稍微增加多头注意力机制的单元数,改变不同层的 dropout 等。但总的来说,原来的结构已经非常好了。

特征

  • 我再次使用了 @mrkmakr 的代码主干 :)
  • 除了他原本的节点特征外,我还添加了 bpp 最大值、bpp 第二大值、最大值与第二大值的差值、bpp 总和、配对类型等。
  • 除了 @mrkmakr 的结构邻接矩阵外,我还添加了两个矩阵来指定每个节点配对的邻居。仅此一项特征就让 LB 提高了 20bps。

3D 距离

同比赛其他方案