683. NFL Big Data Bowl 2026 - Prediction | nfl-big-data-bowl-2026-prediction
非常感谢竞赛主办方和 Kaggle 组织这次激动人心的挑战。
我从这个 Notebook 中学到了一些有用的设置:https://www.kaggle.com/code/ryanadamsai/nfl-big-data-bowl-geometric-gnn-lb-586
使用原始输入作为模型输入
预测相对于前一帧的差异(delta x, delta y)
损失函数复制自高分公开 Notebook 配合 muon 优化器
class TemporalHuber(nn.Module):
def __init__(self, delta=0.5, time_decay=0.03):
super().__init__()
self.delta = delta
self.time_decay = time_decay
def forward(self, pred, target, mask):
err = pred - target
abs_err = torch.abs(err)
huber = torch.where(abs_err <= self.delta, 0.5 * err * err,
self.delta * (abs_err - 0.5 * self.delta))
if self.time_decay > 0:
L = pred.size(1)
t = torch.arange(L, device=pred.device).float()
weight = torch.exp(-self.time_decay * t).view(1, L, 1)
huber = huber * weight
mask = mask.unsqueeze(-1) * weight
return (huber * mask).sum() / (mask.sum() + 1e-8)
我的模型设计与 第 5 名解决方案 几乎相同
我注意到主办方非常有帮助且活跃。然而,他谈到了改进他们采样私有测试集的方式,这使得最终结果不稳定,因为“分布”会发生变化。这使得测试集质量更好,但更难预测模型的未来性能。
附注:我很晚才发布这篇帖子就去睡觉了。后来应一些 Kagglers 的友好请求,我补充了一些细节。