泛化能力是机器学习的核心问题之一。一个模型真正的价值,不在于它对训练数据记住了多少,而在于它能否在未见样本上继续有效。
但这里立刻会遇到一个尴尬而根本的问题:真实的泛化能力并不能被直接观测,我们只能在有限数据上对它进行近似评估。
正因如此,一套科学的模型评估框架不可或缺——它并不是训练流程后的附属品,而是连接有限样本、模型选择与未见数据表现之间的桥梁。这套框架背后依赖的是统计学与机器学习理论中的一些核心思想:不确定性估计、重采样、偏差—方差权衡,以及经验风险与真实风险之间的差异。
评估本身不是工程琐事——这是很重要的判断。也就是说评估不只是“跑个分”,它决定你凭什么相信一个模型。
背景:偏差-方差分解(bias-variance tradeoff)
什么是偏差-方差分解?为什么这决定我们的背景? 偏差-方差分解实质上全称是“偏差-方差-噪声“分解,他解决的是一个很具有普适性的问题:所需解决问题的复杂度和模型复杂度的关系。具体的数学推导在此跳过,我们需要知道的是,最终在数学上我们可以写成以下形式:
式子分为两个部分 模型复杂度带来: •bias 下降 •variance 上升 所以我们真正寻找的不是“拟合最强”,而是“在未见数据上最稳的平衡点”。
原因:训练集的乐观性
这决定了我们不仅是在寻找训练集上的最优模型,我们真正关心的是“测试误差”,不是训练误差。训练误差几乎总会随着模型变复杂而下降。但这不代表模型更好,因为它可能只是更会记忆训练集。我们不是只关心某个模型在训练数据上能否拟合好,而是想知道它在新数据上的表现,也就是泛化能力。
评估框架的存在,是因为训练集会系统性地让我们过度乐观。
这里可以自然引入 overfitting
检验框架的确立
我整理了一套检验框架,如下: 每个方法回答一个问题: •它在估计什么? •优点是什么? •缺点是什么? •适合什么场景?
1. Hold-out / validation set
2. K折交叉验证
3. Repeated CV
4. Bootstrap
5. Independent test set / nested CV
评估不只关心泛化分数
应当注意到,我们的还注意到模型的稳健性和可解释性 引出:
•稳健性(robustness)
•可解释性(interpretability)
•特征稳定性
•校准(如果你愿意可加 calibration)
它们此时不再伪装成“模型评估主体”,而是被放在:
补充模型评估结论可信度的证据层
比如KW 更适合放在“任务0”或“任务1之前的预分析步骤”,因为KW 属于特征层面的统计分析工具,而不是模型层面的泛化评估工具。例如:
位置A:特征预筛选
先对每个候选特征做组间差异检验
筛掉明显无信号的特征
然后进入 CV
位置B:解释性辅助
模型跑完之后,拿表现好的特征再看:
•是否组间显著
•效应方向是什么
•与量表分数是否相关
多模型集成方法
对于一些本人项目科研场景的反思(读者可跳过)
MindENT 场景举例:
•patient-level CV 为什么必须做
•小样本为什么看 fold 波动
•KW 为什么只能做预分析不能替代泛化评估
•为什么还要看解释性和稳定性
特征方法
参考文献
1.element of statistical
2.陈焕然 - 主页 --- Huanran Chen - Homepage
3.A multimodal dialog approach to mental state characterization in clinically depressed, anxious, and suicidal populations.