返回项目列表研究方案 · v4

RESEARCH WORKBENCH

HDGAT · 界面试验方案

该项目暂无研究简述。

模块节点
38
连接
40
源码文件
8
模块图点击节点查看说明和源码,只读展示
dataset_loader读取药物—疾病数据candidatepositive_edge_split正例随机五折划分candidategraph_preprocessing构图与稀疏输入candidateHDGATHDGAT 药物—疾病模型candidateweighted_cross_entropy全矩阵加权交叉熵candidatetraining_loopAdam 训练与周期学习率candidateevaluation留出正例与未知对评价candidateheterogeneous_adjacency相似度—关联分块邻接candidateassociation_features关联块节点特征candidatesymmetric_normalization全图度归一化candidatesparse_dropout邻接稀疏 DropoutcandidateGCN稀疏 GCN 与 ELUcandidateBiLSTM_attentionBiLSTM 与掩码注意力candidateresidual_attention残差掩码注意力candidatelayer_weighted_sum三个可学习标量跨层融合candidatebilinear_decoder药物—疾病双线性解码candidatesparse_dropout特征稀疏 Dropoutcandidatelinear_projection稀疏特征线性投影candidategraph_aggregation邻接传播candidateELUELU 激活candidateBiLSTM特征轴 BiLSTMcandidatelinear_projectionBiLSTM 输出投影candidateself_concat_attention_score重复自身拼接注意力分数candidatemasked_softmax邻接掩码与行 Softmaxcandidateattention_aggregation注意力汇总与 LeakyReLUcandidatelinear_projection残差层线性投影candidateself_concat_attention_score残差层自身拼接打分candidatemasked_softmax残差层掩码 Softmaxcandidateattention_aggregation注意力聚合candidateresidual_addLeakyReLU 与跨层残差candidateentity_partition药物与疾病嵌入切分candidatebilinear_score双线性关系打分candidatesigmoid展平与 Sigmoidcandidatecyclic_learning_rate指数衰减周期学习率candidateAdamAdam 梯度更新candidateevaluation_mask选取训练矩阵零位置candidatethreshold_metrics阈值扫描与七项指标candidatecustom_fusion疾病特异融合层(试验)custom

核验状态

source_mapping · warning

  • Unimplemented: 疾病特异融合层(试验)

interfaces · warning

  • e19: declared shape mismatch: 867×64 vs each 867×64
  • e20: declared shape mismatch: 867×64 vs each 867×64
  • e21: declared shape mismatch: 867×64 vs each 867×64
  • e1: explicit single input/output port unavailable
  • e2: explicit single input/output port unavailable
  • e3: explicit single input/output port unavailable
  • e4: explicit single input/output port unavailable
  • e5: explicit single input/output port unavailable
另有 30 条详情未展开。

execution · pending

  • Imported code is never automatically executed.

paper_fidelity · pending

  • Assistant must compare note/paper with code; static parsing is insufficient.

sync · warning

  • Semantic graph changed; source adaptation pending.
查看论文精读笔记

title: "Hierarchical and Dynamic Graph Attention Network for Drug-Disease Association Prediction" aliases:

  • HDGAT
  • "Hierarchical and Dynamic Graph Attention Network for Drug-Disease Association Prediction" tags:
  • literature-note
  • reading-note created: "2026-09-06" source: "zotero://select/items/KNDR3HNA" author: "Shuhan Huang, Minhui Wang, Xiao Zheng, Jiajia Chen, Chang Tang" year: 2024 theme: "用图注意力网络预测药物-疾病关联" study_area: "CTD数据集:269种药物与598种疾病" data_source: "CTD与DrugBank数据库;MeSH疾病语义" methodology: "分层动态图注意力网络HDGAT" core_variable: "关联分数S'与药物/疾病嵌入EM/EA" key_finding: "主集AUPR 0.2665、准确率0.9614居首" relevance: "动态+分层注意力缓解GCN过平滑并提升鲁棒性"

Hierarchical and Dynamic Graph Attention Network for Drug-Disease Association Prediction

基本信息

项目 内容
作者 Shuhan Huang, Minhui Wang, Xiao Zheng, Jiajia Chen, Chang Tang
年份 2024
来源 IEEE Journal of Biomedical and Health Informatics, 28(4): 2416–2427
主题 用图注意力网络预测药物-疾病关联
链接 Zotero 条目 · PDF 第1页

一句话摘要

HDGAT 把药物—疾病相似度与已知关联拼成一张异质图,用带动态与分层注意力的图卷积网络学出药物/疾病嵌入,再用双线性解码器重建关联矩阵,在 CTD 上取得领先的药物—疾病关联预测效果。

📚 零基础概念导读

仅保留理解本论文确实需要的核心概念。链接指向同课题 note/ 下可独立阅读的概念页;概念页显式反链回本篇。

建议顺序 核心概念 先记住的一句话
1 [[药物-疾病关联预测 Drug-Disease Association]] 已知一部分「药能治某病」,模型去补全整张极稀疏的关联表。
2 [[异质图 Heterogeneous Graph]] 把「药相似、病相似、药—病关联」三种关系拼成一张分块大图。
3 [[图卷积网络GCN]] 节点靠和邻居「加权平均」更新自己,把信息在图上扩散。
4 [[图注意力网络GAT]] 在 GCN 之上,让模型学「这个邻居当前该听多少」。
5 [[动态与分层注意力机制]] 本文核心改进:邻居权重随查询节点变(动态)、各层嵌入权重不同(分层)。
6 [[矩阵内积解码与矩阵补全]] 把学出的药物/疾病嵌入内积成关联分数,重建整张矩阵。
7 [[预测模型评价指标]] 不平衡下要看 AUPR / Precision,别被 accuracy 骗了。

研究对象

  • 研究对象:药物—疾病关联预测(Drug–Disease Association Prediction),服务于药物重定位。
  • 核心问题:如何同时利用「药物相似、疾病相似、已知关联」三类信息,在关联极度稀疏时提升预测准确率与鲁棒性。
  • 研究情境/范围:计算生物学 / 生物信息学,基于公开数据库 CTD 的已知关联,做有监督的链接预测。

研究方法

方法概述

  • 方法类型:实证 / 实验(提出新模型 + 在公开数据集上做对比、消融、案例研究)。
  • 总体思路:异质图构建 → GCN + 动态自注意力 + Bi-LSTM + 残差连接的编码器学嵌入 → 分层注意力跨层融合 → 双线性解码器重建关联矩阵 → 加权交叉熵训练。
  • 为什么用这种方法:传统相似度方法在关联稀疏时表现差;GCN 能传播邻居信息但权重固定;引入动态 / 分层注意力可针对异质图的不同类型节点与边自适应加权,残差连接缓解多层 GCN 的过平滑。

方法分析

  • 分析单位:一个「药物—疾病对」(i,j)(i,j);标签 Rij∈{0,1}R_{ij}\in\{0,1\},1=已知关联,0=未观测。
  • 关键变量/概念:结果变量 = 关联分数 Sij′S'_{ij};核心输入 = 药物相似矩阵 SMS_M、疾病相似矩阵 SAS_A、关联矩阵 RR;学到的表示 = 药物嵌入 EME_M、疾病嵌入 EAE_A。
  • 识别/推断逻辑:通过重建已知关联矩阵训练模型,使模型对「未观测」位置输出高分为潜在关联;正例=已知关联,负例=其余全部组合(极端不平衡)。
  • 具体步骤:
    1. 药物—药物 Jaccard 相似:基于 DrugBank 的二值药物特征向量(有该特征=1,否则=0);
    2. 疾病—疾病语义相似:基于 MeSH 的 DAG 语义贡献(边贡献参数 Δ=0.5\Delta=0.5);
    3. 组装异质图 H=[[SM,R],[R⊤,SA]]H=[[S_M,R],[R^\top,S_A]],对称归一化为 S~M,S~A\tilde S_M,\tilde S_A,引入惩罚因子 λ\lambda 得输入图 GG;
    4. GCN 多层传播(ELU 激活、Xavier 初始化),每层内嵌动态自注意力(节点级);
    5. Bi-LSTM 双向处理节点序列,捕获远程依赖、缓解未观测值影响;
    6. 残差连接 xl+1=F(x)+xx_{l+1}=F(x)+x 缓解过平滑与梯度消失;
    7. 分层注意力跨层融合得 EM,EAE_M,E_A;
    8. 双线性解码 S′=sigmoid⁡(EMW′EA⊤)S'=\operatorname{sigmoid}(E_M W' E_A^\top);
    9. 加权交叉熵损失(λ=∣x−∣/∣x+∣\lambda=|x^-|/|x^+|),Adam 优化,节点 / 正则 dropout,循环学习率。
  • 核心公式/指标 1:异质输入图的构造(把三类关系拼进一张分块大图)。
G=[λS~MRR⊤λS~A],S~M=(DM)−1/2SM(DM)−1/2, S~A=(DA)−1/2SA(DA)−1/2G= \begin{bmatrix} \lambda\tilde S_M & R\\ R^\top & \lambda\tilde S_A \end{bmatrix},\qquad \tilde S_M=(D_M)^{-1/2}S_M(D_M)^{-1/2},\ \tilde S_A=(D_A)^{-1/2}S_A(D_A)^{-1/2}
  • 公式拆解 1:

    • 表示什么:最终送进 GCN 的 (N+M)×(N+M)(N+M)\times(N+M) 邻接块矩阵;左上 / 右下是归一化后的药物 / 疾病相似,反对角块是已知关联,惩罚因子 λ\lambda 控制相似度的贡献。
    • 符号:SM,SAS_M,S_A 为相似矩阵,RR 为关联矩阵,DM,DAD_M,D_A 为度矩阵对角线,λ\lambda 为可调惩罚因子。
    • 对应步骤:异质图预处理(Section II.A.4,期刊页 2419)。
  • 核心公式/指标 2:GCN 层传播(邻居信息按图结构聚合)。

H(l+1)=σ ⁣(D−1/2GD−1/2H(l)W(l))H^{(l+1)}=\sigma\!\left(D^{-1/2}G D^{-1/2}H^{(l)}W^{(l)}\right)
  • 公式拆解 2:

    • 表示什么:第 ll 层节点嵌入经对称归一化邻接与可学习权重 W(l)W^{(l)} 传播到第 l+1l+1 层;σ\sigma 用 ELU。
    • 符号:DD 为图 GG 的度矩阵,W(l)W^{(l)} Xavier 初始化,H(l)H^{(l)} 为第 ll 层嵌入。
    • 对应步骤:Encoder 的 GCN 模块(Section II.B.1,期刊页 2419–2420)。
  • 核心公式/指标 3:动态自注意力(本文相对标准 GAT 的关键改动)。

eij=a⊤LeakyReLU⁡ ⁣(W[hi∥hj]),hi′=σ ⁣(∑j∈N(i)αijWhj),αij=softmax⁡j(eij)e_{ij}=a^\top\operatorname{LeakyReLU}\!\big(W[h_i\Vert h_j]\big),\qquad h_i'=\sigma\!\left(\sum_{j\in\mathcal N(i)}\alpha_{ij}Wh_j\right),\quad \alpha_{ij}=\operatorname{softmax}_j(e_{ij})
  • 公式拆解 3:

    • 表示什么:对每个中心节点 ii,按邻居 jj 的动态分数 αij\alpha_{ij} 加权聚合;与标准 GAT(eij=LeakyReLU⁡(a⊤[Whi∥Whj])e_{ij}=\operatorname{LeakyReLU}(a^\top[Wh_i\Vert Wh_j]))不同,动态版把线性映射放进 LeakyReLU 内,使注意力系数的排序随查询节点 ii 变化,更适配异质图。
    • 符号:W,aW,a 为可学习参数,N(i)\mathcal N(i) 为 ii 的邻居,αij\alpha_{ij} 为注意力系数。
    • 对应步骤:Encoder 的动态自注意力模块(Section II.B.2,期刊页 2420)。
  • 核心公式/指标 4:分层注意力(跨 GCN 层融合嵌入)。

[EMEA]=∑lαlH(l)\begin{bmatrix}E_M\\ E_A\end{bmatrix}=\sum_{l}\alpha_l H^{(l)}
  • 公式拆解 4:

    • 表示什么:用可学习权重 αl\alpha_l 给不同层 GCN 学到的嵌入加权,得到最终药物 / 疾病嵌入;低层嵌入含更多图结构信息,获更大权重。
    • 符号:αl\alpha_l 为第 ll 层权重,H(l)H^{(l)} 为第 ll 层节点嵌入。
    • 对应步骤:Encoder 的分层注意力模块(Section II.B.5,期刊页 2421)。
  • 核心公式/指标 5:双线性解码与加权交叉熵(从嵌入回到关联分数并训练)。

S′=sigmoid⁡(EMW′EA⊤)S'=\operatorname{sigmoid}(E_M W' E_A^\top) L=−1N×M(λ∑(i,j)∈x+log⁡sij′+∑(i,j)∈x−log⁡(1−sij′)),λ=∣x−∣∣x+∣\mathcal L=-\frac{1}{N\times M}\left(\lambda\sum_{(i,j)\in x^+}\log s'_{ij}+\sum_{(i,j)\in x^-}\log(1-s'_{ij})\right),\qquad \lambda=\frac{|x^-|}{|x^+|}
  • 公式拆解 5:

    • 表示什么:双线性解码把药物 / 疾病嵌入内积成关联分数矩阵 S′S';损失用 λ\lambda 放大正例权重以缓解正负例极端不平衡。
    • 符号:W′W' 为可学习解码权重,x+/x−x^+/x^- 为正 / 负例集合,λ\lambda 为不平衡权重。
    • 对应步骤:Decoder(Section II.C,期刊页 2421)与 Model Optimization(Section II.D,期刊页 2421–2422)。
  • 方法优势:异质图统一利用三类关系;动态注意力比静态注意力更鲁棒;分层注意力优于简单平均 / 拼接;残差缓解过平滑并加速收敛。

  • 方法局限:异质图上不同类型节点 / 边的信息聚合仍不充分(结论自陈);层数过多仍会梯度消失;未系统测试新实体冷启动。

数据来源

  • 数据类型:公开数据库 / 二手数据(生物医学)。
  • 样本来源:CTD(Comparative Toxicogenomics Database)已知药物—疾病关联;DrugBank 药物特征(targets、enzymes、pathways、药物—药物相互作用、substructures);MeSH 疾病语义。
  • 时间范围:原文未报告数据库收录版本或时间范围。
  • 样本量/案例数:主数据集 269 药 × 598 病,18,416 条已知关联;治疗数据集 6,244 条已知关联(Section III.A,期刊页 2422–2423)。
  • 数据局限:关联极度稀疏,0=未观测而非确认无关联;案例研究的医学证据依赖文献质量与时效性。

数据分析:数据如何支撑模型

目标:把「原始数据 → 可用样本/特征 → 模型输入 → 结果解释」讲清楚。每项以原文方法 / 实验章节为依据,并附页码或 Zotero PDF 链接。原文没交代处写明「原文未报告」,不凭经验补全。

1. 先把一条数据看明白

  • 分析单位(一行/一个样本代表什么):一个「药物—疾病对」(i,j)(i,j);标签 Rij=1R_{ij}=1 表示已知关联,00 表示未观测(Section II.A.3,PDF p6)。
  • 数据形状与粒度:图网络 / 矩阵;异质图尺寸 (N+M)×(N+M)(N+M)\times(N+M),主数据集 N=269,M=598N=269, M=598 → 867×867867\times867(Section III.F 可扩展性,PDF p10)。
  • 样本筛选后的规模:正例=已知关联(主集 18,416 / 治疗集 6,244);负例=全部其余组合。原始数据→训练样本数原文按「正例 + 全组合负例」建模,具体负例采样方式原文未报告。
  • 证据定位:Section II.A.3、III.A、III.F。

2. 变量、特征与标签

在模型中的角色 原文名称/含义 如何测量或构造 最终如何使用 证据定位
结果变量 / 标签 / 预测目标 关联分数 Sij′S'_{ij} / 矩阵 RR 已知关联=1,其余=0(未观测) 双线性解码输出 + 加权交叉熵监督 Section II.A.3, II.C, II.D
核心输入变量 / 特征 药物—药物相似 SMS_M DrugBank 二值特征向量算 Jaccard 相似 异质图左上块 Section II.A.1
核心输入变量 / 特征 疾病—疾病相似 SAS_A MeSH DAG 语义相似(Δ=0.5\Delta=0.5) 异质图右下块 Section II.A.2
核心输入变量 / 特征 药物—疾病关联 RR CTD 已知关联二值矩阵 异质图反对角块 Section II.A.3
控制 / 权重 惩罚因子 λ\lambda(相似度贡献) 可调超参 缩放相似块 Section II.A.4
控制 / 权重 分层注意力权重 αl\alpha_l 可学习 跨层融合嵌入 Section II.B.5
控制 / 权重 节点 / 正则 dropout 超参 防过拟合 Section II.D

3. 从原始数据到模型输入

环节 原文做了什么 这一步为何影响模型/结论 证据定位
获取与匹配 CTD 关联 + DrugBank 药物特征 + MeSH 疾病语义,合并为三矩阵 决定异质图的三种关系来源与质量 Section III.A
清洗与筛选 关联矩阵二值化(1/0);药物特征二值化(有特征=1);Bi-LSTM 被称能处理未观测值 二值化决定相似度含义;缺失处理影响稀疏图训练 Section II.A.1, II.B.3
转换与表示 药物相似选 Jaccard(不受特征量纲影响),疾病相似用 DAG 语义,相似矩阵对称归一化,拼异质图并加 λ\lambda 归一化使不同量纲特征可比较;λ\lambda 平衡相似度与关联的贡献 Section II.A.1–4
划分或比较 5 折交叉验证(随机分 5 份,4 训 1 验) 决定性能评估的稳定性;未报告是否按药物/疾病实体隔离 Section III.B
进入模型 异质图 GG 直接作为 GCN 输入,经动态注意力+Bi-LSTM+残差,分层融合,双线性解码 三矩阵共同构成图结构,驱动嵌入学习与关联重建 Section II.B–C

4. 数据设计如何支撑模型搭建

  • 模型为什么能使用这份数据:GCN 的输入要求就是「邻接 / 关系矩阵 + 节点特征」;本文把药物相似、疾病相似、关联统一塞进一张异质邻接块矩阵,正好匹配 GCN 的消息传播。
  • 关键设计选择:选 Jaccard 是因它只关注「是否有该特征」、不受数值量纲影响(Section II.A.1);用对称归一化让不同规模子图可比较;选 3 层网络以兼顾表达能力与过平滑(Section III.D)。理由原文已解释。
  • 防止错误泛化/泄漏的设计:采用 5 折交叉验证 + 加权交叉熵缓解不平衡;是否按药物 / 疾病实体隔离(避免同类实体信息泄漏)原文未报告。
  • 评价指标在衡量什么:accuracy / precision / specificity 衡量分类正确率;AUPR 在不平衡下更诚实地反映排序质量;主集报告 AUPR=0.2665、accuracy=0.9614。指标含义见[[预测模型评价指标]]。

5. 数据质量与理解边界

  • 代表性/覆盖范围:仅 CTD 单源已知关联;单数据库偏差、跨物种 / 跨人群泛化未讨论。
  • 可能偏差、缺失或测量误差:关联稀疏,0=未观测,可能含假阴(真实关联未被收录);案例研究依赖医学文献的质量与时效性,可能出现假阳 / 假阴(Section III.G,PDF p10–11)。
  • 这些限制会怎样影响模型或结论:极端不平衡使 accuracy 虚高,故用加权损失并报告 AUPR;稀疏与未观测语义限制了「负例」定义的可靠性。
  • 我还需要补看的数据问题:Table I–VII 的具体数值在本地全文缓存中被截断(标记为 [truncated]),如各模型逐指标数值、超参 Table II、数据集特征计数列,需查原文 PDF 核实;新实体(新药 / 新病)冷启动未测,结论局限已自陈。

研究结论

结论条目按论文实际内容增减。每条写成「主要发现 + 原文引用」的成对结构,并注明页码。

  • 主要发现 1:HDGAT 在主数据集与治疗数据集上均超越基线与已有 SOTA,主集 AUPR 0.2665、准确率 0.9614。
  • 原文引用 1:

"HDGAT surpasses other baseline models, achieving an impressive area under the precision-recall curve of 0.2665 and a remarkable prediction accuracy of 0.9614 on main dataset."(摘要,期刊页 2416 / PDF p1)

  • 主要发现 2:消融显示 Bi-LSTM、残差连接、动态注意力各自带来正向贡献,去掉任一指标均下降。
  • 原文引用 2:

"HDGAT-S1 exhibits a notable reduction in both accuracy and precision in comparison to the original HDGAT model... HDGAT-S3 displays a decrease across all metrics... assigning different weights to nodes can effectively enhance node information aggregation capability."(Section III.C–D,期刊页 2423–2424 / PDF p8–9)

  • 主要发现 3:分层注意力优于简单平均(HDGAT-AVG)与拼接(HDGAT-CONCAT);低层嵌入含更多图结构信息,获更大权重。
  • 原文引用 3:

"node embeddings from lower layers encompass a more substantial repository of graph structural attributes... the hierarchical attention mechanism judiciously assigns greater weights to lower-layer embeddings."(Section III.E,期刊页 2424 / PDF p9)

  • 主要发现 4:动态注意力优于静态注意力;在 867×867 规模的异质图上仍能稳定训练,具备可扩展性。
  • 原文引用 4:

"the dynamic attention mechanism... excels in effectively prioritizing relative information, surpassing the capabilities of static attention mechanisms."(Section II.B.2,期刊页 2420);"HDGAT consistently delivers outstanding performance across datasets of diverse scales."(Section II.F,期刊页 2422 / PDF p10)

我的判断

  • 最有启发的点:「异质图 + 双注意力(动态+分层)+ 残差」是非常可直接套用的关联预测骨架;尤其分层注意力融合多层、双线性解码重建关联矩阵,对稀疏链接预测很实用。
  • 可借鉴的方法:① 把多源相似 + 已知关联拼成分块异质图;② 加权交叉熵处理极端不平衡;③ 分层注意力融合不同 GCN 层;④ 残差缓解过平滑。
  • 可继续追问的问题:异质图块联合聚合是否真优于「分别编码再融合」?层数再深时梯度消失如何根治(结论自陈仍是开放问题)?新实体冷启动(新药 / 新病)未测,泛化边界不清。
  • 与我的研究关联:我的方向是「聚类 + 关联预测在药物发现与单细胞组学中的应用」。HDGAT 的关联预测范式可直接对接聚类得到的细胞 / 基因模块——例如把「基因模块—表型」「细胞簇—药物响应」建成异质图,再用双注意力 GCN 做关联推断;其不平衡处理与分层融合也适用于单细胞关联数据稀疏的场景。

配套文档

  • [[20_学术研究/文献库/导学/精读笔记/HDGAT-02-研究路线拆解|研究路线阶段拆解]]
  • [[20_学术研究/数据积累/数据例子-HDGAT-药物疾病关联原始数据|原始数据例子]]

源项目警告

  • AST candidate decomposition only: containment is not tensor dataflow.
  • code/test (excluded file type or sensitive name)
  • data/dis_sim.csv (over 2 MiB; external reference)
  • data/drug_dis.csv (over 2 MiB; external reference)
  • data/drug_disease.csv (over 2 MiB; external reference)
HDGAT · 界面试验方案 · 研究工作台|每周札记