416. Riiid Answer Correctness Prediction | riiid-test-answer-prediction
各位 Kaggle 参赛者好,这里是论文链接。
论文链接:https://arxiv.org/abs/2102.05038
详情请参阅该论文。
我想使用 Transformer,但我无法将很长的历史记录输入到模型中,因为当输入长度为 L 时,Transformer 中的 QK 矩阵乘法具有 O(L^2) 的时间复杂度。
我的方法是仅使用最后的输入作为查询,因为在历史输入中,我只需要预测最后一个问题的回答正确率。这意味着我将只比较最后一个问题和其它问题,而不会比较其它问题之间的情况。这使得 Transformer 中的 QK 矩阵乘法具有 O(L) 的时间复杂度(因为 len(Q)=1, len(K)=L),这允许我输入更长的历史记录。
在最终的提交中,我集成了 5 个模型,输入的历史长度为 1728。
我没有做太多的特征工程,因为我可以使用极长的历史记录,我希望模型能自己从中学习。我使用的 5 个输入特征分别是:问题 ID、问题部分、回答正确性、当前问题的耗时以及时间戳差值。
感谢 @limerobot,在 2019 Data Science Bowl 的第 3 名方案中分享了处理表格数据问题的精彩 Transformer 模型。这是我在 Transformer 编码器上工作的一个很好的动力。
https://www.kaggle.com/c/data-science-bowl-2019/discussion/127891
感谢比赛赞助商和组织者举办了这场有趣的比赛。
感谢阅读。