615. Learning Agency Lab - Automated Essay Scoring 2.0 | learning-agency-lab-automated-essay-scoring-2
首先,我要感谢主办方和参与者在这次比赛中的付出。 thanks to 许多提供公开 Notebook 和讨论的人,我学到了很多。我很高兴这是我的第一枚 solo 金牌 😊
这次比赛的公开 Notebook 非常出色。公共榜最高分为 0.824,私有榜最高分为 0.835。因此,很难通过自己创建或改进的 Notebook 获得奖牌。我很幸运能留在少数名额中,但我想有很多人感到失望。如果结果相反也不奇怪。
我使用 Kaggle 才两个月。我没有太多的技术能力,也没有自己的 GPU。所以我选择了改进公开 Notebook。这是在 deberta-v3-large 特征基础上的基线。(感谢创作者 😊)
基线:https://www.kaggle.com/code/batprem/aes2-modeling-with-fb-scoring
(公共榜 0.822 私有榜 0.832)
这次比赛的目标是训练一个能够准确评分学生 essay 的模型。如果可能的话,我们希望能够有效地评分“更困难主题”的 essay。这是关键。这次的训练数据集中有些包含在 Persuade 2.0 中,有些则没有。什么是 Persuade 2.0?(引用自数据集描述)
“总的来说,PERSUADE 2.0 语料库包含超过 25,000 篇由美国 6-12 年级学生为 15 个提示生成的论证性 essay,涉及两项写作任务:独立写作和基于源的写作。”
目标似乎是 6-12 年级学生的 essay。查看每个主题……未包含在训练数据中的主题相对容易。此外,包含在 Persuade 2.0 中的训练数据特有的两个主题似乎也容易。剩下的五个主题,如“无人驾驶汽车的安全成本和法律问题”和“情绪/面部表情识别”,主题更为困难。详细分析请参考以下讨论。(感谢创作者和讨论参与者 😊)
https://www.kaggle.com/competitions/learning-agency-lab-automated-essay-scoring-2/discussion/498478
也有讨论报告称只有这五个主题包含在公共榜中,所以我想强调这一点。此外,kaggle-only-data(未包含在 Persuade 2.0 中)是新创建的数据,很可能与公共榜和私有榜数据接近。那么我们如何强调 kaggle-only-data 呢?
作为一个实验,我尝试将 kaggle-only-data(4436 个案例)在原始训练数据(17307 个案例)上重叠五次。
然而,自然泄露导致 CV 增加,但公共榜分数没有增加。因此,为了防止泄露,在 StratifiedKFold 之后,我整理了数据,使得验证数据中的数据不存在于训练数据中。结果,CV 和公共榜变得 closer 且 somewhat 相关。顺便说一下,当训练数据中保留重复项时分数更高,而删除验证数据中的重复项影响不大。(对于最终提交,我选择了在验证数据中删除重复项的数据。)
kaggle-only-data 中的重复数量对公共榜过拟合了,实际上记录最高私有榜分数 0.838 的 Notebook 有三个重复项。这是值得反思的,还有一种策略是考虑到私有数据的波动,提交重复项较少的 Notebook。
既然数据已经整理好了,我将用 LGBM 训练它。我尝试了各种超参数,但最终提交中保留的参数如下。
此外,训练期间的二次加权 kappa 的 a 和 b 也进行了调整,虽然公共榜分数提高了,但对私有榜没有影响。然而,这个调整确实有助于选择最终提交。(最终三个提交中的一个公共榜为 0.822,但为了安全起见,我们设定 a=2.975, b=1.011。)
推理期间的 a 值也进行了调整。这个 a 值是当 kaggle-only-data 在训练数据上重叠五次时的平均值。
最终提交中最好的是一个稳定的方案,私有榜 0.836(第 7 名),公共榜 0.826(第 7 名),CV 0.8275。最后,我想重申,多亏了大家,我才能取得这个结果。谢谢!
PS:写完这个之后,我在 AI 数学奥林匹克中获得了一枚银牌。这使我成为了大师(Master)!