586. Child Mind Institute - Detect Sleep States | child-mind-institute-detect-sleep-states
首先,我要向所有参与者和组织者表示感谢。这是一场非常艰苦的比赛,因为我在公开排行榜上的得分并不高,但我对最终的结果感到满意。
anglez.diff().abs()sin(2πt) 和 cos(2πt) 作为特征sin(4πt)、sin(8πt)、cos(4πt)、cos(8πt)),但效果变差采用如图所示的1D-UNet GRU模型。除enmo和anglez外的特征在GRU层之前加入。使用二元交叉熵损失进行训练。
使用基于高斯分布的热图。为了训练稳定性和在较大容差下提升AP(平均精度),采用大sigma的高斯分布是有利的。相反,小sigma的高斯分布会导致训练不稳定,但在小容差下能提升AP。作为折中方案,使用了大sigma和小sigma高斯分布的加权和。
gauss_small_sigma_minute = 2.5
gauss_large_sigma_size = 10
gauss_mix_ratio = 8
gauss_small_sigma_size = minute2step(gauss_small_sigma_minute)
gauss_large_sigma_size = minute2step(gauss_large_sigma_minute)
gauss_large = np.exp(-((x - gauss_center)**2) / (2 * (gauss_large_sigma_size)**2))
gauss_small = np.exp(-((x - gauss_center)**2) / (2 * (gauss_small_sigma_size)**2))
gauss = (gauss_large + gauss_mix_ratio * gauss_small)
gauss /= gauss.max()
整个测试数据集的处理时间(包括数据加载、预处理和后处理)约为18分钟,其中模型推理耗时45秒。
由于公开排行榜分数基于25%的测试数据计算,存在一定波动性,因此决定使用大量模型进行集成学习。最终集成包含120个模型,总处理时间在120分钟内完成。
在一晚睡眠中检测多个候选点至关重要: