目录
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
论文概况 | 详细 |
---|---|
标题 | 《forgeNet: a graph deep neural network model using tree-based ensemble classifiers for feature graph construction》 |
作者 | Yunchuan Kong, Tianwei Yu |
发表期刊 | 《Bioinformatics》 |
发表年份 | 2020 |
期刊等级 | 中科院 SCI 期刊分区(2022年12月最新升级版)3区、CCF-B |
论文代码 | https://github.com/yunchuankong/forgeNet |
作者单位:
Department of Biostatistics and Bioinformatics, Emory University, Atlanta, GA 30322, USA
研究动机
在生物信息学的研究中,使用具有大量变量的数据集来预测临床结果是一个重要的问题,在这些数据集的特点是样本数量远少于特征数量,即“n << p”问题。同时特征之间复杂的未知关联结构,增加了预测和特征选择的难度。机器学习方法已经被应用于完成这类任务中,将特征之间关系的先验知识集成到预测模型中,提高分类性能和学习特征空间的结构是研究的一个分支。实现这一目标的关键数据源是由现有生物学知识构建的生物网络,但是如果所需的生物网络存在潜在错误描述,可能会导致问题无法解决。如何确定已知的生物网络是否对预测特定基因表达数据集的特定临床结果有用仍然是一个未解决的问题,这给图嵌入方法在实践中的应用带来了困难。
文章贡献
为了解决样本数量远少于特征数量的“n << p”问题,并设计一个不依赖外部知识的分类模型,本文提出了一个森林图嵌入深度前馈网络(forgeNet)模型。该模型将 GEDFN 架构与森林特征图提取器集成在一起,从而可以以监督的方式学习特征图并为给定的任务构建特征图。为了验证该方法的能力,本文用合成数据集和真实数据集对 forgeNet 模型进行了实验。实验结果表明本文的模型具有较高的精度和鲁棒性,提供的特征重要性排名具有生物学上的意义。
本文方法
图嵌入深度前馈网络
本文的方法与作者之前提出的 GEDFN 模型的神经网络架构类似。对于一个有 l 个隐藏层的深度前馈网络可由如下公式定义:
其中各个符号的含义如下:
符号 | 含义 |
---|---|
X | 包含 n 个样本和 p 个特征的特征矩阵 |
y | 包含分类标签的结果 |
Ψ | 所有参数 |
Zk | 具有相应权重 Wk 和偏置 bk 的隐层 |
σ(·) | 非线性激活函数 |
softmax(·) | 将输出层的值转换为概率预测 |
图嵌入前馈网络是一种改进了第一层的计算规则的前馈网络,Z1 可由如下公式定义。
其中 A 是特征图的邻接矩阵,(·) 是 Hadamard 积运算。
具体而言,原来的隐层的计算由如下公式所定义:
本文修改的隐层的计算由如下公式所定义:
通过最小化交叉熵损失函数,使用 SGD 对模型进行训练。
forgeNet
本文提出的森林图嵌入深度前馈网络(forgeNet)模型由提取器和神经网络两部分组成。提取器使用 Forest 模型在有监督的情况下选择有用的特征,并根据各个决策树的分裂顺序构造有向特征图。神经网络组件将生成的特征图和原始输入馈送到 GEDFN,并预测结果。
在 forgeNet 中,Forest 被定义为决策树的集合,由如下公式定义,其具体实现不限于随机森林。其中 M 为森林中树木的总数,Θ 表示参数,包括拆分变量和拆分值。
在特征图提取阶段,F 由训练数据拟合,得到 M 棵决策树,每棵决策树都包含一个特征子集及其有向连接。
由于二叉树可以看作是有向图的一种特殊情况,因此可以用决策树构造一组图 g。如下面的公式所示,式中 Vm 和 Em 分别是 Gm 中顶点和边的集合。
通过合并 G 中的所有图,得到一个聚合特征图 G(V, E)。
G 对应的邻接矩阵是要嵌入到 forgeNet 第二阶段的特征图,由于不是所有的特征都会被用于 RF,所以记 G 的顶点数为|V|,则有|V| < p。特征提取得到的特征图 G 是一个有向网络,forgeNet 与训练数据拟合后,只需要输入 X_test 就可以对预测结果进行测试。
特征重要性评估
选择对预测有重大贡献的特征,是分析数据中的潜在的生物学机制的重要方式,因此 forgeNet 引入了一种特征重要性评估机制。该机制为图连接权重(GCW)方法,其主要思想是特定预测器的贡献直接反映在与图嵌入层(第一个隐藏层)中相应隐藏神经元直接相关的所有权重的大小上。
由于 forgeNet 的输入为有向特征图结构,输入层和第一个隐藏层之间的连接不对称。为了评估给定特征的重要性,重要性分数计算为图嵌入层中与特征节点本身及其对应的隐藏神经元直接相关的权重绝对值之和,具体表示为如下公式。
重要性分数由三部分组成,前两部分根据特征图 G 中的有向边连接来总结特征的重要性,第三项根据与第二层隐藏层 Z2 的连接来计算特征的贡献。其中各个符号的含义如下:
符号 | 含义 |
---|---|
sj | 特征 j 的重要性评分 |
w(in) | 输入层与第一隐藏层之间的权重 |
w(1) | 第一隐藏层与第二隐藏层之间的权重 |
输入数据 X 需要由原始值减去所有样本的平均值然后除以标准差,确保所有变量具有相同的比例,以便权重的大小具有可比性。训练 forgeNet 之后就可以使用训练好的权重计算所有变量的重要性分数。
具体实现
forgeNet 的使用下表的包和函数实现,由于超参数不是本文的重点,实验中在可行的参数空间中使用网格搜索来调整超参数。
部分 | 设置 |
---|---|
RF | scikit-learn 包 |
GBM | xgboost 包 |
NN | Tensorflow 库 |
激活函数 | ReLU |
优化器 | Adam |
在模拟实验中,forgeNets 的树数为 1000,神经网络的隐藏层数为 3 层,分别为图嵌入层、64 层和 16 层隐藏神经元。在实际数据中,根据相应特征空间的大小来调整森林部分的树木数量,神经网络结构与仿真中相同。
模拟实验
模拟实验的目标是使用 n << p 的数据来模拟疾病结果分类,数据有效特征是稀疏的,并且可能通过潜在的未知结构相互关联。除了 forgeNet模型之外,实验还运行了几种基准测试方法,研究forgeNet 模型是否能够在不知道特征的底层结构的情况下优于其他分类器。
合成数据生成
对于给定数量的特征 p,采用优先连接算法(BA 模型)生成无标度网络作为底层真特征图,将网络中两个特征之间的距离定义为它们之间的最短路径,用 p × p 矩阵 D 记录特征之间的距离。接下来将距离矩阵变换为协方差矩阵 Σ,公式如下:
得到特征之间的协方差矩阵后,生成 n 个多元正态样本,即数据矩阵 X:
随机翻转 1% 的 X 列(基因)的符号增加负相关性,为了生成结果变量,首先选择一个子集的特征作为“真实”的预测因子。在特征图中度数相对较高的顶点中,一部分被随机选择为“核心”,核心的一部分相邻顶点也被选择。将真实预测因子的数量表示为 p0,对一组参数 β=(β1, ……, βp0^T 和一个小范围的截距 β0 进行均匀采样。最后通过类似于广义线性模型框架的程序生成结果变量 y。其中 xi^(true) xi 的子向量,t 是阈值。
变换函数 g(·) 为双曲正切和二次函数的加权和,由于变换是非单调的,因此给分类带来了更多的挑战。g(·) 的公式如下所示,函数 φ(·) 是标准化操作。
按照上述的方案生成了一组有 p=5000 个特征和 n=400 个样本的合成数据集。由于某个预测任务的真实信号是稀疏的(p0 << p),因此选择 p0 = 15、30、45、60 和 75 作为真实预测器的个数。
实验评估
本文对比算法为 GEDFN、GEDFN_mis、RF、GBM 和 加入 lasso 的逻辑回归分类器,其中 GEDFN_mis 为给 GEDFN 提供了错误特征图的情况,同时测试了 forgeNet-RF 和 forgeNet-GBM。实验将生成 50 个独立的数据集,以 4:1 的比例将样本分成训练集和测试集。所有模型都使用训练数据集进行拟合,然后用于预测测试数据集。使用预测的类别概率和测试集的标签计算 ROC-AUC 下的面积评估分类结果,最终测试结果由 50 个数据集的平均测试 ROC-AUC 给出。在特征选择方面,除 LRL 外的其他方法均提供相对特征重要度分数,LRL 直接给出所选特征子集。相关特征的平均个数分别为 208.8、460.4、615.4、717.8、864.7,对应真实特征 p0 = 15、30、45、60 和 75。
实验结果
分类精度对比结果如图所示,随着真实预测量的增加,所有方法的表现都更好,因为整个特征空间中有更多的信号。forgeNets 的两个版本显著提高了 RF 和 GBM 的分类性能,forgeNet-RF 是实现与 GEDFN 相似分类精度的方法。当给定错误的特征图(GEDFN_mis)时,GEDFN 的分类能力被削弱,AUC 值甚至低于 LRL。forgeNets 优于所有经典方法(RF, GBM, LRL),与使用真实特征图的 GEDFN 相比,达到了非常相似的精度,并且在其特征图错误指定时显着优于 GEDFN。
特征选择结果如图(b)和(c)所示,可以看出使用真实特征图的 GEDFN 是对特征重要性排序的最佳方法,但错误指定的特征图再次破坏了性能。forgeNets 的结果明显优于 GEDFN_mis,并与相同森林的结果一致,这是因为 forgeNets 中很大程度上依赖于 forest 给出的特征图。
在(c)中 forgeNet-RF 和 forgeNet-GBM 都能够获得比 LRL 更高的召回值。在特征选择方面,forgeNets 优于传统的 lasso 方法,并与 forest 方法性能接近。虽然不如使用真实特征图的 GEDFN ,但 forgeNets 产生的特征选择明显优于 GEDFN_mis。模拟实验研究证明了 forgeNet 是一种功能强大的分类器,具有较好的特征选择能力。
真实数据应用
BRCA 数据集
将 forgeNets 应用于癌症基因组图谱(TCGA)乳腺癌(BRCA) RNA-seq 数据集,它包括包含 20155 个基因和 1097 名癌症患者的基因表达矩阵,以及包括生存信息在内的临床数据。分类任务是预测三年的生存结果,数据集排除了缺失数据和超过 10% 的零值基因,对每个基因的表达值进行 Z-score 转化。采用 5 折交叉验证进行分类,每种方法的最终预测 AUC 由 5 次验证结果平均计算。
从下表中可以看出,forgeNets 优于其他算法,为分类带来了显著的改进。
对 BRCA 数据进行特征选择,对五折交叉验证结果的特征重要性进行平均,获得基因重要性列表。对于 forgeNets 选出的重要特征可以进行生物学解释,具体请参见原文。
microRNA 数据
将 forgeNets 应用于 BRCA microRNA 数据集,该数据没有现成的特征图,由 2588 个 microRNA 和 848 个 BRCA 患者组成。预测三年生存结果的分类任务,删除了缺失值超过 50% 的 microRNA 也被筛选掉。对剩余的缺失值使用 KNN 估算,并对每个 microRNA 进行 Z-score 转换。
采用 5 折交叉验证进行分类,从下表中可以看出所有方法的 ROC-AUC 都较低,不过 forgeNets 仍然优于其他算法。
对 microRNA 数据进行特征选择,对五折交叉验证结果的特征重要性进行平均,获得基因重要性列表。对于 forgeNets 选出的重要特征可以进行生物学解释,具体请参见原文。
Healthy human metabolomics 数据集
将 forgeNets 应用于 Healthy human metabolomics 数据集,其代谢特征矩阵包含 8807 个特征和 382 名受试者,以及临床和人口统计学信息。分类任务是根据 BMI 指数来预测肥胖,筛选出超过 10% 的零值代谢物,并对每个进行 Z-score 转换。
采用 5 折交叉验证进行分类,从下表中可以看出任何方法的表现都不是太好,但与其他 baseline 方法相比,forgeNets 的分类效果更佳。
对于 forgeNets 选出的重要特征可以进行生物学解释,具体请参见原文。
优点和创新点
个人认为,本文有如下一些优点和创新点可供参考学习:
- 不同于其他在表格型数据上构建特征图的方法,本文用 Forest 算法构建特征图,方法巧妙且用实验验证了其可用性;
- 相比于前置的研究,本文不需要预先输入特征图,而是可以自行构建并取得了和利用真实特征图可相提并论的分类结果;
- 特征重要性评估结合了树模型的评估和神经网络的权重,筛选出的特征在生物学上是有意义的。