返回列表

34th Place solution

586. Child Mind Institute - Detect Sleep States | child-mind-institute-detect-sleep-states

开始: 2023-09-05 结束: 2023-12-05 健康管理与公共卫生 数据算法赛
第34名解决方案

第34名解决方案

首先,我要感谢组织者和Kaggle工作人员组织这次比赛。通过比赛我学到了很多。

总结

  • 基于213tubo的代码库
  • 数据清洗
  • 模型集成
  • 通过后处理减少误报

数据清洗

当我像下面这样按series_id可视化train_series.parquettrain_events.csv时,注意到标签数据存在噪声。

标签应该在的位置没有被标注,或者在不应该标注的位置被标注了(可能是组织者用填充值填补了缺失值)。

存在许多令人担忧的区域,例如标签分配的时间与受试者入睡/醒来的时间相差数十分钟甚至更久。

我们认为这种有噪声的标签数据会成为模型训练的障碍,因此检查了每个series_id的数据,并通过移动或添加标签位置来清洗标签数据。

模型

  • Unet
  • 编码器:
    • maxvit_tiny
    • eca_nfnet_l1
    • dm_nfnet_f0
  • 数据增强:
    • Mixup
    • Spec_augment
  • 标签平滑(睡眠)
  • 滑动推理
  • 不使用推理结果的两端

后处理

在可视化数据时,我发现某些数据表现出不自然的周期性模式,例如1e6717d93c1d

我认为这些不自然的周期性模式是无效的,因为组织者对未测量数据的时段填充了每个时间段的常用值。

模型可能会在这些周期性模式内输出入睡/醒来的预测,但这些被认为是误报。

我们对模型进行了后处理,以去除这些周期性模式内的预测。

周期性模式的判定标准如下:

  • 当anglez和envo向前或向后移动17280*n步时,如果两者的值都一致,则该预测被视为无效。
  • 但是,如果连续两步或以上不匹配,则不判定为无效(考虑到可能是巧合)。

同比赛其他方案