NOAI 2025 复赛第2题 | 特征工程:为什么"懂化学"比"会调参"更重要
特征工程 回归
用NOAI复赛真题,构建孩子的AI知识图谱
每个知识点后续都会单独展开讲解,欢迎先关注收藏
这道题在做什么
一个金属有机化学反应,涉及5个基元反应和8种物质。给你1,000组实验数据(不同初始浓度下,各物质浓度随时间的变化曲线)。你要预测:在新的初始浓度条件下,某种反应物浓度减半需要多长时间(半衰期)。
题目原文直接说了:"对化学反应本身分析得越充分,求解越精确。"
知识全景
这道题的关键不在于模型有多复杂,而在于你对数据和问题本身的理解有多深。
| 阶段 | 知识点 |
| 理解问题 | ① 回归任务 ② 化学动力学基础 |
| 准备数据 | ③ 特征工程 ④ 半衰期的提取 |
| 选择模型 | ⑤ 回归模型的选择 |
| 评估结果 | ⑥ 自定义评分函数 |
| 思维方法 | ⑦ 领域知识 vs 模型复杂度 |
① 回归任务
2024年第1题(投篮命中率预测)是分类——输出0或1。这道题是回归——输出一个连续的数值(半衰期,单位是秒)。
分类和回归的区别:
• 分类的输出是类别标签("是/否""A/B/C"),最终通过Softmax或Sigmoid转换成概率
• 回归的输出是一个实数,可以是任何值(温度、价格、时间……)
回归任务的损失函数通常用均方误差(MSE):预测值和真实值的差的平方,然后取平均。平方的作用是让大误差受到更重的惩罚。
回归和分类用的模型可以一样(MLP、随机森林、XGBoost等),只是最后一层的输出方式和损失函数不同。
② 化学动力学基础
化学反应的速率取决于反应物的浓度。浓度越高,分子碰撞的机会越多,反应越快。
这道题的5个基元反应,每个都有一个速率常数k。反应速率 = k × 各反应物浓度的乘积。8种物质的浓度随时间变化,变化的规律由一组微分方程描述。
初始浓度和半衰期之间的关系不是简单的线性关系,中间隔了5个基元反应的复杂耦合。直接拿3个初始浓度作为输入训一个模型,很难学到这种复杂关系。
这就是为什么题目说"不建议使用太复杂的模型"——真正的杠杆不在模型,在特征。
③ 特征工程
特征工程是从原始数据中构造出对预测更有帮助的输入变量。
这道题的原始输入只有3个:三种物质的初始浓度。但你可以根据化学知识构造更多特征:
• 浓度的乘积(比如c₁ × c₂)——因为反应速率和浓度乘积有关
• 浓度的比值(比如c₁ / c₂)——因为不同反应物的相对比例影响反应路径
• 浓度的幂次(比如c₃²)——因为某些反应是二级反应,速率和浓度的平方成正比
这些特征不是随便猜的,它们来自对化学反应方程的理解。
比如,如果某个基元反应的速率方程是:
r = k · c(A) · c(B)
那 c(A)×c(B) 就是一个有物理意义的特征——它直接对应这个反应的速率。
特征工程是机器学习中最体现"人的智慧"的环节。模型只能在你给它的特征空间里找规律。如果你给的特征不包含问题的关键信息,再强的模型也无能为力。
④ 半衰期的提取
训练模型之前,需要先从训练数据中提取出半衰期作为标签。
训练数据给的是浓度-时间曲线,半衰期是"某种物质浓度降到初始值一半的时刻"。最直接的做法是在曲线上找到浓度第一次降到c₀/2的位置。
但数据是离散的(每10秒记录一次),直接找最近的点会有误差。更精确的做法是线性插值:在浓度刚好跨过c₀/2的两个相邻数据点之间画一条直线,算出精确的交叉时刻。
这类"从原始数据中提取标签"的工作看似简单,但精度直接影响模型训练的质量。如果标签本身就有±10秒的误差,模型再精确也没有意义。
⑤ 回归模型的选择
原始特征只有3个(加上构造的可能有10个左右),训练样本1,000条。这种"特征少、样本中等"的场景,不需要深度学习——传统机器学习模型往往更合适:
• 随机森林(Random Forest):多棵决策树投票取平均,不容易过拟合
• 梯度提升树(XGBoost/LightGBM):逐步修正前一棵树的错误,精度通常更高
• 简单MLP:两三层的小网络,也足够处理这个规模的数据
选模型的原则:数据量小+特征少 → 简单模型。复杂模型(深度CNN、Transformer等)需要大量数据来充分训练,在这道题上反而容易过拟合。
这是机器学习中一个重要的判断:不是最复杂的模型最好,而是和数据规模匹配的模型最好。
⑥ 自定义评分函数
这道题的评分公式很特别:
Score = max(0, 1 - ln(1 + 0.1×|误差|)⁵)
5次方让惩罚在某个临界点附近急剧变化:误差5秒时得分约0.95,误差15秒时得分约0.25,误差超过17秒直接归零。
这种断崖式评分函数意味着:
• 大部分预测只要别太离谱,都能拿到不错的分
• 但只要有几个预测严重偏离,就会把平均分拉到很低
• 防守比进攻重要——与其追求个别预测极度精确,不如确保没有预测严重出错
理解评分函数不只是"做题技巧"。在现实的AI应用中,评估指标的设计直接决定了你应该优化什么。同样一个模型,用MSE评估可能很好,换成MAE或自定义指标可能很差。
⑦ 领域知识 vs 模型复杂度
这道题最深刻的启示是:领域知识可以大幅降低对模型复杂度的需求。
• 不懂化学 → 3个原始特征直接训模型 → 需要很复杂的模型才能捕捉非线性关系 → 效果还不一定好
• 懂化学 → 构造出有物理意义的特征 → 简单模型就能拟合 → 效果更好,还更稳定
这不是这道题特有的规律。在所有AI应用中,领域知识都能起到类似的作用:
• 医学AI:懂病理的人能设计更好的特征
• 金融AI:懂市场的人能构造更有效的因子
• 自动驾驶:懂物理的人能为规划模块提供更合理的先验
NOAI竞赛的"AI + 学科"定位,正是在考查这种跨领域的综合能力。
这道题的核心不是AI技术,而是从领域知识到特征设计的翻译能力。三个原始特征做不到的事情,加上化学知识构造的特征就能做到——这就是特征工程的力量。