TaxoNN:基于分层微生物组数据的集成神经网络用于疾病预测

《TaxoNN ensemble of neural networks on stratified microbiome data for disease prediction

  • 发表时间: 2020年5月25日 《Bioinformatics》

paper
code
补充材料

作者:

  • Divya Sharma
  • Andrew D. Paterson
  • Wei Xu 徐 葳 清华大学副教授

Abstract

动机: 研究支持将微生物群作为某些疾病的预测因子的潜在用途。基于微生物组数据的复杂性,以及微生物操作分类单元(OTUS)的层次化分类所带来的内在相关性,我们提出了一种新的机器学习方法,该方法结合了分层的方法将OTU分组到类群中。卷积神经网络(CNN)被用来在每个聚类内单独训练。此外,通过集成学习方法,将从每个聚类获得的特征连接起来,以提高预测精度。我们的两步方法包括在组合多个CNN之前进行分层,与使用忽略OTU相关性的单个CNN相比,这有助于有效地捕捉共享一个OTU之间的语义关系。

结果: 我们使用包含200个病例和200个对照的168个OTU的模拟数据集进行模型测试。随机选择了32个可能与疾病风险相关的OTU,三个OTU之间的交互作用被用来引入非线性。我们还在两个人类微生物群研究中应用了这一新方法:(I)118例肝硬化,114个对照;(Ii)2型糖尿病(T2D),170例,174个对照;以证明该模型的有效性。广泛的实验和与传统机器学习技术的比较产生了令人鼓舞的结果。我们得到的平均AUC值为0.88,0.92,0.75,在模拟、肝硬化和T2D数据中分别显示出一致的增量(5%,3%,7%),而性能次之的方法是随机森林法。

1 Introduction

人体微生物群由一组生活在人体内和人体内的微生物组成。微生物组数据通常根据它们与参考数据集的序列相似性被量化为可操作分类单元(OTU)。一些疾病的风险被发现与宿主的微生物群有关,这使得基于微生物组分析的疾病风险预测成为一个重要问题。在这方面,机器学习可以有效地理解微生物群之间以及微生物群与疾病之间的关系。

人体微生物群由一组生活在人体内和人体内的微生物组成。微生物组数据通常根据它们与参考数据集的序列相似性被量化为可操作分类单元(OTU)。一些疾病的风险被发现与宿主的微生物群有关,这使得基于微生物组分析的疾病风险预测成为一个重要问题。在这方面,机器学习可以有效地理解微生物群之间以及微生物群与疾病之间的关系。

卷积神经网络(CNNs)已经成功地应用于各种领域,如人脸识别、光学字符识别和医疗诊断。CNN在捕获输入数据中的空间和时间依赖性方面表现良好。CNN还能够在预测期间捕获数据中的交互作用。集成学习在生物图像分类和场景文本识别领域也引起了很大关注,其中多个神经网络组合在一起以提高模型性能,并纳入多个输入。然而,我们观察到,CNNs还没有被广泛应用于微生物组分析来预测疾病风险。一个原因可能是,OTU相对丰富的数据本身(没有任何重新排列)没有显示出CNN可以捕获的任何空间相似性。

基于OTU在同一分类水平上的内在相关性以及OTU在疾病预测过程中的非线性关系,我们提出了一种新的深度学习模型TaxoNN(基于分类的神经网络)。TaxoNN根据输入的OTU数据的类别信息将其分层到不同的簇中。此外,由于集成学习是有效的,因此,我们提出了在包含共享相同类别的OTU的分层簇上的CNN集成。其基本原理是,经过门级别划分后的OTU有相似之处,因此,它们之间存在一定的相关性。此外,为了在输入的OTUS中引入空间关系以供CNN捕获,我们根据它们之间的相关性和到聚类中心的欧几里德距离对OTUS进行排序。

2 Materials and methods

2.1 Proposed neural network framework: taxoNN

我们试验了三种类型的CNN模型。首先,我们使用了一个基本的卷积框架(CNN_BASIC),其中输入的OTU按照分类标签的字母顺序排列,因此,它们的顺序不代表生物关系。

然后,我们试验了在神经网络的每一次迭代中对输入中的OTU(CNN_Shuffle)进行洗牌,假设洗牌的各种迭代反过来会导致相关的微生物群排列在一个窗口中。然而,这种假设可能会限制预测的准确性。

因此,在将其作为神经网络模型的输入之前,我们最终研究了在OTU数据中纳入固有的系统发育关系。补充图S1示出了包含各种分类级别的样本分类树,并说明了OTU数据中的层次结构是复杂的,对应于不同门的群集可以包含不同数量的OTU。
在这里插入图片描述
补充图1:OTU数据中的分类级别示例,使用29个OTU来说明,这些OTU取自[3]中公开可用的OTU数据

假设在整个研究中有‘I’个受试者,第i个受试者(其中, i ∈ I ) i \in \mathrm{I}) iI))的OTU数据以一维矢量格式呈现给网络, O T U i  th subject  = { o 1 , o 2 , … , o N } \mathrm{OTU}_{i \text { th subject }}=\left\{o_{1}, o_{2}, \ldots, o_{N}\right\} OTUi th subject ={ o1,o2,,oN};其中,N是受试者中的OTU总数。然后,这些OTU根据它们的门被分成四个簇,使得每个簇具有不同数量的OTU。例如,第一簇包含‘p’OTUS,第二簇包含‘q’OTU,第三簇包含‘r’OTU,第四簇包含‘s’OTUS(其中, p + q + r + s = N p+q+r+s=N p+q+r+s=N),并且CNN被单独应用于每个簇。为了一起排序和放置相关的OTU,我们采用了两种方法:

方法1: 基于到 cluster 中心的距离进行排序:在该方法中,对于‘p’OTU cluster,我们在cluster内每个取i维(对应于被试的‘i’个数量)。然后,我们计算了该cluster的中心点。中心点是数据集的代表性对象,其与cluster中的所有对象的平均相异度最小。包含同一中心点的OTU的集群中的medoid使用以下公式计算:

O T U medoid  = argmin ⁡ y ∈ { O T U 1 , O T U 2 , … , O T U p } ∑ j = 1 p d ( y , O T U i ) \mathrm{OTU}_{\text {medoid }}=\operatorname{argmin}_{y \in\left\{\mathrm{OTU}_{1}, \mathrm{OTU}_{2}, \ldots, \mathrm{OTU}_{p}\right\}} \sum_{j=1}^{p} d\left(y, \mathrm{OTU}_{i}\right) OTUmedoid =argminy{ OTU1,OTU2,,OTUp}j=1pd(y,OTUi)

在补充图S12a中可以看到,为了便于表示,我们取了几个OTU,并认为它们的OTU向量只包含三个对象。OTU用蓝点表示,表示该特定OTU的相对丰度,然后计算出这些OTU的Medoid(如红点补充图所示)。S12b)。此外,还计算了三个样本OTU(i,j和k)的欧几里德距离di,dj和dk(补充图)。S12c)和OTUS是根据它们与中间体的距离增加而订购的。这样,我们得到di<dj<dk,因此,在作为CNN输入的OTU向量中,OTUi排在OTUj和OTUi之前。这个想法被扩展到集群中的所有‘p’OTU向量。
在这里插入图片描述
补充图12:一个示例图,用来说明集群中OTUS中基于欧几里得距离的排序。(A)以蓝点表示的3个受试者的21个OTU的相对丰度。(B)红点表示星团的中心线。(C )黑色虚线表示三个OTU到中线的欧几里得距离。由于DI最小,然后是Dj和Dk,因此,与具有距离Dj的OTU相比,具有距离Di的OTU将首先在cluster排序,然后是具有距离Dk的OTU。为了便于理解,本插图仅针对3个主题进行了举例说明。然而,在现实中,有多个个体(样本量=I)在一项研究中导致这个3-D图被扩展到I-维空间。

这种排序与卷积滑动窗口相结合,有助于将聚类中位置较近且具有更多相似性的OTU组合在一起。在同一滑动窗口中的OTUS,与神经网络中的权重向量相结合,产生了非线性项,这些项被发送到神经网络的下一层,因此,这有助于理解它们之间的非线性关系。我们将这种变种命名为axoNndis。

方法2: 基于相关性的排序:我们使用的第二种方法是使用Spearman排名,根据OTU之间的相关性对OTU进行排序。这给出了cluster中p个OTU的p*p矩阵,如图1a所示。接下来,该相关矩阵的每一行被缩减为累积相关系数,该累积相关系数是使用以下公式相对于单行中的所有OTU计算的:
ρ O T U r o w j = ∣ ρ O T U j 1 ∣ ⋅ ∣ ρ O T U i 2 ∣ ⋯ ∣ ρ O T U j p ∣ p \rho_{\mathrm{OTU}_{\mathrm{row}_{j}}}=\sqrt[p]{\left|\rho_{\mathrm{OTU}_{j 1}}\right| \cdot\left|\rho_{\mathrm{OTU}_{i 2}}\right| \cdots\left|\rho_{\mathrm{OTU}_{j p}}\right|} ρOTUrow

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值