生物医学网络科学Biomedical Network Science
疾病模块、网络邻近度与药物重定位11 / 18

链路预测与知识图谱嵌入

阅读
约 3 分钟

药物重定位可以表述为链路预测(link prediction)问题:在已知的药物–疾病、药物–靶点或蛋白–蛋白网络中,哪些尚未观察到的边最可能真实存在?Liben-Nowell 与 Kleinberg(2007)在社交网络中形式化了这一问题,Lü 与 Zhou(2011)对复杂网络中的方法做了系统综述。

基于局部结构的相似性指标

记 Γ(u)\Gamma(u) 为 uu 的邻居集合,kwk_w 为度。

指标 定义 思想
共同邻居(CN) |Γ(u)∩Γ(v)|\lvert\Gamma(u)\cap\Gamma(v)\rvert 三角闭合:朋友的朋友是朋友
Jaccard |Γ(u)∩Γ(v)|/|Γ(u)∪Γ(v)|\lvert\Gamma(u)\cap\Gamma(v)\rvert/\lvert\Gamma(u)\cup\Gamma(v)\rvert 对度做归一
Adamic–Adar(AA) ∑w∈Γ(u)∩Γ(v)1/log⁡kw\sum_{w\in\Gamma(u)\cap\Gamma(v)}1/\log k_w 低度的共同邻居更有信息量(Adamic & Adar 2003)
资源分配(RA) ∑w∈Γ(u)∩Γ(v)1/kw\sum_{w\in\Gamma(u)\cap\Gamma(v)}1/k_w 资源经共同邻居均分传递(Zhou、Lü & Zhang 2009)
Katz ∑ℓ≥1βℓ(Aℓ)uv\sum_{\ell\ge1}\beta^\ell(A^\ell)_{uv} 所有路径,按长度几何降权
L3 ∑a,bAuaAabAbvkakb\sum_{a,b}\dfrac{A_{ua}A_{ab}A_{bv}}{\sqrt{k_ak_b}} 长度为 3 的路径(Kovács 等 2019)

蛋白网络为什么不同? Kovács 等(2019,Nature Communications)指出:两个蛋白有许多共同伙伴,往往说明它们有相似的结合界面,因而与同一类蛋白结合,而不是彼此结合;真正可能结合的,是“与我的伙伴相似的蛋白的伙伴”,即长度为 3 的路径的终点。因此在 PPI 中,L3 明显优于基于三角闭合的 CN、RA,而在社交网络中则相反。这提醒我们:相似性指标隐含了连接机制的假设,应与网络的形成机制相符。

手算例:路径 u−a−b−vu-a-b-v 且 uu 与 vv 无共同邻居,则 CN(u,v)=0\mathrm{CN}(u,v)=0,而 L3(u,v)=1/kakb\mathrm{L3}(u,v)=1/\sqrt{k_ak_b};若 ka=2,kb=8k_a=2,k_b=8,L3=0.25\mathrm{L3}=0.25。

代码示例隐藏 10% 的边后计算 AUROC:在三角闭合强的 Watts–Strogatz 网络中,CN、RA、L3 都在 0.95 左右;在同组节点共享伙伴但彼此不相连的分块二分网络中,CN 与 RA 只有 0.48,L3 为 0.86。

知识图谱嵌入

知识图谱由三元组 (h,ρ,t)(h,\rho,t)(头实体、关系、尾实体)组成,例如(二甲双胍,治疗,2 型糖尿病)。知识图谱嵌入把每个实体和关系映射为向量,用打分函数 f(h,ρ,t)f(h,\rho,t) 衡量三元组成立的可能性:

  • TransE(Bordes 等 2013):f=−‖𝒉+𝒓−𝒕‖f=-\lVert\mathbf h+\mathbf r-\mathbf t\rVert,把关系看作嵌入空间中的平移;难以表示一对多关系。
  • DistMult(Yang 等 2015):f=∑ihiritif=\sum_i h_ir_it_i,对 hh、tt 对称,无法区分“药物治疗疾病”与“疾病治疗药物”这类有方向的关系。
  • RotatE(Sun 等 2019):在复数空间中 𝒕≈𝒉∘𝒓\mathbf t\approx\mathbf h\circ\mathbf r,|ri|=1\lvert r_i\rvert=1,把关系看作旋转,可以表示对称、反对称、逆关系和组合关系。

训练时对每个真实三元组随机替换头或尾生成负样本,用间隔损失或对数损失优化。评估常用平均倒数排名(MRR)和 Hits@kk,并采用“过滤”设置——排名时剔除其他已知为真的三元组。GNN 方法(如 Decagon、TxGNN)在嵌入中进一步聚合邻居信息。

评估设计:数据泄漏与冷启动

链路预测的评估结果高度依赖测试集如何划分:

  • 随机拆边:测试药物–疾病对的药物和疾病都在训练图中出现过,且常有化学结构相似的近亲药物,性能被高估;
  • 按实体拆分(冷启动):把某些疾病(或药物)的全部边留作测试,更接近“为一个尚无治疗的疾病找药”的真实情境。TxGNN(Huang 等 2024,Nature Medicine)就针对这种零样本场景设计评估;
  • 按时间拆分:用某年之前的知识训练,预测之后才获批或发表的关系,最接近前瞻性检验。

负样本通常是“未观察到的边”,其中混有尚未被发现的真边;把它们当作确定的阴性,会让在热门实体上打分高的模型显得更好。报告链路预测结果时,应写明拆分方式、负样本的构造方法和与度(热门程度)基线的比较。