交叉验证

Parent: ai_keywords

交叉验证

核心定义

交叉验证(Cross‑Validation)是一种用于评估机器学习模型泛化性能的统计学方法。它将原始数据集分割为互补的训练子集与验证子集,通过多次轮换训练—验证的角色,计算模型在未见过数据上的平均表现,从而减少因单次数据划分带来的偏差和方差。在医学 AI 领域,交叉验证是克服小样本、高维度、非独立数据等常见瓶颈的核心工具。

关键技术点

  1. K 折交叉验证
    将数据随机等分为 K 个子集,轮流使用 K‑1 个子集训练、剩余 1 个子集验证,重复 K 次后取平均性能。K 通常取 5 或 10,兼顾偏差与计算成本。在临床数据中可防止单次划分的偶然性影响模型结论。

  2. 留一法交叉验证(LOOCV)
    每次只留一个样本作为验证集,其余全部用于训练,适用于样本量极小的场景(如罕见病队列)。计算开销大,但无随机划分偏差,常作为金标准衡量其他方法的稳定性。

  3. 分层交叉验证(Stratified CV)
    在每次划分中保持各子集内类别比例与原始数据集一致,特别适用于分类任务中类别不平衡的情况(如脑卒中早期死亡率 <5%)。可避免因随机划分导致某些折中缺乏阳性样本。

  4. 分组交叉验证(Group CV)
    确保同一患者的多次测量(如多次脑电图记录)全部划入同一折,防止训练集与验证集间出现患者内泄露。这是神经电生理数据评估的强制性要求,否则模型会“作弊”识别患者特征而非疾病特征。

医学/神经科学应用场景

基于脑电图的癫痫发作预测模型评估
首都医科大学宣武医院神经内科团队在开发癫痫发作预测算法时,采用 5 折分层分组交叉验证。研究采集 50 例难治性癫痫患者的连续头皮脑电数据(每例含发作期和发作间期片段)。为避免逐帧划分导致同一患者的发作期片段同时出现在训练和验证集(信息泄露),算法采纳“患者级别”分组:每次将 40 例患者数据用于训练,剩余 10 例完全用于验证。同时,通过分层确保每折中发作片段比例与全数据集一致(约 10%)。结果证明,该方法评估出的模型泛化性能(AUC 0.89)与后续独立院外数据集表现高度吻合,而传统随机 K 折交叉验证曾高估 AUC 至 0.95,混淆了模型真实临床效能。此策略已被该团队推广至脑卒中早期神经电生理标志物筛选研究。