大脑数据分类时意外过拟合的危险

机器学习提高了神经科学家解释数据信息的能力,其中数据主要来自脑电图(EEG)、功能磁共振成像(fMRI)和脑磁图(MEG)。但机器学习技术会带来超参数过拟合的危险,导致结果无效。我们把这类问题称为“过度分类(overhyping)”,尽管采取了常用的预防措施,但它仍然是有害的。当在观察分析结果之后做出分析决策,并且可能产生部分甚至完全虚假的结果时,就会出现过度分类。通常认为交叉验证是防止过拟合或过度分类的有效保护,但事实并非如此。在这篇文章中,作者展示了使用交叉验证并通过看似无害的方式修改超参数,在随机数据上获得虚假结果的例子。本文推荐了一些限制过度分类的技术,如:锁箱法(lock boxes)、盲分析(blind analyses)、预注册(pre-registrations)和嵌套交叉验证(nested cross-validation)。这些技术在其他使用机器学习的领域很常见,包括计算机科学和物理。采用类似的安全措施,确保机器学习技术在神经科学中的鲁棒性至关重要。尤其在可重复性被日益重视的今天,本文中提到的很多优化过程和避免过度分类的方法很可能在未来一段时间内产生重要影响,并成为许多期刊审稿人对机器学习类文章是否方法有效的评价依据之一。因此,建议从事相关研究的研究人员认真对待此文和此文中提到的方法。本文发表在Neuroscience and Biobehavioral Reviews杂志。(可添加微信号siyingyxf或18983979082获取原文及补充材料)注释:本文是专门针对神经科学中使用机器学习方法时如何有效利用交叉验证进行的辩证性分析,文中会涉及大量机器学习方面的术语和算法,如想快速了解且入门学习,请点击思影机器学习课程:第十三届脑影像机器学习班(南京,12.13-18)第十四届脑影像机器学习班(重庆,3.12-17)第一届脑电机器学习数据处理班(南京,2.1-6)思影科技脑影像机器学习数据处理业务介绍思影科技脑电机器学习数据处理业务1.介绍计算机使心理学和神经科学的数据分析方法发生了革命性的变化,不仅能够解释认知过程的神经关联,而且可以通过机器学习来解释大脑所表示的信息内容。然而,随着这些新的并且强有力的工具出现,新的危险也随之而来。机器学习算法允许模式分类器(pattern classifier)将许多细微的信息组织在一起,以检测细微的模式,例如,根据MEG数据确定某人当前是在看建筑物还是动物。然而,这些模式分类器本质上是人工操作的黑匣子,因为它们在特征和输出之间创建了超出人们理解能力内的复杂映射。当与过拟合的危险相结合时,这种解释性就更加缺乏,这是所有拟合算法固有的问题(见表1)。具体地说,可解释性是根据先前的理解和理论来评估分类或预测的合理性。因此,当使用“黑匣子”机器学习时(即内部参数基本上是人类无法理解的算法产生的),可以创建一个分类器,但该分类器容易在特定数据集上表现很好,但在其他数据集上表现不佳(即分类器已经过拟合训练数据;见表1),没有现成的方法来评论或判断算法找到的解决方案合理性。过拟合的问题与科学文献中经常讨论的另一个主题有关,即研究人员的自由度。这个术语反映了一个事实,即在分析过程中所做的选择,可能会错误地夸大统计显著性的结果,因为排除了产生非显著性或不必要结果的选项。在机器学习中存在一个类似的问题,但是由于复杂性的增加,研究人员所做的选择对分析结果的影响会变得模糊。例如,交叉验证等技术(即减少过拟合的工具,见表1)通常被认为可以将分析与分析中研究人员的自由度所提供的“统计膨胀”问题隔离开来,但本文将说明情况并非如此。表1:本表定义了本论文和其他论文中使用的术语术语定义机器学习机器学习是使用半自动拟合算法来识别数据中的模式。通常,机器学习算法用来自两个或更多类别的标记数据进行训练,然后用于预测新的和未标记的数据项属于哪个类别。机器学习算法的例子有支持向量机(SVM)分类器、随机森林模型和朴素贝叶斯分类器。交叉验证一种常用于评估分类性能的技术,该技术将数据重复划分为两个子集(每个子集是一个折叠),其中一个子集用于训练分类器,另一个子集用于测试分类器。性能被视为所有折叠的平均值。有关更全面的说明,请参见补充资料。训练集和测试集这些术语通常指交叉验证期间使用的两个数据子集。术语“测试集”有时被用来指为以后的评估而保留的数据。为了保持一致,本文中使用测试集指交叉验证期间使用的测试数据。嵌套交叉验证嵌套交叉验证是交叉验证的推广,其中数据现在被划分为N个外部集合/折叠。每一个折叠都在一个外循环中提供了一个外保持组和一个内保持组。在每个这样的外部循环中,在内部集合上执行交叉验证。嵌套方法的好处是它提供了超参数过拟合的可靠评估。有关更全面的说明,请参见补充资料。锁箱法我们引入术语“锁箱法”是指在优化开始时从分析管道中移除的数据子集,并且在所有超参数调整和训练完成之前不会被访问。超参数超参数是一种参数,其值可以通过手动或算法来调整,以提高模型性能(例如,特征选择、感兴趣区域、SVM模型核函数、分类模型类型)。它们不同于其他参数,其他参数的值是在分类器训练期间设置的(例如,训练最小二乘模型得到的线性函数或训练支持向量机分类器得到的分类函数)。超参数是至少在原则上适用于一类数据集的设置和选择。对科学而言,分析过拟合的相关问题绝非新鲜事:高能物理学(High-energy physics)有许多引人注目的错误发现,其中一些是对特定数据集进行过拟合的结果。在寻找引力波过程中,有人认为出现了类似的问题。事实上,由于几项引人注目的错误发现,高能物理学已经经历了可重复危机,从而不得不重新安排应对错误后果的方法。一个典型的例子,给这个领域敲响了警钟,那就是Chikovani等人(1967年)提出的所谓split-A2效应。如果这一效应是真实的,它将引发一场理论革命,但当更多的数据可用时,这种效应就消失了。从这个例子看来,数据选择不当是导致虚假结果的罪魁祸首。高能物理学的数据和现代神经科学的数据分析有着惊人的相似之处:这两个领域的大量数据都需要缩减才能发现感兴趣的信号。因此,功能磁共振成像(fMRI)和脑电图(EEG)数据分析一样,对数据进行切割是常见的,即限制为对于某些感兴趣区域(ROI)的分析。因为切割的目的是增强感兴趣区域的信号,所以根据所分析的数据(并基于期望的结果)选择切割可能会在实际不存在的情况下产生明显的信号,就像前面提到的物理学案例一样。此外,在高能物理和神经科学中进行测量时,通常使用复杂的仪器,分析通常包含一套极其复杂的软件算法。神经科学和物理数据集的复杂分析管道的优化(即做出提高有效性的选择)和调试需要许多决策,这些决策通常是必要的,这对结果的可推广性带来了严重的危险,因此结果难以在单独的数据集上重复。为了防止这种情况的发生,高能物理界在分析和解释数据时采用了几种惯例和方法。例如盲分析,在这种技术中,分析优化是在不参考相关因变量的情况下进行的。由于优化算法对感兴趣的结果是盲目的,研究人员的自由度将无法人为地夸大统计显著性的估计值。与物理学不同,虽然相关问题已在文献中进行了讨论(Kriegeskort等人,2009年;Button,2019;Brooks等人,2017年;Bowman等人,2020年),但在使用复杂分析时,神经科学领域尚未充分应对过度分类(过拟合超参数)的危险,这增加了错误发现的可能性,并对文献的可重复性构成了主要障碍。在本文的最后,我们将讨论几种预防措施,包括盲分析。如上所述,过拟合是对分析的优化,使得性能在被评估的数据上有所改善,但在其他类似数据上保持不变或下降。这个“其他”数据可以称为样本外数据,这意味着它在训练和评估分类器的数据之外。换言之,如果一个人在一个数据集上开发一种机器学习方法,然后将相同的算法应用于从同一分布中提取的第二组数据,那么性能可能会比原始数据集差得多,尽管人们可能期望结果高度相似。这是一个严重的问题,因为不能推广到样本外数据的模型通常对大脑功能几乎没有什么用处:它们的结果只对用于配置分类器的数据集有效,根据数据中特定的噪声模式进行超参数的调整,不太可能在其他数据集上重复。为了更好地理解机器学习这个难题的原理,我们首先需要理解参数和超参数之间的区别。在机器学习的环境中,我们使用“参数”这个术语来表示,由数据驱动的训练算法过程中对算法具体参数的设置。例如,当训练支持向量机(SVM,机器学习中常用的分类器)时,训练算法使用数据来调整一组参数,这些参数允许分类器学习特定的大脑活动模式来预测特定的因变量。另一方面,超参数指的是分析各个方面(通常通过手动选择)来改善训练结果(见表1)。在神经科学中,超参数将包括但不一定限于以下内容:伪影剔除标准、特征选择(即大脑中的电极或ROI)、频率滤波器设置、分类器的控制参数(例如核的选择、正则化参数的设置),甚至是分类器的选择(例如支持向量机vs随机森林vs朴素贝叶斯)。这些设置和选择至少在原则上可以应用于一类数据集。在这种情况下,我们建议把过度分类定义为(通常是无意间的)通过调整超参数来改进特定数据集的结果而导致的过拟合,其具体表现为:在此之后,无法在具有相同超参数的另一个数据集上获得相同的结果。我们认为过度分类在神经科学中是一个相当普遍且未被充分理解的问题,特别是因为该领域使用了相对昂贵和耗时的数据收集方法(不同于机器视觉领域,数据收集是容易且经济的)。我们认为有效地理解因过度分类而引入的错误是至关重要的,因为这个错误很容易犯,并且很难被发现。超参数优化是机器学习中常见且必要的实践,很难确定在优化过程中研究者是如何处理数据的。除此以外,一个重要的方面是,交叉验证技术(通常被用作防止过拟合的保护措施)在确保可推广性方面并不是完全有效的,本文对这一问题进行了深入分析。也由此,本文的作者提出,当前所发表的文献中意外过拟合错误的发生率可能已经相当大,并且随着机器学习方法的普及,这种错误可能会增加。1.1当在同一数据集上重复使用交叉验证时,过度分类的危险将增加在神经科学和机器学习中,通常用来防止过拟合的方法是交叉验证,其中数据被重复地分成两个不重叠的子集。在每次迭代中,分类器在一个集合上训练,在另一个集合上测试,并且多次迭代的结果平均在一起。交叉验证有很多种,例如K折叠(K-folds),其中数据被分成K个相等的子集,并且对每个子集重复一次训练/测试过程。每次重复中,指定的子集用于测试,而剩余的子集组合在一起形成训练集。因此,对于10倍交叉验证方案,训练10个独立的分类器,每个分类器在90%的数据上训练,并在10%的数据上测试。然后将结果计算为测试集中10个分类器的平均准确度。不使用训练集中的准确度分数,因为这些分数可能反映了一定程度的过拟合。其他交叉验证的方法也是类似的。分层抽样(Stratified sampling)可用于确保在定义K-folds之前,每个数据子集从每类数据(例如命中与未命中试验)中具有相同比例的样本。留一法(Leave-One-Out methods)将数据分解为若干子集,使每个子集对应于一组trial,然后对分类器进行训练,使其依次排除每个这样的组。因此,对于包含20个被试的数据集,将训练20个分类器,其中一个分类器依次排除每个被试的数据,然后在排除的被试上进行测试。(Varoquiaux等人,2017年,讨论了留一法导致估计精度不稳定的可能性增加的问题)。无论使用哪种特定形式的交叉验证,交叉验证的原则是:训练集和测试集在每次迭代中都是不相交的,所以测试集的平均性能可以被视为分类器在样本外数据上的性能的无偏估计。然而,只有当遵守一个重要的限制时,这种假设才是正确的:在执行交叉验证之后,对于数据处理流程的决策不会导致同一模型在相同的数据上获得更高的性能。重复使用相同的数据来优化分析过程会导致结果的过度夸大,即使在每次迭代中使用交叉验证也会发生相同的结果。尽管存在交叉验证,但仍可能出现过度分类的原因是,所有数据集都是由信号和噪声的组合组成的。信号是数据中包含有用信息的一部分,人们希望机器学习分类器能够发现这些信息,而噪声则包括其他可变性来源。然而,当在查看结果后对给定的数据集进行优化分析时,超参数的选择会受到噪声对分类精度的影响。换句话说,一些不需要的噪声“泄漏”到超参数配置中。因此,虽然超参数的优化提高了该数据集的分类精度,但是在完全不同的数据集上,该模型的性能可能保持不变甚至恶化,因为(在统计意义上)噪声在驱动模型优化的数据上是不共享的(图1)。换句话说,即使采样条件和分析是相同的,分析也不会在不同的数据集上以相同的显著性水平进行重复。

图1.通过交叉验证评估后,修改超参数引发过度分类的示例。最下的retest回路允许在查看结果后调整超参数,这在许多研究中都会发生。在机器学习和计算机视觉领域中,交叉验证不能防止过度分类的可能性是众所周知的,他们越来越注意避免这个问题。例如,Kaggle.com等网站上的机器学习竞赛为参赛者提供样本数据,以优化他们的模型。然而,对参赛选手的最终评估是在不同的数据集上进行的,这些数据集要么由主办机构保密,要么仅在比赛结束前几天公布(即“保留”数据集或“私有”数据集)。访问数据次数超过规则允许次数的参赛者将被取消资格,他们的组织可能被禁止参加未来的比赛(Markoff,2015)。在写这篇论文时,我们分享了物理和计算机科学领域同事们的经验,以鼓励在神经科学机器学习的可复现危机出现之前,制定更严格的机器学习标准。在对神经科学分类文献的非正式调查中,有一些合适的预防措施被记录下来(例如,一些不同的预注册、盲分析优化、嵌套交叉验证或锁箱法,这将在下面描述)。如果没有这些预防措施,就不可能从论文的方法中确定是否发生了超参数的过拟合。这是令人担忧的,因为过度分类不同于二次提取(double-dipping)的问题,后者更能从方法中辨别出来。二次提取是指根据数据中的特定值选择一个子集(即选取一组高度活跃的体素),然后对该子集进行进一步的分析,然后根据该子集报告统计数据。识别过度分类情况的更大困难在于,它可能发生在分析的优化过程中,并且在分析优化期间执行的分析细节通常在方法中省略。我们在文献中观察到的另一个问题是术语不一致,这使得我们更难确切地理解不同文章中的研究者到底做了什么(例如,Ng(1997)和varoquoux等人(2017)使用了不兼容的“测试集”定义)。为了帮助澄清术语,本文提供了一个表,描述了常用术语以及它们通常被认为是什么意思的描述(表1)。我们提出了一个新的术语,锁箱法(lock box),它是指从优化过程中取出一组数据进行验证,在完全确定方法的超参数之前不应查阅这些数据。术语“保留数据集”(hold-out data set)有时被认为是这个意思,但是这个术语的使用不一致,并且在其最常见的用法中很容易被误解为测试集(test-set)。术语“锁箱法”更清楚地表明了将数据保存在不可访问的保留区中的重要性,关于这一点下面会说更多。接下来,我们提供一个过度分类的例子,使用我们自己实验室记录的脑电图数据样本进行交叉验证。我们使用的是真实数据而不是模拟数据,以确保噪声反映了类似数据集中通常存在的真实可变性。 2 一般方法2.1脑电图方法本手稿中使用的所有脚本和数据文件可通过以下网址获得:https://osf.io/qkvhd/. 下面所示的模拟使用的是一个字母快速识别实验中收集的EEG数据。被试观察一系列变化的字母,以两侧呈现,每隔150毫秒更新一次,任务是报告每次trial中出现的一到两个数字。在这项分析中,我们选择了包含一位数或两位数的trial,以600毫秒为间隔并尝试对每个trial进行分类,无论是一位数还是两位数。然而,trial标签在被试中被随机打乱,以掩盖这种操作的任何实际效果(也就是说后续的模型分类任务中,输入的数据标签都是随机打乱的,并不是它真实的标签,如果在这种情况下还能找到某种规律,将随机设置的标签“有效”地分类,就说明这样的操作导致了模型的过拟合的发生)。在每次trial中,根据标准的10-20系统,在32个电极位点记录脑电图。它进一步从0.05Hz到100Hz进行带通滤波,最初在500Hz进行采样,并离线下采样到125Hz进行当前分析。有关预处理和伪影剔除的更多细节,请参见原始论文中实验一的脑电图记录部分。最初的研究排除了一个被试,因为人工筛选后trial数量不足。我们决定排除一个额外的被试,选择trial次数最少的被试,以便能够将数据分成两个相等的部分,用于超参数优化和锁箱法,详见下文。最终被试人数为24人。最后,最初的研究根据目标刺激出现的视野(the visual hemifield)来划分数据,并且只包括提供正确反应的trial。为了增加每个受试者的可用trial数量,本文对视野的数据进行了整理,包括了所有的trial,且不考虑准确性问题(即包含了所有数据)。这种方式是在不查看分析结果的情况下采用的,因此不会导致过度分类。补充资料中提供了原始论文的完整方法(可添加微信号siyingyxf或18983979082获取原文及补充材料)。3.模拟1.尽管有交叉验证但由于核选择而导致过度分类3.1模拟1.方法第一种分析是测量EEG信号中的时间泛化特性,这表明在一个时间点上训练的分类器是否能够在其他时间点对trial类别进行分类。在工作记忆研究中,这些分析被用来检验记忆表征是否随时间的推移而稳定。我们运行了一系列的1000次独立执行(我们将在下面称之为迭代)来测量EEG信号中的时间泛化特性。在独立随机打乱的数据集上测试了40个不同的分类器,统计是否获得虚假效果以及获得虚假效果的频率。实际上,这类似于1000名科学家试图对同一数据集的1000次随机打乱(randomly shuffled copies)进行过度分类。1000名科学家中的每一位都对40种不同的分类器进行交叉验证,然后从40种分类器中选出最佳结果。      需要强调的是:所有的分析都是无假设数据(null-data)进行的。因此,任何高于偶然性表现的系统性改进都应归因于过度分类。同时,数据集被随机分成两个相等的部分,各12个被试。一组用于超参数优化(OP),另一组用于锁箱法数据集(LB)。在每次迭代开始时,数据都被重新整理成新的OP和LB集合,以确保任何效果都不是针对特定数据的。我们的时间泛化分析使用了MVPA的频谱分析工具箱函数,它实际上提供了一个很好的超参数调整过程。对于1000次迭代中的每一次,都创建了随机的OP和LB数据集。在每次迭代中使用40种分类器配置(即40种不同的超参数配置)来生成时间泛化映射,以确定哪种配置对随机OP数据集进行分类能产生最理想结果。这40种配置来自4种不同的分类器:具有三种不同核函数的支持向量机(SVM)(线性、多项式(2阶)、径向基函数(RBF))和线性判别分析(LDA)。此外,每个分类器通过10个选择来改变正则化的程度。对于SVMs,C参数取值为0.0001、0.0007、0.0059、0.0464、0.03593、2.7825、21.5443、166.81、1291.5496和10000。C值的选择是受MVPA Light对SVM的默认正则化搜索的搜索空间启发。对于LDA,候选λ分别为1、0.88、0.77、0.66、0.55、0.44、0.33、0.22、0.11和0(4种模型,每个模型都使用10个水平的正则化参数,因此形成40个不同的模型)。使用5折交叉验证进行时间泛化分析。这40个候选配置在1000次分析迭代中进行竞争,我们称之为OP竞争,因为它代表了超参数之间的竞争,以决定最佳可用配置。这个OP竞争的结果是使用分类质量(C-mass)来度量的,该度量是在组平均时间泛化映射(即5倍交叉验证的单个被试映射的平均值)上计算的。C-Mass反映了整个时间泛化映射上的平均AUC值。对于1000次迭代中的每一次,对OP数据集进行分类时导致最大C-Mass(即最高映射的平均AUC值)的超参数配置被选为该迭代的OP竞争的相应赢家。这些获胜的配置,通过LB集合进行比较,用来评估过度分类的程度。有许多合理的方法来制定C-Mass指数。附录中提供了另一组模拟。另一种方法测量了整个时间泛化映射中高于和低于AUC偶然性的范围(above- as well as below-chance AUC),以承认在EEG数据背景下进行低偶然性分类是有意义的(我们在补充材料中也对此进行了简要讨论)。两个版本的C-Mass分析揭示了本质上相似的结果,我们在主体中使用高于偶然性变量(above-chance variant),因为高于偶然性分类(above-chance classification)是更规范的方法。我们从1000次迭代中选择了一次,来演示手动选择是如何产生一个在理论上有意义的结果的,这个结果是针对随机打乱并经过交叉验证数据的时间泛化映射(图2)。在同一数据集上评估不同超参数配置的有效性,被视为一种探索性分析的模拟,在这种分析中,分析员运行一系列交叉验证的初步分析,然后停止寻找理论上合适的分析。在工作记忆文献中,重要的是分类器能够在刺激消失后解码条件标签。在我们手动选择的情况下,获胜的OP映射在理论上被认为是合适的,因为它似乎表现出这样的特性,即在目标开始后的相当长一段时间内,精度仍然远远高于偶然性(参见随机选择的9个额外迭代的映射集的补充)。然而,这种效果显然是虚假的,因为trial标签都是随机的。为了证明这个观察到的模式是由于过度分类造成的,而不是我们分析的一般属性,我们还展示了同一OP集的另一个分类器配置。很明显,在获胜的OP图中观察到的模式既不能推广到使用相同核配置的同一总体中的另一个数据集(LB集),也不能推广到具有不同配置的相同数据集的再分析过程(losing OP set)。这是一个过度分类的实例(由于选择了超参数而导致的过拟合),因为与其他候选超参数相比,使用OP(超参数优化)集确定的超参数最适合噪声的分布。由于LB(锁箱法数据集)数据集中的噪声不同,分类性能总体上处于较低水平,并且在稍后时间点的更成功分类的模式也被破坏,这导致我们的置换测试(下一步介绍)为获胜的OP生成了重要的AUC簇,而在LB图则没有结果。

图2.过度分类在时间泛化映射中的表现。一个成功超参数优化集(winning OP)、其对应的锁箱集(LB)和最差超参数优化集(Losing OP)的映射图(实现了导致最小C-Mass的超参数),其主要对角线AUC向量如下所示。AUC时间序列图中的米色区域在主对角线上显示出与偶然性水平分类的差异(即AUC为0.5)。与其他两种分析相比,成功OP的分类性能处于较高水平。为了获得OP和LB图,进行了一个cluster水平的FEW矫正 (A family-wise error correction cluster-extent test),结果表明OP图的AUC聚类结果具有统计学意义(但这显示是虚假的统计学意义)。使用40ms宽的boxcar分别对映射图和聚类边界(即确定统计显著性的矩阵)进行二维平滑处理。这样做只是为了便于可视化,不影响任何分析,这些分析都是在平滑之前计算的。由于三个分析都解码了无假设数据,分类性能的任何系统差异都必须归因于分类器超参数的有效性(在这种情况下,λ为1的LDA分类器赢得了OP & LB)。这是一个过度分类的证明,因为这些超参数最适合OP数据集的噪声,但是在LB数据集中这种噪声不同,从而导致LB的分类性能下降。这个映射三元组是手动选择的。另外9个三元组可以在补充材料中找到。3.2.模拟1.结果这些模拟的结果表明,通过选择获胜分析,C-Mass(分类质量)得到了系统的改进。为了说明这些影响是系统性的,将OP竞赛获胜者与他们各自的LB进行比较,可以看出尽管使用了交叉验证(图3),OP的C-Mass分布仍然受到了超参数改变的影响。第一个图说明了,对于获胜的OP,平均C-Mass大于LB的集合。第二个图说明了随机选择的超参数集上的分类性能,与参数优化阶段的优胜集相反,当使用获胜的超参数集时,在LB数据集上的分类性能近似相等。如果OP和LB分类之间的差异完全是由噪声引起的,这也是应该的。这个结果展示了锁箱法如何提供一个公正的性能评估,因为得到的C-Mass没有任何受到过度分类的影响。该分析的重点在于图3的第一个图:OP和LB C-Mass的分布清楚地表明了分类结果的过度分类。如果没有过度分类,这些分布应该相互叠加。然而,与LB的C -Mass分布(平均值:0.5,中值:0.5,方差:0.0002)相比,OP的 C-Mass分布具有更高的平均值(0.516)、中位数(0.515)和更小的方差(0.0001)。图3的第三个图说明了OP和LB之间C Mass的迭代内差异是如何分布的。如果没有观察到过度分类(即给定的一组超参数导致OP和LB空数据的类间差异解码的相似成功),则该分布应以零为中心。观察到的差异分布平均值(0.016)和中位数(0.015)为正,这意味着OP图中的C Mass较高。置换测试是基于随机确定OP和LB C-Mass之间的减法方向,以生成空值下OP-LB C-Mass差异的分布,确认两个值与零显著不同(p<.001),这为过度分类提供了证据。然而,从模拟分析中获得的p值应谨慎解释,正如我们在补充材料中更详细地讨论的那样。

图3.OP(蓝色)和LB(红色)映射的C-Mass分布(前两个面板),以及它们在迭代内的差异(底部面板)。第一个图显示了包含参数优化阶段的获胜超参数的OP&LB图的C-Mass结果,中间面板显示随机选择超参数后LB C-Mass的分布。彩色垂直线表示分布的中值,这些线周围的矩形表示四分位间距。底部面板中的黑色垂直线表示OP–LB差为零(即没有过度分类)。我们进一步评估了不同分类器对过度分类的脆弱性(vulnerable)。在所有的分类器中,成功的OP和LB之间的C Mass中位数差异为正,并且在执行上述置换测试后与零显著不同(线性支持向量机:中值=0.015,n=329;多项式支持向量机:中值=0.013,n=189;RBF支持向量机:中值=0.013,n=132;LDA:中值=0.018,n=350)。我们通过进行Kruskal-Wallis检验(由于C-质量值的非正态性),研究了某些分类器是否更明显地过度分类(χ2(3)=20.07,p<0.001)。分类器间平均秩差(mean rank-differences)的事后成对检验证明,与三种支持向量机分类器相比,LDA分类后的过度分类程度明显更大。支持向量机分类器之间的差异均不显著(我们在补充材料中提供了详细的分析结果)。最后,我们在补充材料中提出了一个探索性的分析,这表明使用简单的分类器(如具有线性分类核)的时间泛化生成的C-Mass值不太稳定(即更可变)。4.模拟2.尽管交叉验证,但通过特征选择仍会导致过度分类4.1模拟2.方法除核参数外,分析优化还涉及特征选择,其中部分数据集被排除在管道之外,因为它们包含可能降低分类器精度的无关信息。这种方法被广泛使用,并作为递归特征消除(RFE)包含在scikit learn中。在这里,本文证明了当交叉验证是防止过度分类的唯一保护时,当基于分类精度选择特征时,这种方法会导致随机打乱数据的分类精度明显虚假。作者运行了一系列的16次独立执行来衡量,如何有效地通过遗传算法的特征选择来过度分类数据集。这个模拟类似于16个科学家试图对同一数据集的16次随机打乱复制(randomly shuffled copies)进行过度分类。这16位科学家中的每一位都在几百次迭代中使用交叉验证,在每次迭代中逐步改进分析超参数。原始数据与第一次分析中使用的数据相同,并再次进行随机打乱,以消除条件之间的差异(在统计意义上)。使用一个更简单的分类器:根据频谱分析的输出,在每次试验中确定是否有一个或两个目标。在这种分析中,特征的选择是通过加权不同的频率分量来实现的。从每个trial中抽取第一个目标出现后,每个EEG通道的64个数据点(包括256ms)进行快速傅立叶变换(FFT)。计算FFT绝对值的对数,并对所有通道的频谱进行求和,得出每次trial的64个频率值。分类器试图根据这64个频率值确定被试在给定trial中是否看到一个或两个目标,这些频率值代表目标出现后256ms内的头皮范围功率谱。如上所述,trial标签在分析之前被随机打乱,以消除数据和条件之间的对应关系。使用支持向量机(SVM)对经过处理的EEG数据进行分类,过度分类是通过自定义的遗传算法来完成,该算法为分类器提供64个可调整权重的频段。支持向量机是MATLAB的fitcsvm,RBF核和核尺度设置为25。没有尝试对此分析使用其他分类器或核设置。为了证明交叉验证不足以防止过度分类,该分析重复了16次迭代。对于每一次迭代,15%的数据被放在锁箱集(LB)中,以测试是否过度分类。由于数据是随机化的,预计在这个外部测试集上的性能应为50%(偶然性水平chance level),而在形成超参数优化集(OP)的85%的试验中,最后一代的遗传算法性能将高于偶然性。对16个OP集进行过度分类,使用遗传算法和交叉验证相结合。对于每一代的遗传算法,每个候选特征权值向量都是根据OP数据集的10个随机分区的共享集来评估的,每个分区中85%的试验用于训练支持向量机,15%用于测试。在优化过程开始时,随机构造10个候选权重向量,64个值在0.95到1.05之间。在训练和测试过程中,这些向量在被提供给支持向量机之前都乘以每个trial的功率谱。在每个OP迭代中,对于10个候选特征权重向量中的每一个,对10个随机分区上的支持向量机性能(AUC)取平均值,以计算每个候选特征向量的性能。选择最佳候选,然后通过添加64个随机数(范围[-0.05.05])重复改变,为下一代遗传算法创建10个新候选。此过程重复400次以优化分析。为了度量过度分类,在每一代之后,最好的特征权重向量也被用于16次迭代的LB集的分类中,并且结果不用于特征权重向量的演化。这严重违反了锁箱法的原则,但这里仅做了一个演示。在实践中,多次访问一个锁箱集本身可能会导致过拟合,特别是当结果用于分析选择或停止标准时。为了衡量模型分类对OP集的统计显著性,在最后生成遗传算法后进行了置换测试。首先,使用最后生成的特征权重计算10个OP分区的平均AUC。然后,trial的所有条件标签(即目标类型)被随机地打乱1000次,选择这个数字来平衡运行1000次独立分析的计算成本。在每一次这样的打乱后,对于10个分区中的每一个,用最佳的最终权重向量重新训练SVM分类器并测量AUC。这些AUC值被打乱用于创建一个1000的零假设分布,然后计算p值作为大于非置换分类结果的虚无假设分布的分数(即,在未置换数据上产生平均AUC大于平均AUC的比例)。整个过程独立地重复了16次迭代,以证明过度分类算法的鲁棒性。在每种情况下,数据被随机地重新划分为一个超参数优化集(OP)和一个锁箱集(LB),并且使用遗传算法来优化OP的权重。4.2.模拟2.结果图4显示了通过特征选择进行过度分类的结果,这表明在不改变LB集的情况下,OP集的性能得到了提高。当标签被随机打乱时,从统计学意义上讲,任何高于偶然性(AUC为0.5)的表现都表明过度分类。在最后一代特征选择遗传算法中,OP集的所有16次迭代都显著提高了性能。其中一组LB值是显著的。

图4.为了证明使用特征选择会过度分类模型,使用遗传算法迭代地选择特征以优化随机打乱的EEG数据集性能,因此性能不应该(从统计意义上)偏离偶然性。优化过程运行了16次迭代,每次迭代400次。蓝色轨迹表示OP集的交叉验证测试的准确性,红色轨迹表示LB集的性能。星号*表明,当α水平为0.05时,最后一代的结果与偶然性显著不同。所有的OP集都与偶然性有显著差异,而LB组中只有一组显著。5.讨论本文论证了尽管使用了交叉验证,当使用机器学习算法时,还是容易引起过度分类。这里使用的方法类似于EEG/MEG分类中使用的优化程序,例如探索各种核选项或丢弃信道和频带以提高分类性能。其他超参数也可能存在类似的问题,例如选择时间窗口,或过滤伪影的不同方法。此外,也适用于任何类型的大型神经数据集。例如,在对功能磁共振成像(fMRI)数据使用多体素模式分析(MVPA)的情况下,在处理(consultation)数据的过程中,选择管道中的任何分析步骤进行优化,都可能会导致过度分类。这些结果不应该被视为一种糟糕的方法选择,因为良好的理论和实践原因,机器视觉和机器学习的许多人认为这是最先进的。我们的结果清楚地表明交叉验证不允许过度的及粗放的分析优化过程的发生。重要的是,随着样本量的减少,过度分类的问题变得更加严重。这反映了一个事实,即样本较小时误差线(error bars)会更大,这一现象在应用于神经成像数据的机器学习中得到了有力的证明。这反映了经典统计学中的大数定律,即样本越小,估计误差越大。较大误差线和过度分类的结合意味着机器学习在神经影像学中的应用很可能特别容易受到发表偏差的影响,这反映了只有产生显著影响的分析才会发表,可能会导致公布的精度和效果大小出现非常严重的效应膨胀。有几种方法可以防止过度分类,超过标准形式的交叉验证。我们建议,为了增加普遍性和可重复性,发表分类分析数据的期刊应鼓励使用下列方法之一。5.1.预注册方法如果在分析数据之前有一个明确定义的分析计划,那么减少过度分类的一个非常好的方法就是预注册。预注册包括向外部第三方提交一份完整的分析计划,供期刊读者访问。这种做法鼓励从业者在开始分析时指定所有超参数,并提供一个时间戳,表明他们已经这样做了。这很有帮助,因为当分类结果不用于迭代优化性能时,交叉验证确实能够成功地提供样本外性能的无偏估计。因此,在尝试之前预注册或以其他方式严格指定分类分析是安全的。预注册将提供证据,证明超参数是在尝试使用确定的分析方法之前确定的。这种方法的优点是所有的数据都可以用于性能的最终估计。缺点是不允许超参数优化,这限制了分析的有效性。注册报告是另一种可以防止过度分类的出版格式,与预注册类似。在这种情况下,无论结果如何,在分析数据和发表文章之前,都要与审查小组协商制定分析计划。如果不对分析进行任何修改,这种方法消除了任何过度分类的机会。5.2.锁箱方法使用一个隐喻性的数据锁箱可以确定是否发生了过度分类。这就要求在分析开始时留出一定数量的数据,在明确定义分析协议之前不应访问这些数据,分析协议包括预处理、伪影校正/拒绝、通道或体素选择、核参数选择和所有其他超参数的选择。这种技术的一个密切变化已经成为机器学习竞赛的标准实践。当候选人提交比赛结果时,算法的最终性能将在一组单独的数据上进行评估,这些数据将保留到最后的测试阶段。使用锁箱法的工作流程如图5所示。

图5.这里以说明的形式演示了使用锁箱法的工作流程。首先将数据分为超参数优化集OP和锁箱集LB。该模型可以反复测试,超参数可以在OP上迭代修改。在确定了所有的超参数优化和分析流程后,可以用锁箱数据对模型进行测试。通过这样做,可以获得对过拟合的无偏估计,并实现了该系统推广效果的客观度量。我们建议,当机器分类方法应用在神经科学的数据分析中,必须在没有明确的超参数或现有软件默认选择的情况下开发时,这些方法应包含锁箱方法,箱子中的数据在分析开发之初被保留,直到论文准备好提交才进行评估(或者在分析优化结束时收集新数据)。此时,应该只访问一次锁箱集中的数据,以生成对算法性能的无偏估计。这一结果可能不如优化过程中使用的数据,应与任何其他分析的结果一起发布。同时,评论者需要更愿意接受那些似乎不如他们以往积极的结果,因为我们目前对广义机器学习准确性的理解可能会受到当前实践的偏差。如果锁箱实验的结果不令人满意,可以尝试进行新的分析,但如果是这样,锁箱应重新加载新数据,从新样本或从分析开始时预留的附加数据中收集(但不是从锁箱中最初使用的相同数据的重新分区中收集)。一种可能的替代方法是在优化期间多次访问锁箱,但要根据锁箱数据被评估的次数对结果统计进行校正。Dwork等人(2015)提出了一种在限制过拟合的同时多次访问锁箱的方法。这种方法要求同时评估超参数优化集和锁箱上的给定模型,然后仅当锁箱上的性能与超参数优化集上的模型的性能显著不同时,才向用户显示锁箱上的性能。此外,锁箱集的性能只有在与拉普拉斯噪声变量相加后才能显示。通过遵循这种方法,当推广到样本外数据时,最大错误率可以通过仅观察锁箱的性能设定次数来限制(并且一旦达到该限制就停止超参数优化)。虽然这是一种限制过度拟合的创新方法,但它仅在推广时设置最大错误率——要获得真正的错误率,必须使用第二个锁箱。请注意,这种锁箱方法是可评估的。它虽不能防止过度分类,但可以让人测试是否发生过度分类。如果正确使用该技术,则该算法在锁箱上的性能可以保证是一个不过度分类的结果。5.3.嵌套交叉验证解决超参数过拟合问题的另一种方法是使用交叉验证的推广,称为嵌套交叉验证。嵌套交叉验证系数有助于确保结果不特定于给定的分析配置。在这种方法中,内部交叉验证在外部交叉验证过程中运行,数据的不同部分在每次外部迭代中充当外部“保留集”。重要的是,对于每一次外部迭代,可以通过在这个外部保留集上进行测试来获得一个无偏的精度评估。也就是说,在每个内部交叉验证中确定的最佳参数和超参数可以在相应的外部保留集上进行样本外评估。嵌套交叉验证可以被认为是一种重复的锁箱方法,在这种方法中,为内部交叉验证循环的每次迭代留出并锁定一个新的箱子(保留集)(图6)。然后,通过对每个外部迭代的保留集确定的精度进行平均,可以获得整体精度(实际上是精度的离差)。这通常比从任何单独的外部迭代(即锁箱方法) 获得的精度更可靠。然而,重要的是,不要为了找到最佳解决方案而挑选外部折叠,因为这将重新构成过度分类。同样重要的是,在查看结果后,不要用不同的参数重新运行整个算法,因为这会再次导致过度分类。

图6.说明如何将我们的工作流程图扩展为嵌套的交叉验证过程。将数据集分解为保留集和内部优化集的多种组合。这些折叠的每一个过程基本上都类似于上面描述的锁箱方法,并且可以进行优化。最终精度将是计算所有保留集的平均精度。有关经典嵌套交叉验证的详细说明,请参见补充部分。与锁箱相关的嵌套交叉验证的一个问题是,在程序结束时获得的平均精度将是超参数多个配置的结果,因此可能特别难以理解数据和精度之间的联系。例如,在分析功能磁共振成像(fMRI)数据时,感兴趣区域是超参数之一,外部(outer loop)的不同迭代可能会收敛到大脑的不同区域。因此,很难对大脑数据进行分类。我们在补充材料中给出了嵌套交叉验证的更多细节和一个简化的例子。(可添加微信号siyingyxf或18983979082获取原文及补充材料)5.4.盲分析方法当测试一个定义明确的假设时,盲分析可能是防止过度分类的合适工具。换句话说,分析协议是使用真实数据开发的,但是每个trial或被试的标签都很模糊,因此分析优化过程不能产生过多的类型。另一种方法是使用正交(正交即相互之间完全独立的意思)对比,其中分类是在未改变的数据上进行的,但使用的条件与最终使用的分类正交。使用盲分析的一些例子包括打乱所有条件标签,然后人为地在一些trial中添加“目标信号”。然后可以优化模型的超参数,以检测修改数据中存在的信号。一旦超参数被锁定,就可以去除对数据的模糊设置(例如,条件被解密,修改被移除),并且可以计算出真实的结果。这种方法的优点是,所有的数据都可以在优化阶段使用,最终的性能评估可以跨所有的数据进行,而不仅仅是外数部据集。请注意,盲分析是一种将过度分类最小化的方法。如果与锁箱法结合使用,可以最大限度地减少和诊断过度分类。盲分析的缺点是,它模糊了关键预测变量的准确性,这可能会妨碍根据所使用的数据类型制定有效的分析计划,在这种情况下,锁箱是一个很好的解决方案。5.5.使用哪种方法这些方法中的每一种都是特定案例的理想选择。最简单的决定取决于分析计划是否已经建立,在这种情况下,预注册显然是最佳选择。当超参数需要调整用来适应预测数据发生意外变化时(例如,找到感兴趣的大脑信号的时间窗口或位置),盲分析是合适的。嵌套交叉验证非常适合于这样一种情况:自动算法可以用来调整超参数,而这些超参数的精确值并不重要。最后,锁箱,特别是当它非常大的时候,最适合于这样一种情况:可调超参数的值是特别感兴趣的,或者它们的调整过程部分是手工完成的,而不是通过自动化完成的。不管采用哪种方法,在记录开发管道的整个过程中如何处理数据,似乎都应该采用更透明的方法。例如,对最终将要分析的相同数据进行的初步测试,如果在将数据划分为不同的集合之前告知超参数优化的搜索范围,则可能导致过度分类。在这种情况下,透明可以突出分析管道可能发生信息泄漏(超参数相关)的位置点。5.6.机器学习的安全与有效使用神经科学中机器学习的使用要求它既安全(不要过度分类,这样结果是可信的)又有效(即分类器被适当地调整为识别信号)。在机器学习术语中,safe在很大程度上对应于最小化方差,而effective在很大程度上对应于减少偏差。上述方法有助于确保安全性,但不一定提供有效的解决方案,因为通过限制允许的分析优化数量来避免过度分类会降低分析优化的能力。当数据容易获得时,这种限制没有那么严重,因为分析管道可以反复调整,并根据新数据进行测试。然而,神经科学中的数据收集往往是昂贵和耗时的。这意味着人们常常不得不在高度优化但过度分类的分析或者在弱优化而不是过度分类的分析之间进行选择(可能许多研究者也认识到这个问题,但对于一些特别的领域,拥有数据就已经很困难了,更难说大批量的数据)。最好的方法是利用现有的专业知识,这样就可以提前做出好的决定,最好是在查看关键数据的分析结果之前预先注册。 6.结论数据科学的最大危险在于这些方法足够强大,可以在噪声中找到明显的信号,因此数据过度分类的可能性很大。此外,分析管道很复杂,这使得很难清楚地了解优化和评估阶段之间泄漏的可能性,从而可能导致过度分类的发生。本文的结果表明,尽管使用了交叉验证,这种情况还是容易发生。此外,在没有足够数据的情况下,很难检测到过度分类,然而收集这些数据的成本很高。由于可重复性是科学研究的基石,因此使用评估和保证可推广性的方法至关重要。作者提出,通过留出一定数量的数据,这些数据在模型修改完全完成之前不可被访问(即锁箱),直到模型优化完成后才访问可以得到一个无偏的估计,这个估计可以评估模型的泛化能力和是否发生了过度分类。作者也指出,盲分析方法、分析参数的预注册和嵌套交叉验证也是降低过度拟合风险的有效手段。相反,使用任何一种方法,允许重复检查同一数据的性能,而没有独立的数据做参考,会导致过度分类,提高假阳性率并损害可重复性。

(0)

相关推荐