返回列表

13th Place Solution

545. IceCube - Neutrinos in Deep Ice | icecube-neutrinos-in-deep-ice

开始: 2023-01-19 结束: 2023-04-19 物理与天文 数据算法赛

第13名解决方案

作者:SiNpcw(Kaggle Master级选手)
发布时间:2023年4月28日
排名:IceCube中微子竞赛第13名

首先感谢主办方,也向所有参赛者表示祝贺。我很遗憾未能保持在金牌段位,但获得了宝贵的学习经验。我想借此机会表达我的感激之情。虽然时间有些晚了,但我仍想分享我的解决方案。我的英语水平有限,如有不清楚之处欢迎随时询问。

我的解决方案包括:

  • 训练数据的噪声过滤
  • 定制的GraphNet模型

我曾尝试训练LSTM和Transformer模型,但效果不理想,所以过早放弃了这些方案,这是导致我失利的主要原因。

最终提交时,我使用了8个GraphNet模型的集成。单个图模型在Public榜获得0.982分,Private榜获得0.984分。因此,集成带来的提升可能并不显著。

提交结果图表

训练数据的噪声过滤

我认为当事件内观测信号较少时,数据难以拟合且容易导致过拟合。因此我实施了以下循环流程:

  1. 对训练数据进行推理,排除预测效果差的数据(具体排除MAE > 1的数据)
  2. 在筛选后的数据集上训练,若验证分数提升,则使用该模型重新推理训练数据
  3. 重复步骤1的构造方式,再次排除难以拟合的训练数据并重新训练

上述过程重复了2-3次。

这个想法源于我在PANDA竞赛中处理噪声标签导致过拟合的经验。我认为本次竞赛涉及物理现象,在理想观测数据下预测相对容易。因此,包含噪声数据的训练模型也无法准确预测测试数据中的困难事件。事实上,使用去噪数据训练的模型提升了CV分数,Public LB分数也随之提高,证明该方法有效。

定制的GraphNet模型

我在主办方提供的模型基础上进行了改进:

  • 在KNN添加信息时加入了时间变量
  • 调整KNN邻域数量(从8增加到32)
  • 将池化层替换为注意力机制
  • 尝试不同激活函数(发现负数区域零梯度的函数效果不佳,PReLU效果最佳)

我的失败之处

  • 其他信息利用:尝试加入QE等信息但未深入,特别是GNN未能从中获益
  • 其他方法尝试:LSTM和Transformer训练效果不佳,可能输入和设置有问题,但最大的失败是过早终止这些尝试
  • 后处理:尝试对预测方向完全相反的情况进行分类后处理,但未奏效
  • 插值方法:由于信号少的事件精度较差,尝试在时间和空间上插值信号,但未见成效
  • 成像思路:曾想通过视频/成像方式预测传感器位置方向来集成,但因事件数量过大导致存储不足而失败
同比赛其他方案