虽然机器学习算法在微生物组研究中是一个非常有潜力的工具,但是他在实际应用中仍然面临很多困难。普遍存在的局限性有以下几个方面,如模型可解释性,数据饥渴性,模型评估及选择。通俗来讲,机器学习方法建立了一个输入和靶标之间的连接,即使在缺少对输入和靶标之间潜在逻辑关系的理解的前提下也可以很好的找到真实的关系。这也使得机器学习通常被认为是不可解释的黑匣子。这一问题往往在临床决策制定等场景中具有很大应用争议。虽然可解释性的定义并不明确,但是人们越来越趋向于可解释的机器学习模型。例如深度森林算法对特征的重要性进行排序,已经早就用于微生物组相关的研究中。Zhou等人将微生物互作网络嵌入到全连接神经网络中去,使得学习过程带有了先验知识。其他框架,比如DeepCoDA 通过线性转化来初始特征贡献。SparseNED 通过稀疏和可解释的隐藏空间来捕获关节炎中微生物-代谢之间的关系。
第二个局限性是机器学习往往需要大量的数据,以及高质量的,正确标记的数据集。Adadi 提出了解决数据缺乏的策略,如数据增强,无监督学习,迁移学习以及混合模型。数据增强是一种通过创造同质化数据来增加数据量的方式。Lo等人通过负二项分布来扩大他们的训练集,并且提高了了表型分类性能。Sayyari等人提出了通过树基关联数据增强方式从推测的发育树产生新的OTU来弥补低样本量以及样本并不均衡所导致的局限。无监督以及半监督学习方式不需要过多的标签量,迁移学习和混合模型还没有在微生物组领域应用。
一个最主要的考虑是数据质量,我们的建议是关注数据集的来源、不足之处以及差异。控制这些的方法有去重、类别平衡、极端值移除等方式,这些方式影响了模型的性能。虽然采集大量的数据以及完美注释的样本大小在微生物数据集中很难实现,但是研究人员可以从多个研究中获取数据。无论如何,机器学习非常依赖训练集的数据质量,因此应给予特别关注。
另一个对于微生物生态学者来说比较重要的挑战是对于一个指定任务应进行合适的选择、调参、评估。在众多模型中进行选择以及寻找一组合适的超参数的工作量极大,因此我们推荐利用成熟的机器学习生态系统。如pytorch/tensorflow/keras等。跨多个数据集进行比较可以评估ML 方法的稳健性。参考数据集的选择是对确保公平比较至关重要。
最后,我们总结了 ML 辅助微生物组的关键步骤,(图 2)中的分析,并提供以下快速提示和启发式方法:
1. 熟悉数据集。前期检查输入数据可以帮助衡量特征空间的大小,识别数据集是否包含不平衡的类,或确定插补或特征工程是否是一种选择。
2. 建立模型选择和基准测试策略。将数据集拆分为训练、验证和测试子集(在大型数据集的情况)或交叉验证(对于较小的数据集)。选择适当的指标进行比较模型并估计它们的性能。
3. 选择合适的方法。虽然选择取决于数据和任务,但传统的 ML 算法还是不错的选择,因为它们需要最小的调整并且是相对容易实现。如果大规模或多模态数据是可用的,考虑像自动编码器这样的 DL 方法将所有数据方面合并到信息嵌入中。在里面在具有纵向微生物群落的序列数据的情况下,尝试一个适合捕获的 RNN 框架时间依赖性。如果空间信息可以嵌入到输入中,例如系统发育树可以分解为二维矩阵,考虑 CNN。