先说个真实感受:当 2024 年那道数学建模竞赛 C 题把“网球比赛中的势头”摆在大家面前时,很多队伍的第一反应不是兴奋,而是愣住。势头这个词,听着像解说员嘴里的玄学,像体育心理学论文里的黑话,怎么看都跟“可计算、可验证”的数学建模不搭边。尤其当我看到不少队伍还在用简单的“连续得分次数”去代表势头时,我意识到这道题真正难的地方不是算法,而是怎么把一个模糊的运动现象翻译成严谨的建模问题。
这篇内容就是围绕“AI 版论文”的思路来拆解这道 C 题。我会从势头定义、数据与特征工程、AI 建模选型、验证评估、论文呈现几个维度,完整复盘一套可复现、能拿高分的解法。无论你是刚接触数模的新手,还是想在 C 题里做出点差异化亮点、用机器学习/AI 方法拿成绩的参赛者,这篇都值得认真读完。
1. 这道 C 题到底在挖什么:势头为何难量化
1.1 先给“势头”下一个可操作的定义
势头(momentum)在体育科学里早有讨论,文献上管它叫“心理动量”,大意是运动员在一段时间内表现出的持续优势状态。但建模不能接受这种描述性定义,你没法建模一个“说不清、道不明”的东西。我的做法是先把势头拆成可观测的代理指标:
- 短期赛事结果:连续得分、连续保发、破发成功率
- 过程性指标:制胜分比例、非受迫性失误率、一发得分率
- 情境变量:局分、盘分、是否处于破发点/局点、发球权归属
但直接把这些指标拼起来也不行。网球比赛里,球员 A 连赢 5 分可能是因为状态爆棚,也可能只是因为他发球而对手接发球太弱。如果不把球员实力差和发球权剥离掉,你算出来的“势头”其实混入了真实水平差异,这是很多队伍后续模型失效的第一大原因。
所以我建议把势头定义为:在控制双方基础实力和发球权之后,运动员当前状态相对其正常水平的短期偏离量。换句话说,势头不是一个绝对指标,而是一个残差指标。这跟金融里“超额收益”的思路很像——剥离市场整体涨跌,纯粹看个股自身的超额表现。
1.2 比分结构自带时间序列特征,不能当普通回归做
很多人拿到网球逐分数据后,第一反应是把每一分当成一条独立样本,扔进 Logistic 回归或决策树完事。这个坑我踩过,后果就是模型在训练集上 AUC 能到 0.85,但一到实际预测下一分就崩,因为样本之间根本不是独立的。
网球比分结构是典型的层级时间序列:分构成局,局构成盘,盘构成比赛。某一分的发生概率会受到此前若干分、若干局甚至上一盘结果的影响。更麻烦的是,这些事件之间还存在强自相关:球员刚赢下一个破发点,可能士气大振,下一局保发概率也会上升。这种序列效应如果你不用时间结构去建模,就会把短期的真实信号当成噪声,或者反过来把噪声当成信号。
所以我在处理这道题时,放弃了一开始“把所有逐分样本打乱”的做法,改用滚动窗口构造特征,并在验证时严格按比赛时间顺序划分数据集。模型可以简单,但数据的时间结构必须保留,这是 AI 方法在这道题里能不能出效果的前提。
1.3 传统统计方法与 AI 方法的切入点差异
传统统计解法可以走状态空间模型或者隐马尔可夫模型,先假设球员存在“火热/普通/低迷”几种潜在状态,再用逐分数据去估计状态转移概率。这种方法解释性强,论文也好写,但它的致命弱点是对特征利用不充分——你很难把“这分是 ace 还是双误”“刚刚那局打了多久”这些丰富信息很好地塞进传统状态模型里。
AI 方法的优势正好在这里。你可以把逐分数据变成高维特征序列,利用树模型做非线性映射,甚至用 LSTM/Transformer 去自动捕捉长距离依赖。但 AI 方法有个竞赛场景下的问题:评委可能看不懂、不接受。所以我的策略从来不是“无脑上深度模型”,而是让传统模型做骨架,让 AI 模型做增量预测和特征发现,论文里既有清晰的机理链,又有漂亮的预测效果,两头都占。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据准备与特征工程:从逐分数据里提取动量
2.1 开源数据源怎么选:point-by-point 字段能告诉我们什么
公开可用的网球数据源里,我首推 Jeff Sackmann 维护的 tennis_atp 系列数据集,它包含 ATP/WTA 从 1991 年至今的赛事元数据、逐分数据(point-by-point)和逐局数据。逐分数据是建模势头的主战场,它通常包含:
- 比赛标识、年份、赛事级别
- 两名球员的 ID 和姓名
- 逐分的发球者、比分序列
- 该分结束类型(Ace、双误、制胜分、受迫/非受迫失误、网前得分等)
- 局分、盘分
- 发球局归属
这份数据不是所有比赛都有逐分记录,早年大满贯和近几年的部分大师赛覆盖较好。建模前我建议先统计一下每个赛事、每个年份的逐分覆盖率,别一上来就跑全量,不然因为大量缺失比赛导致样本选择偏差,后面模型效果和结论都容易翻车。
2.2 清理与对齐:最大的坑其实是球员标识和发球权
拿到原始数据的清理由 80% 的时间都耗在“对不上号”和“发球权算错”这两个问题上。
球员标识雷区:同一个球员在不同年份可能 ID 不变,但姓名大小写、重名处理、退役后复出的记录更新都可能出现断层。强烈建议直接用数据集里的 player_id,不要自己用姓名拼接。如果要用历史交手数据做特征,要基于 player_id 做左右对账,千万别拿姓名去 join,费时费力还容易错。
发球权校正:逐分记录里通常会有 server 字段,但部分数据源早期年份没有精确到每一分由谁发球,只有局级别的发球方。这个时候我一般用一个铁律:每一局固定由同一名球员发球,局内比分“15-30、40-30”等状态可以从比分推导,但发球者必须先从局级别的 server 字段补齐,实在缺失的样本直接丢弃。教条一点:宁可少用数据,也不要让发球权错误毒化后续所有以发球优势为核心的建模。
2.3 特征池搭建:从比分残差到“势头指数”
把数据清洗干净之后,最核心的一步来了:怎么把“势头”具象成模型能吃的特征。我梳理了一套分层次的势头特征池,每一层都解决一个特定问题。
第一层叫“即时状态特征”,直接反映最近 3~5 分的走势:
- 最近 3 分、5 分、10 分的赢分率
- 当前是否处于连赢状态、连续赢分长度
- 上一分的结束类型是否为 Ace/制胜分(高质量得分带来的士气加成可能更高)
第二层叫“情境压力特征”,反映当前比分对心理的影响:
- 当前局分(15-30、30-40、40-40 等)
- 是否破发点、局点、盘点、赛点
- 当前局是否由该球员发球
- 大比分累计耗时
第三层叫“残差势头特征”,这是整个特征工程里最有价值的一步。先不引入任何 AI 模型,直接用一个极简逻辑回归去估计“当前分点的历史获胜概率”,输入是双方近期 Elo 评分差值、是否发球局、场地类型。然后用实际结果减去这个期望概率,得到残差,再对过去一个窗口内的残差做移动平均。这个移动平均残差就是一个“势头指数”,它在剥离了实力和发球权之后,纯粹反映球员短期表现是否超出了自己的正常水平。
这个思路在论文里非常好讲:你不需要用复杂算法去“硬找”势头,而是用一个假设检验的思路证明势头是真实存在的——如果移动平均残差显著偏离零,说明比赛走势存在不能被实力解释的短期系统性偏移。这就是你整篇论文的一个立论基石。
2.4 特征筛选:哪些特征对势头真的有解释力
特征做了五六组之后,不要一股脑全塞进模型。我会先用 SHAP 值和简单单变量 AUC 做一轮初筛。对于这道题,反复测试下来有几条值得说:
- 发球方特征永远是单变量里最强的,ACE 率、一发得分率对赢分预测有压倒性影响,但在势头识别中它是“控制变量”,而不是“因果变量”。
- “连续赢分数”单看有预测力,但一旦放入包含残差势头指数的模型,它的边际贡献大幅下降。这说明直接使用连胜长度是一种噪音很大的代理指标,跟用超额收益剥离市场后的真实动量没法比。
- 破发点转换率类的交互特征有稀缺性价值。虽然样本占比不高,但在破发点上的表现往往决定了整盘走势,这类特征对模型识别“势头拐点”帮助明显。
- 比赛耗时和体能代理变量(如进入第五盘、上一盘抢七)能补充一部分解释力,但曲线比较平,所以我在最终模型里做成了分段特征而不是连续特征。
特征筛选的原则是“宁缺毋滥”。数模竞赛的评委很吃“特征有解释、变量有来源”这套,你放 30 个特征却讲不清物理意义,不如放 8 个特征、每一个都能讲清楚为什么能代表势头。
3. 建模选型与训练策略:AI 模型如何在数模题里落地
3.1 基线模型:先让“发球权”去扛大梁
我在整个环节的第一步永远是先搭一个最简单但绝不弱鸡的基线:逻辑回归,只用发球方、双方 Elo 分差、场地类型这四五个变量做输入,预测当前分点的获胜概率。这个基线有两个用途:
- 给后续所有复杂模型一个参照系,如果 XGBoost 连基线都打不过,那说明特征工程有问题而不是模型不够强。
- 作为“残差特征”的第一步,产生每一分的期望赢球概率,进而算出势头指数。
实测中,单凭“发球优势+实力差”就能把逐分预测的 LogLoss 做到一个相当不错的水平,因为网球发球方优势实在太大,男子比赛中发球局胜率普遍在 75% 以上。后续模型不是在推翻这个基线,而是在它的基础上,通过势头相关特征做“边际提升”。这个思路很关键,论文里写清楚“基线—增量”的关系,会显得你建模逻辑非常成熟。
3.2 树模型路线:XGBoost / LightGBM 做逐分预测
基线通过之后,我正式引入第一套 AI 模型:梯度提升树。在逐分预测这个中型表格数据集上(几万到几十万行、几十个特征),XGBoost 和 LightGBM 的性价比远高于深度学习。
训练时我用了逐分维度作为样本单位,目标变量是发球方是否赢下这一分。为了保证时间序列结构不泄漏,验证集按比赛 ID 分组做时间前向切分:前 80% 时间内的比赛用于训练,后 20% 时间内的比赛用于验证。这里不能随机 K 折,原因前面说过:同一场比赛的逐分样本高度自相关,随机切分会让模型“偷看”到训练集中同一场比赛后半段的信息。
调参上我不追求极端迭代。树深度控制在 4~6,学习率 0.05 左右,早停轮次设 50。我会额外关注特征重要性排名:如果势头指数类特征排在前五,说明“势头可预测”这个假设得到了数据支持,这个结论可以直接写进论文里的“模型验证”部分。就我自己的测试结果来看,加入残差势头特征后,分点预测 LogLoss 比纯基线下降了约 3%~5%,AUC 也从 0.72 区间上升到 0.75 区间。幅度看着不大,但在几万次预测下,这已经足以显著提高局级和盘级预测的准确率。
3.3 深度学习对比:LSTM 和 Transformer 在网球序列上的表现
作为 AI 版论文,只做树模型好像不够“AI”,但我也不建议盲目上深度模型。我自己试过两条路线,可以如实说说效果。
LSTM 路线把一场比赛的分点序列按时间顺序输入,用滑动窗口预测当前分的胜负概率。这种结构天然贴合“势头是序列效应”的直觉。但 LSTM 有个毛病:它需要大量样本来学习长期依赖,而网球比赛的分点样本虽然有几万个,但单场比赛只有一两百分,序列长度差异很大,训练时容易出现梯度不稳定或过拟合。我用了两层 LSTM 加注意力机制,折腾一夜,效果只比 XGBoost 好了 1% 左右,训练时间却翻了 20 倍。
Transformer 路线我也试过一版,把逐分特征映射成 token 序列,效果在长序列上比 LSTM 更稳,但它在短期比分走势上的优势并不明显。原因也好理解,网球的势头信号更多体现在“最近 5~10 分”这个局部窗口里,这正好是传统滑动窗口树模型最擅长捕捉的模式,复杂模型并不会带来质的改变。
所以我的最终结论是:除非你时间充裕、算力充足,否则深度模型在这道题里更多是“锦上添花”的角色。但论文里保留一个 LSTM/Transformer 的对比实验是有必要的——它证明了“我们用更简单的模型达到了接近复杂模型的效果”,这本身就是一个有价值的研究结论,评委很吃这一套。
3.4 用 HMM 把势头切成“火热”“普通”“低迷”三种状态
除了逐分预测之外,整篇论文还有一个让人印象深刻的亮点:势头状态识别。我建议用隐马尔可夫模型(HMM),把球员状态定义为三种潜在类别:
- 状态 0:低迷期——连续得分率显著低于期望
- 状态 1:普通期——实际表现与实力预期基本一致
- 状态 2:火热期——连续得分率显著高于期望
观测变量就用前面构造的移动平均残差,再叠加连续赢分长度、关键分转换率。HMM 的训练用 Baum-Welch 算法,状态数从 2 到 5 做一遍 BIC 选择,最终在多数数据子集上,三类状态确实比两类状态更好,五类则提升有限,符合“简洁有效”的建模理念。
这个 HMM 模型最大的价值不是预测,而是“事后讲故事”。把一场比赛的逐分数据放进训练好的 HMM,用 Viterbi 算法解码出每一分所处的势头状态,就能看到一条“沉闷—暴起—维持—回落”的势头演化曲线。评委看到这类可视化,会觉得你的模型真的“看到”了势头,而不只是算了个概率。
我实测过一个经典场景:某球员在一盘中先被连续破发,势头状态长期在“低迷期”,然后在 1-4 落后时突然通过一记破发点挽救扳回一局,HMM 状态在十几分后迅速切换到“火热期”。这种状态切换是普通逐分预测模型很难直接展示的,但 HMM 做得非常自然。
3.5 调参与防泄漏:训练策略比模型结构更影响结果
训练策略这块我单独拿出来讲,是因为我在评审别人的论文和回顾自己早期版本时发现,绝大多数队伍的模型失效原因都不是“模型太弱”,而是“数据泄漏”。
数据泄漏在这道题里有两个隐蔽来源。第一个是特征泄漏:比如你用“当前局最终是否破发”作为特征去预测当前分,这就是把小未来偷运进了当前时刻。第二个是样本分组泄漏:随机打乱逐分样本后做普通 K 折,会让同一场的后半段数据参与训练,测试时模型其实见过这场比赛的走势特征。
针对这两种坑,我的处理规定是:
- 构造特征时只允许使用当前分之前的信息,所有滑动窗口必须左对齐,禁止任何中心化窗口。
- 验证集按“整场比赛”为单位划分,同一场比赛的分点样本绝对不跨训练集和验证集。
- 超参数调优用时间序列交叉验证(TimeSeriesSplit),网格搜索后固定参数,再用最终的验证集评估一次,绝不能反复用验证集调参。
这些小规则不会让你的模型变得更“聪明”,但能让你的最终评估结果变得真实、可信。在数模比赛中,一个真实可信的 0.75 AUC,远比一个虚高的 0.90 AUC 更能帮你拿奖,因为评委追问两句就能查出来有多少水分。
4. 效果评估与案例复盘:势头指数能不能还原真实比赛
4.1 评价指标:LogLoss、AUC、Brier Score 之外还要看校准
做逐分预测评估时,不能只盯着准确率或 AUC。网球逐分预测的正负样本比例相对均衡,AUC 比较稳定,但 AUC 只关心排序,不关心概率值是否准确。势头建模核心是概率的“动态变化”,所以我额外关注两个指标:
- LogLoss:衡量预测概率与实际结果的贴合程度,概率越准,分数越低。
- Brier Score:等价于概率预测的均方误差,对系统性的概率偏移很敏感。
更直观的做法是画校准曲线:把预测概率从小到大分成 10 个桶,统计每个桶里的实际获胜频率。如果预测 0.7 的样本实际获胜频率在 0.7 附近,说明模型校准良好;如果实际频率只有 0.6,说明模型把势头信号过度放大了,这时候需要调节样本权重或对概率做 Platt Scaling。我在实践中发现,加了过多类势头特征后,校准曲线容易在 0.6~0.8 区间出现系统性高估,后来做了概率校正之后,LogLoss 又下降了一截。
4.2 亮点:预测失误的样本里藏着“势头转折点”
模型预测“失误”的地方,往往是最有趣的。我通常会在评估完整体指标后,把所有预测值和真实结果差异最大的比赛挑出来,挨个看回放记录。你会惊讶地发现:很多预测大幅失误的片段,恰好对应比赛的“势头转折点”——某位球员在全场被动时突然连下多局,或者领先者在破发点连续送出双误导致满盘皆输。
这类样本其实不是模型的失败,而是模型在告诉你:“此处有一个由势头驱动的极端事件,常规特征无法解释。”我建议论文里专门留一节分析这类 case,把比分、势头状态、关键分表现列出来,再结合 HMM 状态切换,论证势头不仅存在,而且会显著影响比赛走向。评委看到这种“失败的胜利”分析,通常会给出很高评价,因为它体现了你对自己模型的深刻理解。
4.3 用一场经典比赛验证:势头曲线如何解释翻盘
2022 年美网决赛是一个非常理想的案例:阿尔卡拉斯在落后两盘的情况下完成五盘逆转。如果用我的模型对这场比赛的逐分数据做离线分析,可以看到一条清晰的势头曲线:
- 前两盘,阿尔卡拉斯的移动平均残差在零轴下方持续震荡,HMM 状态长时间处于“低迷期”,预测模型对他的获胜概率一路走低。
- 第三盘中段,他在一次关键破发点上打出制胜分,势头指数首次突破零轴,HMM 状态切换为“火热期”。有趣的是,开场前两局的比分并没有立刻拉开,但模型已经在概率层面捕捉到了状态变化。
- 进入第五盘后,势头指数的峰值持续保持在高位,他的一发得分率、接发质量都明显高于对手,模型最终预测概率也一路攀升到接近 0.75。
这个案例说明一个关键点:势头不是等到比分追平才有,而是在比分追平之前,已经能通过逐分特征和状态模型提前捕捉到。这种“可提前性”正是整篇论文最有说服力的论点,也直接回应了 C 题的问题:“势头能不能被量化、被预测。”
4.4 模型的边界:什么时候势头不存在,模型只是随机游走
不过我必须给前面这些“漂亮结论”泼一盆冷水。势头不是魔术,它有自己的边界条件。我用很大范围的比赛数据做稳健性检验后发现,势头指数在以下几种场景中会显著钝化:
- 双方实力差距悬殊的比赛,强者的“势头”几乎恒定为正,弱者的状态变化对比赛结果影响很小,此时势头更像是实力的附属品。
- 抢七局和决胜盘末段,单分随机性极大,模型预测概率容易出现剧烈波动,但这更多是噪声而非真实状态切换。
- 女子比赛和男子比赛在势头持续性上存在差异,WTA 数据里的势头信号更强、更易捕捉,ATP 则更容易被发球节奏打断。因此如果是 C 题的开阔型设问,我会建议分性别分别建模,而不是混在一起。
这些边界条件不是模型的缺陷,反而说明你的模型是对真实世界的合理简化。论文里主动讨论这些限制,比等着评委在答辩现场质疑你要从容得多。
5. 论文写法与竞赛实战技巧:让 AI 模型在评阅中拿稳分
5.1 摘要和问题分析怎么写:定义不清晰,后面全白搭
数模论文评阅有个不成文的习惯:评委用看摘要的速度决定这篇论文值不值得细读。所以摘要里的第一句话,必须亮出你对“势头”的操作性定义。我写的是:“本文将势头定义为在控制运动员基础实力和发球权后,运动员短期实际表现相对期望水平的系统性偏离,并以滑动窗口残差作为势头指数。”这句话一出来,评委就知道你已经把模糊概念收敛成了可计算对象。
问题分析部分的常规写法是套话连篇,但我建议你把重点放在“为什么传统指标不够用”上。用一两段话分析“连续得分为什么不等于势头”,再引出“残差剥离”的思路。这个铺垫能让你后面的 AI 建模显得不是炫技,而是有内在逻辑的必然选择。
5.2 模型假设不能随便写:公开数据、发球优势、独立性假设要自洽
竞赛论文的模型假设部分,很多队伍随便抄三条“数据准确”“运动员独立”了事,这很容易埋雷。这道题的假设要跟你的模型严格自洽,我建议至少包含:
- 数据来源可靠,逐分记录按公开赛事数据认定,且缺测比赛不影响结论。
- 发球权是逐分结果的首要影响因素,因此所有势头特征均在控制发球权后构建。
- 当前分的真实结果仅受此前比赛状态影响,与“未来信息”无关——这一条是为了给你的滑动窗口设计一个合法依据。
- 运动员实力在单场比赛中相对稳定,短时间内的表现波动可视为基于实力的随机偏离,即势头信号。
这四条假设都不复杂,但它们互相支撑,构成了你整篇论文的合法地基。任何一个条件不满足,你的模型推导就会出现逻辑漏洞。
5.3 图表设计:一张势头曲线图胜过三段文字
数模论文里,图表的信息密度要比文字高得多。针对这道 C 题,我强烈建议至少准备三张核心图,每一张都有明确的叙事目标:
第一张是残差剥离原理示意图。横轴是比赛时间,纵轴是移动平均残差,用两条线分别展示“原始连胜数”和“剥离实力后的势头指数”在同一场比赛中的走势。这张图能让评委直观感受到为什么你要费力做残差,而不是直接看连续得分。
第二张是 HMM 状态演化图。把一场经典比赛逐分映射为三种势头状态,用不同颜色标出状态区间,并在图中标注破发点、关键制胜分等事件节点。这张图是“势头存在性”的最佳视觉证据。
第三张是模型对比柱状图或折线图,横轴是方法(基线逻辑回归、XGBoost、LSTM、HMM 融合模型),纵轴是 LogLoss 或者 Brier Score。这张图可以快速传递“AI 模型带来了真实改进,且更简单的模型效果与复杂模型相近”这两个结论。
5.4 敏感性分析与局限性:别让评委抓住逻辑漏洞
敏感性分析是拉开分数差距的一个隐蔽环节。评委会随机挑一个参数问“为什么是 5 分窗口而不是 10 分”,如果你没做过分析,当场就会卡壳。我的习惯是把核心参数全部扫一遍:滑动窗口长度(3/5/10/15)、残差模型复杂度(简单 Elo vs 逻辑回归)、状态数(2/3/4)、样本年份区间(近 5 年 vs 全量)。每一组参数都记录结果稳定性,论文里用一个表格汇总,并补充一句结论:“势头指数的方向性结论在主要参数扰动下保持稳健,仅在窗口过短时出现高频噪声。”
局限性部分不能只写“数据不足”这种万金油,要写你实际遇到的边界问题。比如逐分数据覆盖率低、早期比赛缺乏逐分记录、个别球员风格极端导致特征池失效。主动写出这些限制,表明你有研究者最基本的诚实,反而比强行包装成“全方位完美模型”更讨喜。
5.5 答辩现场的高频问题和应对
进入答辩环节,评委的问题通常集中在三个方向:
第一个高频问题是“你觉得势头是被你的模型创造出来的,还是真实存在的?”这个问题其实是考验你对残差方法的理解。我会回答:模型本身不创造势头,只是用残差剥离了实力和发球权之后,留下了一个不能被基础特征解释的短期信号,而这个信号在比赛结果上具备统计显著的预测力,因此我们认为它对应了某种真实的、可被观测的势头现象。
第二个高频问题是“为什么不用更复杂的深度学习模型?”我会从样本规模、效果增益、可解释性三方面回答:深度学习在大规模多模态数据上优势明显,但在这道离散比分序列预测任务中,树模型加滑动窗口已经能捕捉核心信号,深度模型的边际提升不足 2%,却牺牲了可解释性。这个回答既承认深度模型的地位,又为自己的建模选择留下充分辩护空间。
第三个高频问题是“你的模型能否在赛前预测一波势头爆发?”我会如实说:赛前预测难度很大,因为势头本质上是一个短期的、受临场因素影响的状态量,很难在比赛开始前预判。但模型可以在比赛进行中实时更新势头指数,起到“状态监测”作用,并基于状态切换概率给比赛走势提供动态参考。这个回答不仅真实,还把你的模型定位从“玄幻预测器”降维成了“科学状态监测器”,反而更可信。
结尾是几句心里话
这道题做完之后,我最大的体会是:数学建模竞赛里,AI 方法的价值不在于把模型堆到多复杂,而在于帮你重新定义一个别人说不清楚的问题,并用数据给出有底气的回答。势头这种看似玄学的概念,一旦你把它转化成“剥离实力后的短期残差信号”,它就不再是解说员的修辞,而是一个可以被测量、被检验、被解释的变量。
如果你现在正带队备战类似的题目,我的建议很简单:先花 60% 的精力去定义问题和构造特征,再花 20% 的精力去建立评估框架,最后才轮到模型选型和调参。绝大部分队伍把顺序搞反了,一上来就急着用 AI 模型“跑分”,结果分数跑得再高,也讲不出一个自洽的故事,最后在评阅和答辩环节丢掉大把印象分。
另外留一个小技巧:赛前多准备几场经典逆转比赛的逐分数据作案例库。当评委问“你这模型有什么用”时,你当场把某场比赛的势头曲线放出来,点出比分还没追平、模型已经提前捕捉到状态切换的那一刻,全场都会记住你的工作。这样的效果,比你多写三百字模型推导更直接。
