Incorporating biological structure into machine learning models in biomedicine(论文阅读报告)

本文探讨了将生物结构如基因序列、网络和途径整合到机器学习模型中在生物医学中的应用,包括在调节生物学、变异检测、转录组学和遗传学中的具体案例。使用CNN和其他深度学习方法,这些模型能处理大规模数据,提高预测准确性和解释性。

Incorporating biological structure into machine learning models in biomedicine

Introduction

将生物医学知识纳入机器学习模型可以揭示嘈杂数据中的模式,并有助于模型解释。

生物知识可以采取多种形式,包括基因组序列,途径数据库,基因相互作用网络和知识层次结构,例如基因本体论。

Sequence models

方法概述

早期的神经网络模型主要将人工参与的序列特征作为全连接神经网络的输入。

将2D空间中附近的图像像素或者线性基因组中附近的碱基对分组,作为CNN的输入,CNN可对其提取特征以进行预测。

eg. Angermueller

应用

regulatory biology 调节生物学
  • 处理大量数据

    BPNet:预测DNA序列的转录因子结合谱的DNA,可以精确定位小鼠胚胎干细胞中结合基序的已知位置。考虑每个位置上下1000个碱基对。

    cDeepbind:将RNA序列与有关二级结构的信息结合在一起,以预测RNA结合蛋白的亲和力。它的CNN结合了序列和结构信息的特征向量。

    APARENT

  • 考虑序列上下文的模型

    DeepSignal

    MRCNN

variant calling and mutation detection 变异调用和突变检测
  • 用CNN

    DeepVariant

    PacBio and Oxford Nanopore

  • 用手工设计的序列特征作为分类起的输入

    insertion/deletion call- ing

Network-based and pathway-based models

方法概述

许多机器学习模型对缺乏内在顺序的输入进行操作。

为了说明基因之间的关系,在进行预测或生成数据的低维表示时,可能会合并已知的相互作用或相关性。常见方法:使用网络或基因集合将数据嵌入到低维空间,同一基因集或网络中连接良好的基因在低维空间中具有相似的表示。(下图:行是样本,列是基因)

应用

PacBio and Oxford Nanopore转录组学
  • 采用gene sets

    PLIER——Multi-PLIER

    PASNet (This approach aids interpretation, as pathway nodes in the network with high weights can be inferred to correspond to certain pathways in GBM outcome prediction.)

  • 用网络表示基因水平的关系(网络节点通常代表基因,而实际值边缘可能代表基因之间的相互作用或相关性)

    早期:基于网络的分层

    最近:netNMF-sc——coexpression networks;PIMKL;

  • 基因调控网络(描述了基因表达如何通过生物调节因子调节的)也可以增强基因表达数据的模型。

    creNET

    GRRANN

genetics遗传学
  • 最近的应用包括expression quantitative trait loci (eQTL) mapping studies,其目的是鉴定遗传变异与基因表达之间的联系。

    netReg

  • eQTL信息也与遗传变异信息结合使用,以预测表型

    Mendelian ran- domization (MR)

Other models

  • 有关生物实体的知识通常以本体进行组织,该本体是对实体之间的关系进行编码的有向图。

DCell:use GO(The Gene Ontology (GO) [3] describes the relationships between cellular subsystems and other attributes describing proteins or genes). 性能和未受约束的神经网络相当,但是可解释性强。

DeepGO: 和上面相似的方法。但后续论文发现这种层次结构感知方法可以被无层次意识的CNN所超越。

  • 系统发育树(Phylogenetic trees)或描述物种之间进化关系的层次结构

    glmmTree

  • 其他形式的结构或先验知识可以为模型输出的预测和解释提供依据

    CYCLOPS

    NetBiTE

### BAD-SLAM 的概述 BAD-SLAM 是一种基于对象的 SLAM 方法,其核心思想在于通过利用场景中的语义信息(即检测到的对象),构建更精确的地图表示形式。这种方法不仅能够提高定位精度,还能增强地图的可解释性和实用性[^1]。 #### 主要贡献 论文的主要贡献可以总结如下: - **非参数化姿态图优化**:该方法采用了一种非参数化的姿态图结构来存储机器人轨迹以及环境中对象的姿态关系。这种设计使得算法能够在保持高效的同时处理复杂的环境变化。 - **联合估计框架**:BAD-SLAM 提出了一个联合估计框架,在其中同时优化机器人的位姿、对象的位置及其几何形状。这一特性显著提升了系统的鲁棒性与准确性。 - **实时性能**:尽管引入了额外的状态变量(如对象位置和形状),作者仍确保整个系统具备良好的实时运行能力,适用于实际应用场合。 #### 技术细节分析 ##### 数据关联策略 为了实现可靠的数据关联,BAD-SLAM 利用了深度学习技术进行物体识别,并结合几何约束完成最终匹配决策过程。具体而言,当新观测到来时,系统会先尝试将其分配给已知实例;如果失败,则创建新的实体节点加入图模型之中。 ##### 图优化部分 在每次闭环检测成功之后或者达到一定时间间隔条件下触发全局一致性调整操作——通过对所有相关联边施加能量函数最小化准则求解最优配置方案。值得注意的是,这里特别考虑到了不同类型因子之间的权重平衡问题,从而避免因单一模态主导而导致偏差现象发生。 ```python import numpy as np def optimize_pose_graph(graph_data): """ Optimize the pose graph to minimize error. Args: graph_data (dict): Contains nodes and edges information Returns: optimized_poses (list of np.ndarray): List containing optimized poses """ # Initialize variables based on input data structure... initial_guess = initialize_variables(graph_data) # Define cost function incorporating both odometry & loop closure constraints def cost_function(x): total_cost = compute_odom_error(x) + lambda_factor * compute_loop_closure_error(x) return total_cost result = scipy.optimize.minimize(cost_function, initial_guess) optimized_poses = extract_results(result.x) return optimized_poses ``` 上述伪代码展示了如何设置目标方程并调用数值工具包解决最优化子任务的一个简单例子。 #### 实验验证与讨论 实验部分充分证明了所提方法的有效性。对比传统仅依赖特征点的传统SLAM解决方案,无论是在室内还是室外复杂动态环境下均展现出明显优势。特别是针对重复纹理区域或存在遮挡情况下的表现尤为突出。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值