第 24 名解决方案
第 24 名解决方案
作者: Ivan Ilyushchenko
发布时间: 2025-09-25
竞赛排名: 24
问题的解决方案如图所示:
- 使用通过 polyfit 实现的基准解决方案并通过神经网络进行校正,比直接预测值效果好得多(指标大约提高 0.1)。
- 我尝试了两种损失函数 - MSE 和通过竞赛指标直接计算的损失。MSE 不允许预测不确定性,但竞赛指标相当不稳定。我想出了一个复杂的指标,MSE(*1e6) 的权重为 0.9,GaussianLogLikelihoodLoss 的权重为 0.1。损失函数的实现在这里:https://github.com/vilka-lab/Ariel-Data-Challenge-2025/blob/master/src/loss.py
- 通道-wise 归一化(Channel-wise normalization)使指标大幅提升。归一化到白曲线(white curve)会使结果变差(约 0.03)。
- 对于这个解决方案来说,数据太少了。网络在 500 个 epoch 内拟合,batch size 为 32,300 个 epoch 后开始过拟合。如果将数据分为 5 折,平均得分比 10 折差 0.01-0.02,且过拟合发生得更早。 most likely, 如果在更大的数据集上拟合网络,指标可以显著改善。
- 考虑到第 4 点,我花了很多时间尝试使用 exosim2 生成额外数据。不幸的是,没有成功——生成的数据相对于竞赛数据发生了偏移,导致指标变差。
- 尝试寻找最佳的 2D 特征骨干网络(backbone)没有带来结果——vit_base_patch32_224.sam_in1k 证明是最好的。进一步增加网络大小只会加速过拟合的到来。
- 数据增强有助于在一定程度上克服过拟合,很可能在这里可以找到显著提高指标的解决方案。但我没能做到。
- 尝试手动调整具有凌日曲线(transit curves)的坏样本结果没有带来结果——每个折的模型对这些样本的工作方式可能不同。有些模型对坏凌日效果很好,但对理想样本效果差。我添加了一个特征来指示样本是否为好样本,这使指标提高了约 0.015。这里的一个好解决方案是简单地生成更多的凌日曲线和/或进行适当的增强,但见第 5 和 7 点。嗯,或者我只是做错了什么。
- 竞赛主办方的预处理不影响结果,所以我直接移除它以加快计算速度。尝试使用不同的预滤波器也失败了。
- 解决方案运行速度快。最终提交包含 20 个模型——来自 10 折交叉验证的 10 个最佳模型和 10 个最后模型,完成大约需要 2 小时。
感谢您的关注。