451. Jane Street Market Prediction | jane-street-market-prediction
在经历了许多或繁或简的初步实验后,我最终采用了几乎不做特征工程、没有交叉验证(CV),而是由15个深度MLP组成的集成模型,每个模型都包含49层。
模型被转换为 tf-lite 解释器。这确实加快了提交速度。否则,绝不可能评估如此多的深度模型。
基本的模型形状和超参数是在我本地机器上通过简单的训练/验证分割选择的。中间我也曾使用过 GKF CV(分组K折交叉验证),但效果并不理想,所以我回到了这个非常简单的训练/验证分割(训练:85-300天,验证:350-500天)。
为了减少不同种子的影响,我将测试重新运行了多达8次。这让我对新实现的性能有了相当不错的估计。
对于最终模型,训练的轮次数是通过重新训练模型并提交来确定的。所以可以说我使用了公共 LB(排行榜)数据进行早停。由于公共集中有100万行数据,这在我看来是合理的。
人们常说,只有当模型学习到不同的东西(即用不同的数据训练)时,集成才能提高性能。我认为这通常是正确的,但这里的情况略有不同。我们看到不同的公共模型对种子有极端的依赖性。我也在我的单一模型中发现了这一点。使用许多由不同种子训练的模型在某种程度上解决了这个问题。就像以火攻火,用随机性对抗随机性。