返回列表

16th Place Solution Summary

517. Open Problems - Multimodal Single-Cell Integration | open-problems-multimodal

开始: 2022-08-15 结束: 2022-11-15 基因组学与生物信息 数据算法赛
第16名方案总结
作者: AyPy (MASTER) | 排名: 第16名

感谢竞赛主办方、Kaggle团队、Saturn Cloud团队,并祝贺所有的获奖者!

虽然已经有许多优秀的方案被发布,而且我的方案可能不包含新的方法,但我还是想留下我在过去两个月里的努力成果。在这段时间里,我学到了很多东西。感谢所有参赛者带来的精彩比赛。

如果这篇帖子难以阅读或下方的示意图看不清楚,请原谅,因为我的英语水平不是很好,而且我的教育背景与计算机科学或机器学习领域不同。


概述:

使用的机器学习算法如下:

就我而言,堆叠方案提高了分数。第一层模型的输出被连接起来,然后作为第二层的输入。在标准化后对连接的第一层输出应用降维是有效的。当输出只是连接而没有降维时,第二层的分数反而比第一层低。

此外,集成效果很好。我创建了几个略有不同的模型(不同的降维算法、特征提取方法和损失函数)并将它们混合。此外,每个学习过程都在15个随机种子上进行,结果取平均值。

交叉验证方案:

我使用了简单的KFold(k = 5)。幸运的是,我在Private LB(私有排行榜)上经历了排名波动。

Citeseq:

我的Citeseq堆叠方案示意图如下。

Citeseq Stacking Scheme

预处理

在第一层进行降维或特征提取之前,根据 AmbrosM的代码,剔除了训练集或测试集中恒定的所有特征集。

  • 降维: 分别使用了tSVD和PCA(n_components = 64),推理结果最终进行了混合。
  • 特征提取: 根据 Fabien Crom的代码,我挑选了与目标具有高Pearson相关系数的特征。为了尽可能获得多样性,我为每个模型改变了挑选查询方式。例如:
    • 按照与140个蛋白质的平均相关性最高的顺序提取RNA
    • 提取对单个蛋白质具有高相关性的RNA,而不是平均值
    • 改变提取前多少个RNA
    • 提取后是否进行降维

Multiome:

该方案几乎与Citeseq相同。不同之处如下:

  • 未使用提取的特征。在Multiome的情况下,当它们与64维压缩特征连接时,分数下降了。
  • 对于神经网络算法,仅使用MSE作为损失函数。
  • 目标向量通过tSVD压缩为512维(用于NN)或128维(用于LGBM)并用于训练。推断后的向量通过逆SVD解压为23418维。
同比赛其他方案