网络生物学与机器学习(上):什么是机器学习?

机器学习,一种旨在从多维数据集构建可预测模型的数据分析技术,正在成为现代生物学研究不可或缺的一部分。通过对大型数据集进行学习并对生成可预测的模型,机器学习可用于研究复杂的细胞系统,如生物网络。这篇文章为生命科学领域的研究人员提供了机器学习入门的一些知识,包括深度学习的介绍。同时这篇文章还从四个方面,包括疾病生物学,药物发现,微生物组研究和合成生物学,讨论了机器学习与网络生物学交叉研究的机遇和挑战.

本文为第一部分,主要介绍机器学习的入门知识,并会涉及到深度学习的介绍。在下周的推送中,我们将探讨机器学习对于疾病生物学,药物发现,微生物组研究和合成生物学等领域的影响。

作者:Camacho, D. M., Collins, K. M., Powers, R. K., Costello, J. C., & Collins, J. J

翻译:孟凡康(部分内容有删改)

全文约6000字,阅读时间约为15分钟

在过去的十年中,通过对分子变量如基因,蛋白质和代谢物丰度,微生物组成和群体遗传变异等进行量化,生物学领域产生了大量高度复杂的数据集,且数据集的数量正在急剧增加。跨研究学科的研究中经常会产生PB量级的数据。例如,Cancer Genome Atlas从30,000多个不同癌症类型的患者身上采集的数据,总计已经超过2.5 PB。类似项目,如Human Microbiome Project,ENCODE Project Consortium, 以及100,000 Genomes Project等等也正在产生大量数据。

这些数据集提供了深入了解生物系统和复杂疾病所需的原材料,但如何进一步探索这些数据的价值只能通过更高层次的分析过程来实现。上面说到的项目时刻在向我们表明:处理大型异构复杂数据集的工具和技术正在变得无比重要。而机器学习,旨在帮助我们解决这一复杂问题,为我们提供下一代的分析技术,使人们能够从新的角度出发,对生命系统提出新的假设。

机器学习是计算机科学中的一门学科。通过编程,机器(即计算机)可以从数据中学习模式(Pattern)。学习本身则基于一套数学规则和统计假设。通常来说,机器学习的目标是根据给定数据集的特征之间的统计关联开发出预测模型,然后使用此模型来预测给定输入值的输出值(或者范围),例如二元响应,分类标签或连续值。简而言之,对于感兴趣的问题(比如新基因组中基因的识别和注释),机器学习算法将学习现有注释基因组的关键属性,例如转录起始位点的构成和特定基因组区域的特性如GC含量和密码子偏好,然后利用这些知识生成一个模型,用于在给定基因组序列的基础上辨别和注释基因。对于新测序的基因组,该算法将应用从训练数据中学到的知识,对基因组某一位置的功能进行预测。

机器学习的应用在生物学中变得无处不在,不仅近包括基因组注释,而且还包括对蛋白质结合的预测,癌症关键转录驱动因子的鉴定,复杂微生物群落中代谢功能的预测,和转录调控网络的表征等等。简而言之,任何可以用来学习相应的模式并应用于新数据集的任务都属于机器学习的范畴。机器学习方法一个关键的优势是可以用来筛选大量的数据以探索可能会被忽略的模式。在生物和生物医学研究的大数据时代,机器学习在发现复杂生物系统的可预测模式方面起着关键的作用。

因为涉及生物学研究,所以在这篇文章中我们尽量深入的描述机器学习的相关背景知识,并探讨机器学习和网络生物学交叉的机遇,这是一个处理生物网络和大型多维数据集的研究领域。网络生物学涉及研究生物分子的复杂相互作用,该领域在生物系统建模中扮演着重要角色,辅之以跨多个多元组学程序生成的高度复杂的数据集。网络生物学涉及大规模内生生物网络(系统生物学背景)的重建和分析,以及小规模合成基因网络(合成生物学背景)的设计和构建。

下面,我们将会介绍机器学习的基本概念,一般工作流程和主要的类别。这里提供了一些关于在生物研究中设计和实施机器学习方法时应该考虑的原则。文章中还包括了关于深度学习的简短讨论,这是一种越来越多的应用于医学和生物学中的下一代机器学习方法。

机器学习基础知识

机器学习方法旨在基于底层算法和给定数据集生成预测模型。机器学习算法的输入数据通常由一组样本中的“特征(features)”和“标签(labels)”组成。特征是所有样本的测量结果,无论是原始的还是经过数学变换的结果;而标签是机器学习模型旨在预测的结果—也就是模型的输出。机器学习算法也可以处理缺乏标签的数据集。如图1所示,一般的机器学习工作流程首先是处理输入数据; 第二,学习或训练基础模型(一组数学公式和统计假设,定义学习规则); 第三,使用机器学习模型对新数据进行预测。

图1. 机器学习通过构建模型来解释和分析数据集。数据包括在许多样本上测量的特征,包括基因,蛋白质,代谢物和网络边缘的量化。 基于预测任务、数据的基础属性以及数据是否被标记来选择机器学习方法。 如果数据未标记,则需要无监督的方法,例如PCA或分层聚类。 如果数据被标记,则可以应用监督方法,其将基于输入标签生成用于回归或数据分类的预测模型。 在应用适当的机器学习方法后,必须验证预测。 可以生成或收集新数据并用于改进学习模型,提高预测性能并开发新的生物学假设。

学习过程的目的是找到最佳的一组模型参数,将输入数据中的特征转换为标签的准确预测的过程。通过一系列先后步骤找到相应的参数,其中包括参数估计,模型性能评估,错误识别和纠正,然后重复该过程。这个过程称为训练,并将不断进行,同时通过最小化模型进行误差评估,直到模型性能无法改善为止。一旦确定了最佳参数,就可以使用该模型来使用新数据进行预测。

在生物学应用中,特征可以包括一种或多种类型的数据,例如基因表达谱,基因组序列,蛋白质-蛋白质相互作用,代谢物浓度或拷贝数改的变化。特征可以是连续的(例如,基因表达的数值),分类的(例如,基因功能注释)或二元的(例如基因开启或关闭)。标签,和特征一样,可以是连续的(例如生长速率),分类的(例如疾病所处的阶段)或二元的(例如致病的或非致病的)。由于标签可以是连续的或离散的,因此许多机器学习方法可以分为回归或分类任务,其中回归任务涉及连续输出变量的预测,并且分类任务涉及离散输出变量的预测。

如上所述,训练机器学习模型的目标是用它来基于新数据进行预测。如果模型对训练数据以及独立数据集(例如测试数据)的预测是准确的,则可以认为该模型已经正确的进行了学习。然而,有时候给定的机器学习模型可以高精度地预测训练数据,而不能对测试数据做出准确的预测,这称为过度拟合,当模型的参数与训练数据特别匹配时,会发生这种情况,即机器学习模型不能提供在这些数据范围之外的预测能力。也有可能存在一种机器学习模型不能准确预测训练数据,这则是欠拟合的情况。过度拟合和欠适合是机器学习模型性能不佳的主要因素。前者可能出现在机器学习模型太复杂(太多可调参数)的情况下(相对于训练数据集中的样本数),而后者则发生在模型太简单时。可以通过增加训练数据集的大小和/或降低学习模型的复杂性来解决过度拟合问题,同时也可以通过增加模型的复杂性来弥补不足,避免欠拟合问题。

除了训练数据的数量,输入数据的质量也是整个机器学习过程的关键。 “Garbage in, garbage out”的计算机科学谚语在机器学习中体现的非常明显。任何机器学习算法的性能均取决于用于训练模型的数据。输入数据正确的格式化,去杂化和标准化构成了学习过程关键的第一步。在有些情境下,输入数据集可能存在许多缺失值,因此不完整。处理缺失数据的方法包括直接推断缺失值(例如插补)或简单地删除缺失特征。此外,并非给定生物数据集中的每个输入要素都将为预测输出标签提供数据信息。事实上,包含不相关的特征可能会导致过度拟合,从而降低机器学习模型的性能。称为特征选择(Feature selection)的过程通常用于识别信息特征。特征选择技术的一个例子是将所有输入特征与标签相关联,并仅保留符合预定义阈值的特征。

机器学习方法的类别

有两大类机器学习方法—即无监督学习(Unsupervised learning)和监督学习(Supervised learning)。当输入数据上的标签未知时,使用非监督方法,这些方法只能从输入数据的特征中学习相应的模式。常用的无监督方法包括主成分分析(Principle components analysis, PCA)和层次聚类(Hierarchical clustering)。无监督方法的目标是根据相似特征对数据的子集进行分组或聚类,并确定数据中存在多少个组或簇。虽然该方法可以用于识别群集或直接减少数据维度,但不会生成独立的预测模型。在实践中,当有新数据可用时,有两种选择:(1)新数据可以映射到聚类或降维空间或(2)可以再次用所有数据进行聚类或减少维度。使用这两种方法中的任何一种,都可以确定新数据与原始数据的吻合程度。

无监督技术在某些情况下是有利的。例如,在样本标签丢失或不正确的情况下,由于聚类过程纯粹是在输入数据上执行,所以无监督方法仍然可以识别模式。另外,无监督方法非常适合高维输入数据的可视化。例如,通过绘制PCA的前两个主成分,人们可以在包含有数百或数千个特征的信息二维图上判断样本之间的相对距离(相似性度量)。

另一方面,监督方法适用于输入数据数据包含有标签的情况。在这种情况下,标签用于训练机器学习模型,最终给出模式。受监督的方法通常与机器学习的应用相关联,因为训练的模型是预测性的; 因此,当新的输入数据变得可用时,可以直接使用训练模型进行预测。值得注意的是,无监督方法的输出可以用作监督方法的输入。例如,在层次聚类中发现的聚类可用作受监督方法的输入特征。此外,监督模型可以使用PCA的输出作为输入,并直接在缩减的特征空间而不是整套输入特征上进行训练。

属于监督学习范围的两个值得注意的机器学习子类是半监督学习(Semi-supervised learners)和集成学习(Ensemble learners)。在标签不完整的情况下可以使用半监督方法,例如,仅标记少量训练数据。这在生物数据中经常发生,例如,对于一组感兴趣的基因,只有一小部分存在功能注释。利用半监督学习,标记数据被用于推断未标记数据的标签,和/或利用未标记数据获得关于训练数据集结构的信息。半监督学习的目的是超越通过忽略标签和进行无监督学习,或忽视未标记数据和进行监督学习来实现的模型的表现。另一方面,集成学习将多个独立的机器学习模型组合成一个单一的预测模型,以获得更好的预测性能。这些方法基于所有机器学习方法偏向于识别方法特异性模式的事实。因此,与单一的学习方法相比,组合多个学习策略可以产生更好的预测。

机器学习在生物中的应用

在选择机器学习算法应用于生物学问题时,需要考虑几个因素,特别是考虑到生物数据的可变性以及用于收集数据的不同平台和方法时。由于技术和生物本身的差异,在一个数据集上训练的机器学习模型可能无法很好地推广到其他数据集。任何新的数据集应该与用于训练模型的数据的一般属性相匹配。新数据也应该使用与训练数据相同的流程进行处理。如果新数据与训练数据存在显著不同,机器学习模型的预测很可能是虚假的。

与分子生物学技术非常相似,机器学习方法也是要根据特定情形才能决定的。机器学习和分子生物学实验都需要仔细的实验设计才能正确检验假设。尽管机器学习的目标是开发可以广泛应用的预测模型,但模型根据不同预测条件可能会做出不同的假设,并且其性能可能会在不同条件下发生变化。所有方法的选择都需要作出权衡; 这个概念在计算机科学中是被广泛认可的,称为“No free lunch theorem”。

机器学习的性能可能受多种因素的影响,包括特征选择,用户定义的参数以及方法本身。直接证据表明这些因素是生物应用中影响机器学习性能的主要因素。这些证据可以在Reverse Engineering Assessment and Methodology(DREAM)Challenge中找到。DREAM Challenge旨在寻找网络生物学和医学中大数据研究问题的解决方案。以前的挑战项目包括基因组规模调控网络的推断以及使用多元数据集对药物敏感性和协同作用的预测。许多生物网络推断方法可以被定义为无监督学习,其中输入数据用于在给定一组实验数据集的情况下预测生物分子(特征,feature)之间的相互作用(边缘,edges)。第二类生物网络推理算法使用监督学习方法对新样本进行预测。此类方法在表征药物作用机制或疾病状态驱动因素方面取得了重大的成功。

图2. DREAM Challenge.

链接:http://dreamchallenges.org/

每个DREAM Challenge向网络生物学研究界提出一个具体问题和解决它的必要数据。这些问题需要利用计算模型(通常是机器学习方法)来解决,但对应用的模型类型没有限制。每个挑战都包含一个隐藏的评估数据集,用于评估每种方法的性能,从而提供独立的,无偏见的评估来评估不同的方法。随着几十个挑战已经完成,我们可以大致总结出三条“经验法则”,为机器学习方法在网络生物学中应用提供借鉴:

(1)“简单”通常更好(Simple is often better):不管挑战如何,几乎可以肯定的是,一个简单的机器学习方法将成为表现最佳的模型。这些模型通常包括基于线性回归的模型(例如弹性网络),这些模型在一系列机器学习任务中表现良好,因此具有出色的起点。

(2)先验知识提高性能(Prior knowledge improves performance):领域特定知识的应用几乎总是有助于任何预测模型。例如,使用磷酸蛋白质组学数据来对乳腺癌中的信号传导网络反向工程。信号网络中元件和相互作用的先验知识增强了机器学习预测信号相互作用的能力。

(3)集成模型产生的结果更加稳健(Ensemble models produce robust results):在开始我们讨论过,集成模型整合来自多个独立预测方法的预测。集成模型在各种挑战中一直是最佳的模型选择,并且往往鲁棒性更高。

在不同的DREAM Challenge中,可以看出,没有任何一种机器学习方法或一类方法总是表现最佳。因此,没有“magic bullet”方法可以最优地解决网络生物学中的所有机器学习任务。

深度学习:下一代机器学习

新一代测序技术对于可分析核苷酸序列的通量和速度等方面都有了显著的提升。在这里,我们使用术语“下一代”来描述正在开发中的用于处理许多领域(包括生物学和医学)中爆炸性数据的机器学习方法。我们将重点放在深度学习上,这是一种下一代机器学习方法,越来越多地被应用于应对这些数据的复杂性和数量的相关问题上。

深度学习方法通常利用神经网络。最简单的神经网络架构有三层:输入层,中间或隐藏层,以及输出或预测层。输入层中的神经元将原始数据作为输入,并将信息传递给隐藏层,隐藏层使用数学函数将原始数据转换为“Representation”,帮助机器进而学习数据中的模式。输出层根据隐藏层所执行的转换重新回到分类或回归问题。此过程的目标是训练神经网络,使其学习恰当的“Representation”以准确地预测新的输入数据集的输出值。

深度神经网络是一个包含多个隐藏层的神经网络;隐藏层的数量越多,神经网络越深。隐藏层被连续地连接,这样每个隐藏层可以将先前隐藏层产生的“Representation”作为输入来学习数据结构的特性。研究人员可以根据学习模型的目的定义隐藏层的数量和大小。例如,递归神经网络(recurrent neural network, RNN)将一维序列数据作为输入,例如句子中的单词或DNA序列中的碱基。 RNN具有“薄”隐藏层,通常由以线性架构连接的单个神经元组成。另一方面,卷积神经网络(convolutional neural network, CNN)处理具有两维或更多维度的数据,例如二维图像或高维多组学数据集。 CNN通常具有复杂的隐藏层,每一层隐藏层同时又具有多种神经元。

深度学习的一个重要方面是这些层的行为,即他们如何转换数据可以通过机器学习而不是由研究人员定义。深层神经网络通过迭代地调整其内部参数实现预测误差的最小化,这种过程一般通过反向传播(backpropagation)实现。通过反向传播,模型输出与目标输出之间差异的误差信号被计算并通过系统反馈。然后调整神经网络每层中的参数(或权重),从而使每个神经元的误差以及整个网络的误差最小化。这个过程可以重复多次,直到模型的输出(预测)和目标输出之间的差异降低到可接受的水平。深度学习方法可以识别复杂数据集中的新模式,这些模式可能会被其他技术忽略。这是一种特别强大的生物应用工具,可以从复杂的数据集中提取最具预测性的特征。

深度学习范式的一个主要缺点是训练深度神经网络需要大量的数据集,主要因为需要在深度神经网络中训练许多隐藏层,但是这些大量的数据集在许多生物学研究中往往无法实现。此外,深度学习中涉及的复杂架构和训练过程在很大程度上妨碍了人们理解深度神经网络如何进行计算和预测的过程,因为人们只能控制输入数据和模型中的一些参数(例如隐藏层的数量和大小),这可能会限制预测模型的可解释性,从而限制其用于获得对潜在生物学机制的相关研究中。

在下周的推送中,我们具体讨论机器学习将如何应用于疾病生物学,药物发现,微生物组研究和合成生物学等领域,以及机器学习对于这些领域未来的影响。

参考资料:Camacho, Diogo M., et al. "Next-Generation Machine Learning for Biological Networks."Cell(2018).

END

再创丨Regenesis 正式开启了“喜欢作者”功能,如果您觉得本文的文章写得不错,可以在文末对作者进行赞赏,感谢您对 再创丨Regenesis 的支持与鼓励!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180704G1I6I300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券