我为什么把一个胜平负模型做成三分类,而不是二分类
平局在足球里是有信息量的结果,把它并进任何一边都会丢掉一部分判断。这篇文章讲这个选择的来龙去脉,以及我后来怎么读它输出的那三个数字。
先说结论:它不是一个"预测比赛结果"的东西
很多介绍会把这类模型说成"预测比赛结果",这个说法不准确。它算的是在当前信息下,三种结果各自的相对可能性。它不会告诉你"曼城会赢",只会告诉你"在这场比赛的信息下,主胜概率是 52%"。
这两个说法的差别很关键。前者是承诺,后者是倾向。倾向可以错,错了还能回头查是哪条信息出了问题;承诺一旦说出口,就只能用结果论英雄。
为什么不做二分类
二分类的好处很直观:训练简单,结果好读。代价是它会逼你做一个错误的合并——把"平"并进主队,或者并进客队。
可足球里的平局不是"没发生的事"。一场 0:0 的闷战和一场 3:3 的对攻,在数据上都是平局,但它们对双方状态的含义完全不同。如果模型被迫把平局并进某一边,它就会在那些"两队都不占明显优势"的比赛里,系统性地给出一个偏高的、其实并不存在的倾向。
平局不是"没有人赢",它本身就是一个有信息量的结果。把它合并掉,等于主动放弃了一部分判断力。
当然,三分类的代价也不小:训练更难,概率校准更麻烦,而且三个数字放在一起,读起来比一个数字费劲。但这些代价我认为值得付——因为换来的输出,直接对应三种真实的比赛结局,也更接近球迷自己看球时的思考方式。
我读它输出的三个数字时,注意什么
第一,看概率差,不看绝对值
52% / 26% / 22% 和 44% / 28% / 28%,前者的主胜倾向更明确,后者的主客差距很小。概率差比绝对概率更能说明倾向的强度。
第二,看模型有没有"底气"
概率高不代表模型有把握。模型的确定程度受样本量、信息完整度、分布是否偏移影响。底气不足的时候,概率再漂亮也要打折看。
第三,看局限有没有被触发
如果这场比赛正好撞上"临场伤停还没修正"或者"低级别联赛样本不足",那就该知道这组数字的参考价值要下调。
三种我见过最多的误读
- 把概率当确定性。52% 的主胜,意味着差不多一半的情况不会发生。它不是"大概率赢",只是"略占优"。
- 把高概率当高把握。概率和把握是两个维度。一组漂亮的三分类数字,背后可能是一个没什么底气的模型。
- 忽略局限直接套用。跨联赛、样本不足、临场变动,这三种情况下的输出可信度都要单独评估。
写在最后
这篇文章没有贴任何参数,也没给指标。原因很简单:一个模型值不值得信,不取决于它的数字有多漂亮,而取决于你知不知道它在什么时候会错。数字可以留到需要的时候再看,先把"它是什么、它不是什么"想清楚,更重要。