430. March Machine Learning Mania 2021 - NCAAM | ncaam-march-mania-2021
感谢 Kaggle 和 Jeff Sonas 这么多年来举办这项比赛——我认为 Jeff 尤其是一位杰出的竞赛主办方。回顾过去的竞赛论坛,有很多有益且富有洞察力的互动。
这些比赛既是有趣的练习,也会让人上瘾——我在 2017 年有点过头了,绘制了所有人的提交结果,并计算了所有可能的结果。
我喜欢早期竞赛论坛中表现出的独创性和想法,比如输入球员的身高以及球队前往比赛地点的距离,但对我来说,最终目标只是做别人没做过的事情,在“爆冷空间”中占据一席之地。
由于今年锦标赛的特殊情况,我选择重用2019 年的 Madtown 方法。看看他们的帖子,他们解释得非常精彩。总结如下:他们使用 pystan 进行贝叶斯逻辑回归,然后将最初位于 0.23 和 0.77 之间的中等预测在一个文件中全部翻转为 0.36,在另一个文件中翻转为 0.64,从而使两个提交结果之间产生高度分歧——这样做会改变大约一半的评分结果行。根据这些势均力敌的比赛结果,其中一个提交(希望)会比另一个获得更多正确的 0.64,而对数尺度的非线性意味着整体平均损失会更低。
以防其他人也在重用这个方法,我决定增加更多的随机性。我没有使用球队 ID 来划分低置信度的预测,而是尝试了纯随机的 50/50 分区,并观察这对过去比赛的 log-loss 和 LB 排名的影响。其他方案可能比单纯的随机更好,但我没来得及尝试。在过去几年的数据上运行他们的模型,然后以不同的方式翻转那些中等预测 1000 次,并计算这对提交对产生的 LB 排名,我得到:
| 年份 | 最佳排名 | Top11概率 | 中位排名 |
|---|---|---|---|
| 2014 | 1 | .327 | 16 |
| 2015 | 1 | .097 | 114 |
| 2016 | 37 | .000 | 349 |
| 2017 | 1 | .387 | 12 |
| 2018 | 1 | .130 | 83 |
| 2019 | 1 | .267 | 55 |
我也尝试了对不同阈值/常数进行简单的网格搜索,但这只是证实了他们使用的数值似乎是最优的。
中位数结果通常比我实际的过去结果要好,也比预期的要好;而且大约有 25% 的“期望金牌”概率。测试这段代码并观察 log-loss 不对称性的作用真的很有趣,这是一个古怪、非线性、(对我来说)反直觉的技巧。我很失望自己没想到这一点,但是话又说回来,谁想到了呢?
为了回答这个问题,以下是我的提交热力图:
请注意,深色(高置信度)预测在两者中是相同的,但较浅的红/蓝色(翻转的中等预测)被设定为 0.36 和 0.64,并在每次提交中交换颜色。
以下是公开的过去提交结果的同类热力图: