AI 摘要
AI
正在生成摘要...

有的内容不堪入目,所以我会隐去。能够公开的内容,我会按照从《原则》里学到的思路公开。这里得做出说明:公开并不意味着对所有人毫无保留。对于我认为值得分享的人,我乐意分享;对于其他人,我会有所隐瞒。如果有人对某些东西感兴趣,可以来找我,我再判断是否要分享。

为了让阅读省力,下面主要简单介绍做过的工作和成果。具体赛题和比赛流程不做介绍。


24 年:一份现在看来有些狂妄的规划

24 年刚入学的时候,我什么都不懂。因为当时觉得自己的高考和志愿选择是一次巨大的失败,所以我产生了一个很强烈的想法:我要通过比赛证明自己不属于这里。 于是给自己做了一份现在看来有些狂妄的规划:
25 年 4 月,蓝桥杯省一;

25 年 8 月,大数据挑战赛国奖;

25 年年底,数学建模、大学生数学竞赛国奖。

随后开始kaggle竞赛,拿金牌。

现在回头看,确实有些自视甚高。但我倒不觉得这件事需要特别否定。对当时的我来说,至少有一个足够高的目标,比什么都不做要好。求上得中,求中得下,求下无所得。 这是我的观点。只是后来发现,目标和现实之间的距离比想象得大得多。原本规划中的很多东西并没有发生。反而是在这段时间里,我开始花更多时间处理自己的认知、思想和逻辑问题。

所以严格来说,我真正意义上的竞赛之旅,是从 25 年 11 月开始的。


从重新学习 Kaggle 开始

竞赛前期其实已经有一部分知识储备。25 年 11 月开始,我先重新回顾 Kaggle 和蓝桥杯。到了 1 月,完成了两个 Kaggle Playground。2 月,第一次正式比赛打铁。这个阶段给我的一个重要直觉是:有些赛题需要先理解问题,而不是先找模型。 面对一个陌生问题,有时候需要去寻找相关的行业背景知识,了解这个行业过去是怎么解决问题的,相关工作的演进过程是什么,以及当前比较好的方案到底在做什么。

这件事情改变了我后来做比赛的方式。以前比较容易陷入“拿到数据—训练模型—调参数”的路径。后来会先问:

这个问题到底是什么?

为什么会有这些数据?

这个领域过去是怎么做的?

现在最好的方案是什么?

模型只是后面的事情。


与此同时,我也在并行准备蓝桥杯。事实证明,这种安排对我来说效果很差。我实在不能很好地同时分心工作,蓝桥杯的学习效果极差。期间还做过一个 Agent。做完以后,在我自己的判断里,属于大佬所说的:

“The work is completely amateurish.”

所以废弃。现在回头看,废弃并不是什么特别值得遗憾的事情。至少它让我知道了一件事:

做出来不等于值得继续做。


蓝桥杯:发现自己缺的不是算法,而是解题逻辑

之后开始集中准备蓝桥杯。一共两个月。熟悉库花了半个多月,剩下一个半月学习算法逻辑和练手。时间其实很短。最后真正学到的东西也不多,主要就是模拟、贪心、暴力、二分、DFS和比较简单的 DP。
最后的成绩是:
省赛三等奖。

距离最开始规划的省一,差得相当远。不过比赛结束之后,我重新看了自己的排名和题目。在没有看别人题解的情况下,我事后把其中一道题重新写了一遍,发现有一个边界其实可以优化,从而提升时间复杂度,最终通过全部测试用例。如果比赛的时候能够想到这一点,省二就到手了。OvO。

这件事情让我对自己有了一个比较明确的判断:我现在真正缺的不是知道多少算法,而是解题逻辑。 很多时候并不是完全不会某个知识点,而是面对一道题的时候,不知道应该从什么地方开始想。所以以后如果继续冲蓝桥杯,我真正想补的不是更多模板,而是:为什么这么想。


重新做 Kaggle

蓝桥杯结束是在 4 月中旬。期间 Kaggle 上还有一个比较适合继续做的比赛。从 3 月开始做到 4 月,任务是预测 2026 NCAA 篮球锦标赛。最终距离铜牌区差了一些。这个结果并不算好。但它进一步让我意识到,数据竞赛和单纯的算法题不太一样。

你不能只考虑模型本身。

如果不了解问题背后的领域,不知道数据如何产生,也不知道过去的人怎么处理这个问题,那么很容易只是用一个复杂模型去解决一个自己并没有真正理解的问题。所以后来做比赛,我越来越习惯先找行业背景、论文、已有方案和相关工作的演进,再决定自己的路线。


大数据挑战赛:第一次真正体会到迭代

5 月初开始做中国高校计算机能力大赛——大数据挑战赛,一直做到 8 月。这次的工作,在导师的指导下,我首先做的是广泛收集各种方案和文献。然后确定自己的技术路线。真正开始写代码以后,我又推倒重来了三次。

第一次变换时序模型(transform到gru)。

之后开始尝试多模型(lstm和mlp)。

再后来做时序模型和排序模型的多模型融合(lightgbm、gru和mlp)。在这个基础上继续增加评估系统、裁剪模型、增加数据集、调整特征,以及处理最终输出结果。这一部分进行了 9 次迭代。

最终提交的是第七代方案 单lightgbm、91个因子。正式提交阶段:Rank 25 / 899。 复现之后:Rank 14。 最后获得:国家二等奖。

这次比赛对我来说比较重要的地方,并不只是奖项。以前我对“做一个项目”的理解其实很简单:找到一个模型,训练,调参,提交。

但这次之后,我开始真正意识到,一个相对完整的工作并不是只围绕模型展开。最开始,我更多只是凭自己的直觉去理解问题、收集资料。之后在导师的指导下,我逐渐按照“找已有方案 → 确定路线 → 实现 → 实验”的逻辑推进工作。真正做起来以后,又不断遇到新的问题,于是开始经历失败、推倒重来、重新评估和继续迭代。

所以后来回头看,一个相对完整的工作更像是:

问题理解 → 收集资料 → 找已有方案 → 确定路线 → 实现 → 实验 → 失败 → 推倒重来 → 评估 → 迭代 → 最终方案

这里面有些东西是自己摸索出来的,有些则是在导师的指导下逐渐建立起来的。对我来说,比较重要的变化并不是突然学会了一个完整的方法,而是开始知道,一个项目本来就应该经历这样的过程,而不是找到一个模型、训练一下、调参之后就结束。


现在

现在正在做 Kaggle 自行组织的 Kaggriculture 比赛。比赛说是要做一个智能体,但我目前工作的核心其实更多在强化学习上。暂时处于铜牌区。

接下来计划做 IEEE BigData Cup 2026。这个比赛不给 Kaggle 的牌子。但我觉得比赛内容本身有价值,所以还是打算花一些心思做。

至于之后的竞赛,目前比较明确的目标还是蓝桥杯。希望下一次能够冲一下国奖。

但如果真的再参加一次,我想做的事情可能和最开始已经不太一样。
以前的目标是:我要拿到一个什么奖。 现在更希望:我要把解题逻辑真正学明白。


比赛之外

比赛之外,我也开始尝试做一些自己的东西。之前做过一个Agent,最后因为觉得完成度太差而废弃。后来重新开始思考Agent到底应该解决什么问题,而不是因为“Agent”是一个热门概念,就去做一个Agent。

目前也在做论文阅读Agent。它让我开始尝试把一个真实的工作流程拆开来看:论文从哪里来,怎么阅读,怎么提取信息,怎么组织信息,以及一个系统到底应该在什么地方真正帮助研究者。除此之外,也开始做 TinyML 和声学虫害监测相关的工作。

这些项目和竞赛不太一样。竞赛的问题已经摆在那里。但项目首先需要回答的,是:我要解决什么问题? 这也是我现在越来越感兴趣的地方。


从证明自己,到真正做事情

所以现在再回头看 24 年的那份规划,我确实觉得当时有些自视甚高。因为那时候最重要的事情是:证明自己。

后来一次次比赛告诉我,我没有自己想象得那么厉害。Kaggle 会打铁,蓝桥杯会拿省三。原本以为能够做到的事情,最后可能做不到。做出来的 Agent,也可能回头看觉得完全 amateurish,然后直接废弃。

但另外一些东西又会慢慢变好。比如大数据挑战赛,从最开始的方案,到一次次推倒重来,最后正式提交 Rank 25,复现 Rank 14,拿到国家二等奖。这些事情慢慢让我接受了一个事实:失败并不一定是在证明我不行,它也可能只是在告诉我还缺什么。 比赛真正有价值的地方,也逐渐从“赢”变成了“反馈”。

  1. 模型为什么不行?

  2. 数据哪里有问题?

  3. 是不是没有理解这个行业?

  4. 是不是方案本身就错了?

  5. 是不是实验做得不够?

  6. 是不是自己的解题逻辑有问题?

  7. 重新做。

这和 24 年时的想法已经不太一样了。之前参加比赛,是为了证明自己不属于这里。现在参加比赛,更像是在问:我到底能不能把一个问题做好? 这两个问题看起来很接近,实际上完全不同。前一个需要别人给我答案。后一个只能自己去找答案。而我现在,大概才刚刚开始学会后一个。

评论