【PaperReading】Navigating the pitfalls of applying machine learning in genomics.
机器学习在基因组学中的常见使用陷阱
机器学习在基因组学中的常见陷阱
Nature Reviews Genetics| 在基因组学中应用机器学习的常见陷阱

原文地址:https://www.nature.com/articles/s41576-021-00434-9
1. 摘要
当前,在遗传学、表观遗传学、转录ome研究、化学信息领域以及蛋白组研究等多个科学领域中产生的海量数据规模显著提升,并借助于易于使用的机器学习(ML)工具包的技术支持下,在基因组研究中得到了广泛的应用与深入探索。
The limitations of machine learning (ML) software's reliance on corresponding statistical methodologies and performance evaluation frameworks often lead to scenarios where their underlying assumptions fail to hold true within biological systems.
在综述一文中, 作者具体阐述了在基因组学领域应用监督式机器学习(ML)时所遇到的一些常见问题及其作用. 并对基因组数据结构对其性能评估和预测能力的影响进行了深入探讨.
为了应对基因组学前沿领域机器学习方法带来的挑战, 研究者提出了若干解决方案以及具有代表性的案例, 进一步凸显了机器学习建模的强大前景。
2. 引言
随着基因组数据规模不断扩大且日益复杂化,在现在的研究领域中机器学习技术如今广泛应用于各种分析领域。具体而言,在这一过程中研究人员主要致力于以下几个方面:处理并标准化原始数据;整合异质性基因组信息来源;探索数据结构;建立预测模型;生成预测模型及优先级实验等关键环节。本文探讨了几个潜在的风险点,在应用机器学习方法处理基因组数据分析时需要注意的问题。我们重点研究监督学习方法,并致力于构建能够识别基因组特征以实现精准预测的模型。
在基因组学研究中采用监督学习方法时的关键步骤是识别研究的核心科学问题的基础上选择最具有代表性的数学公式作为机器学习任务的基础模型。然而并非所有监督学习任务都具有显著的价值:例如,在生物科学研究领域若要从高成本获取的一种实验数据(如 expensive data)推测低成本获得的一种 cheaper data(如 cheap data),这种做法通常没有实际意义除非两种情况下的数据已经可获得性或模型本身能够提供关键的生物学见解来支撑后续分析。因此,在选择适合机器学习的方法时需要明确其能够有效解决的问题类型之后再筛选出那些更具优势的具体数学表达式:例如利用某一特定类型的细胞数据训练一个模型来预测启动子序列与基因表达的关系这一方法难以推广到另一种新的细胞类型其转录因子驱动的表达水平较高的情况。此外还需要避免出现循环依赖的问题:例如基于两个相互作用蛋白的蛋白相互作用数据库进行蛋白质功能预测如果这些蛋白共享相同的基因本体论 GO 术语或其他功能注释这会导致被预测的功能信息已经被包含在特征描述当中从而产生逻辑上的依赖关系影响模型的有效性。
一旦分析人员确定了要解决的具体机器学习(ML)问题后,他们必须选择并确定如何准确地评估所选模型的表现 。这种性能评估通常通过框1所示的方法实现,即通过反复随机将示例数据集划分为训练集和验证集来进行迭代训练与测试,从而全面反映模型的学习效果与推广能力等关键问题所在的核心缺陷就是对实例独立性与同分布性(IID)这一基本假设缺乏充分考虑
本文综述聚焦于遗传学与基因组学领域中监督机器学习模型应用过程中所暴露的五个关键缺陷及其相关组织结构。Teschendorff等研究者已对此前提出的几个核心问题进行了深入探讨,并在此基础上拓展至多个相关领域(如文献3至6)。本研究不仅涵盖了上述原有的研究内容,并且扩展至许多新的领域以形成完整的知识图景。由于各缺陷之间存在密切关联性(如将在结论部分进行讨论),但我们仍选择分别深入探讨每一个独立的问题特性及其解决方案。每个问题均采用简洁明了的方式进行概述,并选取了具有代表性的文献资料作为支撑材料以增强说服力。为了定量分析这些现象并揭示其内在机理,在方法部分我们构建了一种包含详细数据集和可操作代码的强大工具平台(如 interactive notebooks)。这些笔记本不仅提供易于获取的数据资源(无需额外软件安装即可运行),还支持本地环境下的灵活操作;特别地,在分析表观基因组特性及其对模型性能的影响方面取得了一系列创新性成果(见附录)。通过对现有模型假设条件的有效性进行评估并提出针对性建议,在复杂的生命系统建模过程中取得了一定突破性进展;然而,在现有技术条件下完全满足所有模型假设仍是极具挑战性的任务。尽管如此,在当前的研究框架下我们仍致力于提升监督机器学习在基因组数据分析中的实际应用效果
图1:五个常见陷阱的概述

a |分布上的差异可能来自不同的来源,例如批次效应 。如果训练集和测试集混合了来自不同批次的示例(左),测试集的性能将比新批的性能高得多。为了拟合适用于新批的模型,训练集和测试集应该由不同的批次组成(右)。b | 当生物群体表现出相似的特征-结果关系时,例如来自同一家族或复合体的蛋白质的相关功能,依赖性结构就出现了 。如果使用同一组中的其他实体训练一个模型,预测结果就很容易(左)。为了确保模型可以泛化,我们应该将整个生物组划分为训练集或测试集(右)。c | **混杂变量是无法观察到的变量,它改变了被观察变量之间的依赖结构。**在本例中,未测量的个体世系是遗传变异和基因表达之间关系的混杂物(左),导致C等位基因似乎与高表达相关。在对个体世系进行调整后(右),我们看到来自A4祖先人群(ancestry group)的个体表达更高。C等位基因和表达之间的联系仅仅是因为C在A4以上的个体中更常见。尽管很难发现,混杂因素应该明确地包括在建模方法和训练和测试集的构建中。d |当由于训练集和测试集一起进行预处理而将信息从测试集泄漏到训练集时,就会发生信息泄漏(左) 。相反,应该将原始数据分割为训练集和测试集,并分别进行预处理(右)。e| **不平衡的数据(unbalanced data)会给模型的训练和评估带来困难。**如果训练集和测试集是平衡的,而预测集是不平衡的,那么测试集的性能将不能反映预测集的性能(左图)。无论使用平衡训练集还是非平衡训练集,测试集的不平衡性应该是预测集不平衡性的反映(右)。理想情况下,还应该使用能够处理不平衡的性能度量(performance measure)。
Box 1 性能评估术语
Cross-validation (交叉验证)
例如,在k-fold cross-validation(k-折交叉验证)中(如10-fold cross-validation),我们将数据集划分为十个子集或部分。随后依次选择其中一份作为测试集进行评估(即测试),剩下的九份作为训练集用于模型训练。每次测试后的结果记录下来,并计算十次测试结果的平均值作为对算法精度的估计。为了提高估计的准确性通常会进行十次不同的k-fold cross-validation重复执行以获得更可靠的评估结果。
Performance statistics(性能评估指标)
真阳率(True Positive Rate, TPR):将实际阳性样本正确识别的数量与所有真实阳性样本总数进行比较。
假阳率(False Positive Rate, FPR):将误报为阳性的样本数量与所有真实阴性样本总数进行比较。
精确率(Precision):将实际正确的阳性预测占总预测为阳性的比例。
错误发现比例(False Discovery Proportion,FDP)、错误发现率(False discovery rate,FDR):FDP等于1减去精确度(Precision)。在多轮实验中预期的(或平均)FDP即为FDR。
准确度(Accuracy):准确度衡量的是分类器正确预测的比例。计算方法是用正确预测数量除以总预测数量。
Visualizing performance(性能可视化)
receiver operating characteristic (roc) curve表示了受试者工作特征曲线 roc 表示真阳性和假阳性率之间的函数关系 roc 曲线下的面积 au roc 评估了分类器的表现能力 当 au roc 达到 1 时表现最佳 当 au roc 达到 0 5 则表明分类器与随机猜测无区别 au roc 不受测试数据中类别比例的影响 precision recall pr 曲线展示了准确度作为召回率 即真实阳性 率 的函数图形 理想情况下 au pr 值达到 1 而在随机情况下 au pr 值等于阳性的实例数目占总实例的比例 对于固定分类器而言 au pr 值会随着测试数据中类别比例的变化而变化
陷阱1:distributional differences(分布差异)
分布差异会影响特征(features)(其边际分布(marginal distribution)表示为P(x))、结果(outcome )(P(y))和/或特征与结果之间的关系(条件分布(conditional distribution)P(y|x)) 。
在基因组学(genomics)中,由于许多原因产生了分布差异。一个常见的原因是数据中固有的生物结构(inherent biological structure)。例如,常染色质(euchromatin)和异染色质(heterochromatin)之间的表观遗传谱(epigenetic profiles)不同。蛋白质属于功能类别,每一个都有不同的表达模式和物理相互作用。在全基因组关联研究(GWAS)中,当变异发现或模型训练的个体与不同的祖先(ancestry)的人群进行基因型-表型关联(genotype–phenotype associations)测试时,群体遗传结构产生了分布差异,称为确认偏倚(ascertainment bias)。当一个模型在不同的生物环境(biological contexts)(例如,不同的细胞类型、不同的物种或在体外或体内)中训练和应用时,也会产生分布差异。最后,由于研究设计和技术因素,分布可能会有所不同。批次效应(batch effects)在基因组学中非常普遍,并且会使测量值的平均值和变异性产生偏差。
在这一常见误区中,在训练阶段所使用的数据与用于验证的数据呈现一致的分布特征;然而,在实际应用场景中所面临的测试数据却呈现出显著的不同。在这种情况下,我们有理由预期交叉验证评估的性能优于对预测集的评估。尽管预测集与测试数据之间存在显著的分布差异,在模型拟合过程中学习到的特征与结果之间的关系可能无法在实际应用中得到可靠推断。尽管如此,在模型拟合过程中所提取的学习特征与其在实际预测场景中的应用效果之间可能存在不匹配的风险。
值得庆幸的是,在某些情况下不同分布之间的差异其实并不难察觉。在理想情况下,则应当系统性地考察结果与特征的边际分布情况。然而,在预测场景中由于结果通常不可知因此我们只能关注于特征自身的分布特性。为了直观呈现数据分布可视化是一种非常直观且高效的方式具体而言可采取的方法包括将数据投影至二维空间并绘制散点图同时也可以通过比较不同特征值的直方图来进行初步分析。而对于更为复杂的分析则需要借助统计检验手段例如针对二元特征的数据可采用二项检验(binomial test)而对于单变量连续型数据则常用柯尔莫哥洛夫-斯米诺夫检验(Kolmogorov-Smirnov test)对于多元连续型数据则常用最大均值差异(Maximum Mean Discrepancy, MMD)进行检测。此外基于模型的方法可用于识别异常样本或异常观测值等技术也可在此框架下应用以进一步提升分析效果
对分布差异的解释仍是一个待深入探索的重要研究领域。目前广泛采用一系列成熟的统计方法以解决这一问题。其中包括分位数归一化(quantile normalization)等技术;同时利用经验贝叶斯调整法(empirical Bayes adjustment)来进行标准化处理;此外还有一种替代变量分析(surrrogate variable analysis, SVA)等手段来进行潜在噪声源的估计与消除;此外还有一种相关性分析(correlation analysis)的方法可以辅助实现这一目标。另一种解决思路是采用对抗学习(adversarial learning)技术;其核心思想是通过引入欺骗性输入数据来干扰模型的学习过程;具体而言,在这种框架下我们首先利用一个经过专业训练(well-trained)的模型来进行分类任务;然后基于其输出结果生成相应的惩罚项(penalties)。
陷阱2:dependent examples(相关例子)
在机器学习中常用的模型与交叉验证之间存在基于独立性假设的数学关系**(即每个实例的值与其他实例无关)。例如,在没有替换已抽取的情况下从同一副牌组中连续抽牌会存在相关性**(因为下一张牌的概率会受到之前抽出卡片的影响)。
图2:生物网络中的节点对不是独立的。

a图 | 对集合A、B的相互作用网络图进行特征编码 ,其中若存在相互作用则标记为1 ,无相互作用则标记为0 。由此生成的特征矩阵与标签可作为标准化机器学习(ML)方法的基础输入 。为了评估模型性能 ,数据集需被随机划分为训练集与测试集 。节点A1的一条边位于训练集中而另一条位于测试集中 。这种配置使得样本间存在依赖关系 ,可能导致信息跨越train–test分水岭泄露(leak across) ,从而高估模型性能 。这一问题已在多个领域影响显著 ,其中集合A与B可能代表蛋白质及其配体 、药物与基因 、或增强子与启动子等 。
b图 | 基于相互作用网络的数据集性能会随着边数增加而增强 。采用Group k fold交叉验证法(也称为block设计) 可有效防止非独立样本跨越train–test鸿沟。未实施block设计会导致计算出的auPR值偏高估计其真实表现 。问题随边数增加而加剧 ,因为共享节点的存在增加了边跨越分水岭的概率 。
在基因组学领域中,蛋白质间相互依存关系的特性(pervasive)普遍存在,但却难以被识别出来.当预测蛋白质间的相互作用时(protein–protein interactions),这些关系通常以蛋白质对的形式体现.当数据集中的配对使用唯一标识符表示时,则这些配对可能看似独立;然而,在共享同一蛋白质的情况下,则彼此关联.增强子-启动子(enhancer–promoter)、调节子-基因(regulator–gene)以及药物-蛋白相互作用(drug–protein interactions)的相关实例也具有类似的特征.
独立性与同分布假设常通过纠缠(entangled)联系在一起。例如,在家庭成员的研究中发现他们的基因分型结果往往相互关联,并且可能与来自其他家庭的数据呈现不同的分布特征。然而,在监督学习中这些关联并不总是明确可知的。即使我们能够识别出已知的关系,在实际应用中也可能因忽视潜在关系而导致模型性能下降。当数据组织成表格形式时(这是大多数机器学习工具包的标准做法),模型训练和验证过程变得相对直接——只需确保每个样本都是独立的即可完成任务。
忽略示例间的关联性可能导致偏倚模型(biased models)并过高地估计其性能。k折随机交叉验证法无法消除这一问题且会高估性能值:由于测试集中的样本可能与训练数据存在关联性因此引入的信息偏差会影响评估结果。例如,在交叉验证过程中一个预测蛋白质间相互作用的系统可能会表现出优于其在新样本上的性能这是因为每个折叠中训练集都包含多个相互作用 partner从而影响了评估结果的表现。这一问题的影响程度随着数据依赖性的增强而加剧:特别是在高度相关的网络结构或拥有枢纽节点(hub nodes)的情况下auPR面积值可能会提升超过0.5单位
存在多种策略来减轻依赖示例对机器学习模型的影响,并且这些策略并非互斥关系。最佳的方法是在模型评估阶段承认依赖关系并减少过拟合 。Group k fold交叉验证作为一种防止非独立性例子跨越训练-测试鸿沟的有效手段,在减少依赖性方面发挥了重要作用;然而它并不能完全消除依赖性,并不能作为普遍适用的解决方案;对于过于复杂的依赖结构而言,单纯依靠阻塞技术难以彻底解决相关问题。尽管如此,在一定程度上它能够防止由于训练集与测试集中存在的依赖示例而导致性能指标虚高估计的问题;其性能表现更接近于独立预测集中的预期结果。另一种可行的方法是通过直接降低依赖性(例如通过对边下采样或降低高度节点权重)来实现目标 。然而需要注意的是这类策略可能在实际应用中导致修改后的数据变得不符合生物学意义(例如删除高度交互作用的蛋白质或基因组区域)。第三种选择是采用基于明确协方差建模的方法(如生物统计学中的混合效应模型、时间序列模型以及空间统计学中的自相关模型)来进行建模 。然而这类复杂模型难以扩展至大规模基因组数据集,并且在实际应用中通常不采用通用机器学习工具包进行实现。
陷阱3:confounding(混杂)
在数据领域中最难识别的一个陷阱是在于其潜在或人为引入的变量(通常被称为"混杂器")的存在。这种现象源于所谓的"混杂因素"会导致不同变量之间产生不必要的关联性。研究发现,在模型构建过程中如果不考虑这些混杂因素可能会造成显著的问题:一方面它们可能导致对特征与结果之间关系的理解出现偏差;另一方面,在不同背景下的应用效果也会大打折扣。尽管这些影响通常对预测准确性的影响较小(除非特别严重),但依然需要引起足够的重视以确保分析结果的真实性和可靠性
基因组数据中缺少直观解读的关键线索这一现象表明,在图像分析领域中存在难以识别的混杂因素。当混合物以某种形式呈现时,在实际应用中依然面临挑战。例如,在遗传研究中涉及背景风景(background scenery)的应用场景下以及放射扫描仪类型模型用于髋部骨折预测的情形下均会出现此类问题;此外,在生物医学研究领域还可能受到未建模环境因素、种群结构或其他潜在因素的影响。具体而言,在表观遗传学特征用于三维染色质相互作用(如Hi-C技术)的数据预测任务中就存在这一问题:由于线性基因组中相邻位点间表现出相似性以及聚合物物理特性导致其在三维空间内频繁相互作用的现象;而这种特性使得基因组距离(genomic distance)成为一个重要的混杂变量。另一个常见的情形是在不同批次抽样或处理样本时由于实验设计差异而导致的数据混淆问题;例如,在比较患病与健康样本或不同治疗组样本时可能会引入此类干扰因素;因此,在整合多组基因组数据时必须充分考虑条件差异和细胞类型异质性所带来的系统效应;这些都可能导致所分析的数据体系出现一定程度上的不可控混杂现象。
图3:测序深度作为混杂变量。

在平滑肌细胞中进行了六个不同测序深度的H3K27ac实验。a|不同测序深度对应的H3K27ac信号值。−log10p值信号位于17号染色体的一个特定位点上。随着测序深度的增加而提高,在机器学习模型中未考虑测序深度的情况下该因素成为一个混杂因素。这些峰值的表现形式具有显著差异性,在某些区域其表现更为突出表明这种混杂效应呈现出非线性特征。b|最大信号值在整个数据集中的分布情况同样基于1000万个读取量用于所有测序深度的情况低读数累积分布函数(CDF)曲线位于高读数CDF曲线上方这表明无论设定怎样的P值阈值较低读数情况下都会有更多峰点被标记为不显著这一现象暗示着当处理具有不同质谱分辨率的数据时若不考虑混杂因素机器学习模型可能会出现偏差。
该陷阱的核心问题在于机器学习(ML)模型未能正确区分估计结果与其依赖的混杂特征之间的关联,并误认为这种关联是直接的生物效应(direct biological effect)。值得注意的是,仅靠交叉验证无法有效消除这种偏差。即使采用交叉验证方法也无法完全避免这一问题,在新的应用场景下模型可能出现预测偏差。具体而言,在特定的训练数据集可能引入了基因背景与表型特征之间的关联,在外推到不同人群时可能导致显著差异。例如,在特定的训练数据集中基因与表型的相关性可能被放大或扭曲,在应用到随机人群时这种关联就会显现出来并影响模型性能。除了导致错误关联外,混杂因素还会削弱我们对真实因果关系的理解能力。由于这些不可控变量带来的波动性使得准确解析特征与结果之间的内在联系变得异常困难
可用的统计策略可有效规避此类问题。当理想条件得以实现时,在可能存在的混杂因素(如实验批次)下,样本应具有随机性。当无法满足上述条件时,则可通过主成分分析、基于概率的表达式残差估计(PEER)或其他统计方法来归纳高维数据中的结构以捕捉未观测到的混杂因素(unmeasured confounders)。此外,在无法直接测量这些潜在影响时,默认假设样本是独立同分布(i.i.d)的做法可能存在风险。另一种途径是尝试测量潜在的影响变量,并将其纳入建模过程以便校正效应值。无论是哪种情况,在ML模型中引入相关变量均能帮助调整效应并减少潜在混杂的影响。需要注意的是,在某些复杂场景下引入过多或不当的因素可能会导致错误结论的发生。或者更准确地说,在模型中加入一个基线预测器以便与包含其他特征的信息进行比较或区分。需要注意的是,在某些情况下引入额外信息可能会导致原有指标被稀释或混淆
陷阱4:leaky preprocessing(数据预处理的泄露)
在机器学习分析过程中, 一个不容忽视但普遍存在的挑战是 数据处理可能导致信息意外地从测试集泄露至训练集. 当训练数据的处理方式依赖于测试数据时, 这种泄露现象即被称为'双倾斜'(double dipping) 并导致了示例间的过度依赖(陷阱二)从而破坏了评估模型性能的有效性
在基因组学研究中,数据泄漏 prevention是一项常见的做法。通过多个实例研究发现,在交叉验证过程中进行的数据转换操作往往存在潜在风险。具体而言,
我们采用标准化转换配合多种缩放技术和无监督降维方法(如主成分分析PCA),并在这一框架下集成多种无监督嵌入策略。
此外,
我们采用监督式的特征选择策略(即基于结果关联性筛选特征),这种做法相较于非监督型方法具有更高的准确性。
值得注意的是,
如果在独立于交叉验证的数据上应用可能会引发数据泄漏。
近年来,在后续推断阶段的研究强调了统计分析的重要性,
尤其是在聚类差异性表达分析方面,
即使聚类过程建立于独立数据集之上,
仍需谨慎对待后续推断过程以避免潜在偏差。
图4:在交叉验证之外执行特征选择会产生不现实的高模型精度。

虽然在交叉验证之外实施特征选择可能导致模型表现出不合理的高准确率。
研究表明,在使用完全由随机值生成的数据集时,并非所有的监督特征选择方法都能有效识别出有意义的信息。
然而,在经过特征选择后应用随机森林分类器于纯随机的数据上并不会带来显著的优势。
然而,在Cross-Validation阶段外实施错误的操作可能会导致模型性能出现误导性提升的现象。
即使是在Cross-Validation阶段外实施错误的操作,
研究者们发现,
当使用这些方法对200个无关紧要的特征执行主成分分析时,
这种做法可能会破坏后续无监督分析的有效性。
然而,
这些操作通常不会有问题,
因为它们只是预处理和可视化整个数据集。
但需要注意的是,
如果随后选择了适合机器学习模型的方法,
则只需重新利用训练集进行预处理即可。
大多数机器学习工具包都采用了一种避免数据泄露的方法:即仅基于训练集获取模型参数,并分别对训练集和测试集执行转换操作以实现无泄露的应用方式。例如,在标准化(standardization)这一技术中,我们通过将每个变量减去其平均值后再除以其标准差来实现数据的标准化处理。这种技术不仅能够从训练集中获取均值与标准差参数,并且能够将这些参数重新应用于测试集进行变换操作;这与在划分好训练集与测试集后从整个数据集中直接学习均值与标准差的做法相区别。对于使用机器学习的用户来说不幸的是这一过程已经被集成到scikit-learn管道(pipeline)以及transformer接口中,并且也在R包caret中的train函数的preProcess参数中得到了相应的支持。
陷阱5:unbalanced classes(不平衡类)
如果示例在结果值之间均匀分布,则监督学习的任务是平衡的;否则就是不平衡的。
图5:当应用于外部交叉验证时,平衡类提高了性能。

在交叉验证之外实施平衡策略有助于提升模型性能。该分类问题因其样本分布严重失衡而具有挑战性,因为大多数基因组窗口不包含增强子。为了使两类样本数量均衡(即实现balancing),可以通过平衡技术使两类样本数量均衡将显著改善交叉验证效果。正确的做法是在进行交叉验证之前先完成数据预处理以确保测试集能真实反映整体分布。若未能做到这一点则测试结果不可靠。类似地,在交叉验证之外执行特征选择预处理时由于泄漏会使性能膨胀 在这种情况下采用平衡策略会导致最严重的膨胀。
为解决分类不平衡问题而设计的一系列策略已经被开发出来并得到了广泛应用。在模型构建过程中,我们将先验概率分布参数分配至各类中,并将研究者倾向于采用基于再平衡的方法以提升少数类别的性能作为主要思路之一。针对多数类别样本数量较多的情况,我们提出了三种基本策略:针对少数类别样本较少的情况提出过采样的策略;欠采样的策略则适用于多数类别样本数量过多的情况;而加权样本法则是通过反比例权重计算使得模型更加关注于少数类别中的分类误差。每一种方法都具有其独特的优缺点:过采样虽然能够保留所有原始数据但会导致计算时间显著增加;相反,欠采样能够在一定程度上减少计算负担但会丢失部分原始数据;加权样本法则能够在保留全部数据的前提下合理分配权重从而有效避免信息丢失风险。此外,scikit -learn的imbalance-learn包以及caret中train的weights参数和trainControl中的sampling参数也为Python和R语言用户提供了一套完整的解决方案框架,帮助研究人员更好地应对分类不平衡问题带来的挑战
这些方法普遍偏向于降低多数类别的准确性的同时提升少数类别的准确性;这种权衡关系通常被视为一种理想的状态。然而,在操作过程中需要注意以下两点:第一点是必须特别注意在训练集折叠内进行平衡调节;只有这样做的目的是才能确保评估拟合模型时能够反映预测集合中预期存在的类别分布情况。第二点则是需要认识到经过类别再平衡后的估计器会变得未校准;这意味着其预测的概率分布将更加接近于平衡后的训练集而非原始不平衡的测试集分布特性。值得强调的是,在某些特定场景下尽管示例实例本身的排序关系可能比其概率预测更为关键;但是通过引入后续处理步骤对估计器进行重新校准也是完全可行的;不过在这种情况下必须始终铭记这一潜在的问题存在风险。
结论
本文综述重点阐述了机器学习陷阱对模型性能的影响。值得注意的是,在大多数应用场景中,机器学习主要用于提取生物学上的见解(biological insights),而非直接用于预测本身。在这些应用中,在确认模型表现出色后,则通常会解析其学到的关系。不幸的是,在分析过程中若出现某些陷阱,则可能导致这样的良好性能可能掩盖了一些无关紧要的关系。对于检查和防范这些陷阱的重要性不言而喻。
然而,在某些特定情况下(如过拟合或存在偏差的模型),虽然能够得出可靠的生物学结论;这些模型可能无法提供足够的泛化预测能力(即无法全面解释变量间的关系),但却可用于归因分析。例如,在混杂或依赖性较高的情境下(如混杂因素较多),模型可能会高估特征与结果之间的具体关联程度。如果这种关联确实是生物科学现象的本质联系,则可能导致效应大小的误判。
参考资料
[1] https://www.nature.com/articles/s41576-021-00434-9#Sec1
[2] https://zhuanlan.zhihu.com/p/442653254
