疾病预测建模是利用有标记的肠道菌群数据对机器学习模型进行训练,生成一个具备根据输入的肠道菌群数据判断宿主患病情况的预测模型,所以究其本质,疾病预测建模是一个有监督的分类问题。本文结合课题组在该领域的长期研究成果和近年来肠道菌群研究领域中疾病预测建模方面取得的进展,对常用的几种疾病预测建模算法进行分析和比较。
SVM是一种有监督二分类器,当数据线性可分时,SVM通过在原始特征空间中构建一个最优分割超平面并将其作为决策面,最大化正负样本之间的边缘距离。当数据线性不可分时,SVM使用核函数将样本数据映射到一个高维空间,然后寻找一个最优分类超平面隔离不同类别样本数据,从而进行分类。
KNN算法也是一种在肠道菌群分析中广泛应用的算法,该方法的基本原理是根据邻近样本来推断待测样本的类别。主要步骤包括:(1)计算每个测试样本和每个训练样本之间的距离。(2)找到距离最近的k个训练样本作为测试样本的最近邻居。(3)根据k个训练样本类别的众数作为测试样本进行分类。
RF算法是一种集成学习方法,通过自助法重采样技术,从原始训练样本集N中有放回地重复随机抽取n个样本生成新的训练样本集合训练决策树,然后按以上步骤生成m棵决策树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。
ANN是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的计算模型,其具有自学习、自组织、自适应能力,主要包括多层感知机(MultipleLayerPerception,MLP)、卷积神经网络(ConvolutionNeuralNetwork,CNN)、循环神经网络(RecursiveNeuralNetwork,RNN)、深度置信网络(DeepBeliefNetwork,DBN)等。
由于原始数据可能存在缺失值、样本不均衡、数据的形式不规范等问题,这会对模型的性能产生不利影响,严重的可能使得模型无法收敛,从而导致训练失败。在肠道菌群分析中,通过数据预处理过程对数据进行整理,从而使其满足模型训练要求,确保训练过程正常进行。常用的数据预处理操作包括了操作分类单元(OperateTaxonomyUnit,OTU)生成、样本均衡以及改变数据组织形式等。
在基于肠道菌群数据构建预测模型时,利用特征提取手段获取丰富的数据特征是提升模型性能的重要手段。一般而言,特征提取的存在形式有2种:(1)特征提取作为单独一个步骤存在,按照研究人员的预先计划获取相应的特征信息,以这些信息作为模型训练数据进行训练。(2)将特征提取结合到模型训练阶段,通过这种方式获取的特征不会作为数据输出,而是直接由训练算法进行处理,无单独的特征提取阶段。本节主要讨论第一种特征提取形式。
(1)根据数据特点选取建模算法。数据特点包括数据组织形式、数据完备性、数据冗余情况、数据均衡、数据量大小等。如数据存在较多缺失值时,则应优先选取对于数据缺失不敏感的算法,包括ANN、KNN等;如存在样本不均衡问题时可优先选取RF;如若数据量较少则应选择适合小样本训练的算法SVM。
(2)根据模型性能需求选取建模算法。模型的性能需求包括模型处理的是二分类还是多分类问题,模型可解释性、模型处理速度、模型泛化能力等。如针对某一种疾病进行预测建模时,应选择适合处理二分类问题的算法包括SVM等;而在对多种疾病进行预测建模时,则应优先考虑ANN算法。
总而言之,在选取建模算法时需要针对特定的疾病预测建模问题,综合考虑所选算法在多分类能力、可解释性、泛化能力、时空复杂度、数据容错性等方面的情况,并结合现有的研究成果,考虑算法在运用已有研究成果这一问题上的兼容性,选取合适的算法,使所选取的算法能够发挥其在构建特定疾病模型时的性能优势。
(1)正确率(Accuracy),表示所有预测样本中估计正确的样本个数。
(2)错误率(ErrorRate),表示所有预测样本中估计错误的样本个数。
(3)准确率(Precision),表示所有判断为正的样本中实际样本为真的比例。
(4)召回率(Recall),表示所有实际为真的样本中被估计为真的比例。
(5)F1分数(F1Score),表示准确率和召回率的调和平均值。
(6)操作者操作特征曲线(ReceiverOperatingCharacteristic,ROC曲线)反映敏感性和特异性连续变量的综合指标,适用于二分类的情况,ROC曲线上的每个点反映着对同一信号刺激的感受性。横坐标是假正率(FalsePositiveRate),纵坐标是真正率(TruePositiveRate),又称作召回率。
(7)AUC值(AreaUnderCurve),定义为ROC曲线下的面积,适用于二分类的情况,表示当随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好地分类。
在运用机器学习进行疾病预测建模过程中,通常的做法是将数据分为训练集和测试集。测试集是与训练独立的数据,完全不参与训练,用于最终模型的评估。在训练过程中,经常会出现过拟合的问题。如果此时就使用测试数据来调整模型参数,就相当于在训练时已知部分测试数据的信息会影响最终评估结果的准确性。通常的做法是在训练数据中再分出一部分作为验证(Validation)数据,用来评估模型的训练效果。
验证数据取自训练数据,但不参与训练,这样可以相对客观地评估模型对于训练集之外数据的匹配程度。模型在验证数据中的评估常用的是K倍交叉验证,又称循环验证。其将原始数据分成K组(K-Fold),将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型。这K个模型分别在验证集中评估结果,最后的误差MSE(MeanSquaredError)加和平均就得到交叉验证误差。交叉验证有效利用了有限的数据,并且评估结果能够尽可能地接近模型在测试集上的表现,是肠道菌群数据建模中的主要验证手段。
过去的研究已证实,机器学习在解决肠道菌群分类识别的问题上表现出了很好的性能,随着研究的深入,许多科研团队开始探索将机器学习用于构建基于肠道菌群数据的疾病预测模型,根据所采用算法的特点可将其大致分为两类:(1)基于传统机器学习算法的预测模型;(2)基于深度学习算法的预测模型。
在基于机器学习构建的预测模型的发展历程中,最早采用传统的机器学习算法进行模型构建,这些算法包括SVM、RF、KNN等。这类算法普遍的特点是简便易操作、处理速度快。
在大数据时代,将肠道菌群大数据转化为有价值的知识是肠道菌群研究中面临的重要挑战之一。深度学习是机器学习的分支,其特点是具有强大的学习能力和灵活性。近年来,深度学习得到了迅速发展,在各个领域都展现出了巨大的性能优势。
通过横向比较可得出以下分析结果:(1)基于DeepMicro构建的模型在性能上优于基于MetAML构建的模型。(2)基于DeepMicro构建的模型性能稳定性更高,预测性能基本维持在较高水平,而基于MetAML构建的模型性能稳定性较低,会因为数据集的不同而产生较大的变化。(3)存在个别数据集上(如ColorectalCancer)MetAML构建的模型性能优于DeepMicro构建的模型。
本文从肠道菌群数据分析的角度入手,主要针对基于肠道菌群数据构建疾病预测模型这一问题,梳理了肠道菌群研究的发展历程和重要里程碑;根据过往的研究工作,整理出肠道菌群数据分析中常用的7个基准数据集;总结出基于肠道菌群数据构建疾病预测模型的基本流程;重点阐述了近年来传统机器学习和深度学习在构建疾病预测模型中的典型应用。
近年来,图卷积神经网络取得了突破性的进展,其在处理图数据的分类和预测时展现出了强大的性能优势,目前在交通预测、人体行为识别、生物分类等领域均取得了诸多成果。在肠道菌群研究中,系统进化生成树的结构以及菌群之间的关联均可通过图结构进行表示,那么是否可以考虑将肠道菌群分析与图神经网络进行结合,利用图卷积特性分析肠道菌群数据,以此推动肠道菌群分析领域的研究和发展。
综上所述,在未来,机器学习和深度学习方法应该被视为分析肠道菌群的一个重要工具,我们应该积极探索这二者间恰当的结合点,借助计算机科学上的研究成果推动肠道菌群分析的发展,实现将肠道菌群的分析作为临床上诊断、治疗和预防疾病的有力工具。