试图理解 Decagon(二)具体方法

2023-11-02

4 图卷积 Deacgon 方法

综述

关系被表示为一个图 G = (V,R),其中,节点N(蛋白质、药物)vi∈V,和标记的边(vi,r,vj),r代表边的类型,分别由

  1. 蛋白质间的作用
  2. 某种药物 与其作用蛋白质间的关系
  3. 存在于某两种药物间的副作用关系

除此之外,我们允许以节点向量的方式引入其他可用信息。不同的节点可以拥有不同的节点特征。
对任务进行描述:
考虑识别药物对之间的联系和可能存在的副作用。重要的是,这里的联系,是不能单独出现在某一种药物的功效中的。
应用到图上:
任务就是预测 药物 节点间 带有标记的边,给定节点对,我们的目标就是预测某一条边(vi,r,vj)会以多大的概率出现在这张图中。
为此,我们设计了一个非线性的,多层的卷积图神经网络模型 Decagon ,可以直接在图上进行操作,Decagon拥有两大组成部分:

  1. 一个编码器:作用在G上的图卷积网络,可以生成G中的节点嵌入
  2. 一个解码器:一个张量分解模型,使用上述节点嵌入值去为多药物副作用建模

4.1 图卷积编码器

这个图卷积编码器

  • 输入:图G、其他节点向量xi
  • 输出:为图中每个节点生成 d维度 的嵌入向量
    在这里插入图片描述

这个编码模型 可以 高效利用 分布在图中不同部分的共享信息,可以为分贝为每一种关系赋予 处理通道(processing channels)

核心思想是 decagon 能够学习如何 转换传播 信息,在全图中抓住节点特征向量。

每一个节点邻居网络都定义了一个不同的神经网络信息流结构(architecture),但是这些结构会分享 那些决定信息如何分享和传播的 功能/参数。
我们学习 在图中不同部分 对于不同边类型 可以 传播 和 转换 信息的算子(operator)

对于一个给定节点,Decagon对它邻居的特征向量进行 转换聚合 操作,这样一来,Decagon就可以只考虑第一层的邻接 而对图中所有位置施加同样的 转换。而后接下来这些操作的应用会对K 阶 邻接进行信息的卷积,这里 K 代表接下来卷积神经网络中的层数。

在每一层中,Decagon在图的边中传递节点特征信息,同时把节点的类型考虑了进去。一个单层的这种神经网络模型是下面这种形式的:
在这里插入图片描述
这里,在这里插入图片描述
节点vi在第k层的隐藏状态,dk是 这一层 表示(representation)的维度,r 是边的类型,Wrk是 关系-类型 参数矩阵,这里外层的 fai 函数代表一个非线性的激活函数,c rij 和 cri 是归一化常量

工作过程

在这里插入图片描述
在这里插入图片描述
首先,我们确定要研究的是C节点的隐藏状态,我们发现,一共有三个药物、四个蛋白质与其相连,三种药物中,S和D所产生的副作用相同,都是心律失常,和M产生的副作用是胃出血。
这里的Wr1(k),我理解是一个对于r1这个副作用(胃出血)的参数矩阵(但是具体行列分别代表什么?
W与h相乘,加上c自己的h,最后所有的加和结果 放到 激活函数 中 即得到了下一时刻c的隐藏状态
在这里插入图片描述
然后我们可以看到,对每一个节点来说他们拥有不同的神经网络结构(因为他们的相邻状态不一样)
在这里插入图片描述
而在得到收敛的隐藏状态之后,我们就可以执行预测操作,这里以c和s两种药物来举例,分别得到他们的 表示(representation)zc和zs,经过预测后,可以得到他俩具有每一种关系的概率,从而得到预测结果
之后就是深度学习的一般步骤,为总共K层找到合适的激活函数,为下一层做好准备

4.2 张量因子分解解码器

目标

通过已学习到的节点嵌入和对每一种边类型区别对待
具体来说:
解码器为(vi,r,vj)打分,分数代表i节点和j节点通过一条r边连接在一起的可能性

操作

在这里插入图片描述
再应用sigmoid激活函数:
在这里插入图片描述
接下来,讨论上述分段函数的两种可能性:

  1. 当 vi 和 vj 都是 药物的时候:
    这里考虑一个全局的 药物-药物 反应模型,并使用对角参数 产生他的变体 后 更改 他的重要性。
    这里,R是一个 描述了全部可能出现的药物共用副作用的可学习的 d × d 的 参数矩阵。
    除此之外,在Decagon中,每个多药物副作用 r 都对应一个d × d 的矩阵 Dr ,代表了zi 中每一个维度相对于 这个副作用 r 的重要性
    (然后论文中写了 这个 encoder 与 张量分解的相似性,然后强调Decagon是一个端到端 同时训练的模型而不是 分成两个过程

  2. 当 vi 和 vj 不都是 药物的时候:
    这时,使用双线性映射 把 边 从节点嵌入中 解码出来。
    更精确地讲,这种情况下,解码函数与一个可训练的参数矩阵Mr相关,描述了zi和zj之间每一对维度之间的关联,然后使用sigmoid激活函数把 encoder变成一个双线性映射

使用分段函数区别对待的原因
  1. Decagon可以视为是非常有效的在不同关系中参数共享的方式。具体来说,与 药物对 相关的边类型 使用同一个 全局的 包含适用于所有药物相关 边类型 的 药物-药物 反应模型。
    我们期望这样的参数化解码 可以 减轻 罕见 边类型的过拟合因为参数是在 罕见、常见边类型中共享的

  2. 我们希望得到一个 高分的 g 来确定两种药物间 确实有某种作用,同时这种作用不会被某一种药物自己带来

总结

Dedagon种可训练的参数有:

  • W矩阵 (relation-type-specific neural network weight)
  • M矩阵 (relation-type-specific parameter)
  • R矩阵 (全局的 副作用参数矩阵)
  • Dr矩阵(side-effect-specific 对角参数矩阵)

4.3 如何训练Decagon

损失函数

为交叉熵损失函数:
在这里插入图片描述

最近的研究表明在处理 图结构的数据时,使用端到端的训练方法可以显著提高模型performance,所以Decagon也采用了这种方法,把参数优化和loss梯度传递整个过程都是在 encoder和decoder 两个部分一起进行的。

优化函数

为Adam 优化器,总共训练100轮,学习率为 0.001 0.001 0.001,设置停止窗口为2(也就是如果验证误差在两个 轮次 中始终没有减少,那么停止训练)
使用 Glorot and Bengio (2010) 中描述的 权值初始化方法 来给 Decagon 中参数进行初始化。
实际使用中,我们使用高效的稀疏矩阵乘法(复杂度与G中的边呈线性关系)

训练方法

Decagon使用 mini-batching 方法,一次训练一小部分(没有明白)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

试图理解 Decagon(二)具体方法 的相关文章

随机推荐

  • Flex Builder教程

    Flex Builder教程 编辑页面 最后编辑时间 March 20 2007 网经 最近更新 标题索引 用户设置 随机页 沙盒 帮助 网经 Flex Builder教程 一 概述 二 使用MXML组件构建用户界面 三 数据绑定 四 界面
  • 通达oa共公文件柜服务器目录,通达OA 公共文件柜二次开发添加管理信息(图文)...

    php应用jquery做ajax操作 以下是全部代码 jQuery Ajax 实例演示 lbrack 知识库分享系列 rsqb 二 period NET ASP period NET 最近时间又有了新的想法 当我用新的眼光在整理一些很老的知
  • elementUI输入框组件 样式自定义 高度、圆角、边距调整 图标跟随

    elementUI里的组件都预定义了样式 有时我们用class命名并在css中更改样式时 发现不起作用 或者起不到预期的效果 下面以输入框el input作个例子记录 elementUI输入框为
  • 编译 openwrt 最新实战详细教程

    网上找了很多相关的教程 有些教程太旧了 很多地方都有坑 本人根据一些相关的教程 做了一次实战对比 弥补相关的坑 从源代码构建固件 本节介绍如何从源代码为MTK 7688开发板构建固件 环境 在Ubuntu LTS 14 04 3环境下执行以
  • fd手机抓包

    fd手机抓包问题 大神指点下 欢迎使用Markdown编辑器 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页 如果你想学习如何使用Markdown编辑器 可以仔细阅读这篇文章 了解一下Markdown的基本语法知识 新的改变
  • TOMCAT-无法成功启动——双击startup.bat闪退的解决办法

    Tomcat无法成功启动 双击startup bat闪退的解决办法 转载 原文链接 https blog csdn net scau lth article details 83218335 这是新手经常会犯的错误 只要注意三个点就可以解决
  • 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

    开发一个坐标计算工具 A表示向左移动 D表示向右移动 W表示向上移动 S表示向下移动 从 0 0 点开始移动 从输入字符串里面读取一些坐标 并将最终输入结果输出到输出文件里面 输入 合法坐标为A 或者D或者W或者S 数字 两位以内 坐标之间
  • Qt使用帮助文档Assistant

    我们在学习Qt的时候 遇到不懂的地方 可以求助互联网 看教程书籍 也可以直接看Qt的帮助文档Assistant Qt自带的帮助文档是Assistant软件 这可以从Qt的安装路径中找到 我的电脑里Qt的安装路径是E Qt Qt5 14 2
  • Endnote20 在word里插入参考文献 [快捷键Alt+2]

    https www yuque com duzh929 blog kq5u0u原文地址 墙裂建议看看新方法 更简单的新方法 有效解决Endnote20插入参考文献 Endnote20已经上线了 楼主迫不及待的用上了 发现EndnoteX9里
  • MYSQL注入 基础篇1.0

    就算命运不公 重重阻碍 但我在哪里跌倒就一定会在哪里爬起来 只要坚持不懈 那些嘲笑我的人迟早会被我笑死 SQL注入了解 SQL注入是什么 正常的Web端口访问 SQL注入是如何访问 为什么要深入了解SQL注入 SQL注入漏洞的根本原因 SQ
  • 【华为OD机试真题 python】密室逃生游戏【2022 Q4

    题目描述 密室逃生游戏 小强增在参加 密室逃生 游戏 当前关卡要求找到符合给定 密码K 升序的不重复小写字母组成 的箱子 并给出箱子编号 箱子编号为 1 N 每个箱子中都有一个 字符串s 字符串由大写字母 小写字母 数字 标点符号 空格组成
  • JS中的逻辑与和逻辑或

    JS中的逻辑或 符号 从字面上来说 只有前后都是 false 的时候才返回 false 否则返回 true console log 5 gt 6 6 gt 5 返回true 5 gt 6为false 但是 6 gt 5为true 所以返回
  • python-selenium页面定位不到元素

    1 查看是否有新的url打开 当前页面 mainHandle driver current window handle 获取所有的handle Handles driver window handles 循环遍历 找到不是当前页面的就切换
  • vue获取元素offsetTop,mounted获取不到offsetTop,获取元素距离页面顶边距离

    记录一下开发过程中遇到的坑 今天想做一个功能 当我评论完之后 页面跳到评论区顶部 于是就要获取到评论区距离页面顶部的距离 需要循环获取offsetTop来实现 但是在mounted阶段是无论如何都获取不到offsetParent的 不管是
  • C# 对数据库操作的函数总结

    SqlCommand ExecuteNonQuery 方法对连接执行 Transact SQL 语句并返回受影响的行数 可以写也可以读 1 可以使用ExecuteNonQuery 来执行目录操作 例如查询数据库的结构或创建诸如表等的数据库对
  • Unet 语义分割模型(Keras)

    文章目录 前言 一 什么是语义分割 二 Unet 1 基本原理 2 mini unet 3 Mobilenet unet 4 数据加载部分 参考 前言 最近由于在寻找方向上迷失自我 准备了解更多的计算机视觉任务重的模型 看到语义分割任务重U
  • BAT文件里注释符号

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 在BAT文件批处理中注释的方式如下 1 注释内容 第一个冒号后也可以跟任何一个非字母数字的字符 2 rem 注释内容 不能出现重定向符号和管道符号 3 echo 注释内容
  • nginx配置https访问

    01 http https HTTP HyperText Transfer Protocol 超文本传输协议 是一种用于分布式 协作式和超媒体信息系统的应用层协议 简单来说就是一种发布和接收 HTML 页面的方法 被用于在 Web 浏览器和
  • 在ubuntu上安装splint

    lint lint是最著名的C语言工具之一 是由贝尔实验室SteveJohnson于1979在PCC PortableC Compiler 基础上开发的静态代码分析 一般由UNIX系统提供 工具介绍 与大多数C语言编译器相比 lint可以对
  • 试图理解 Decagon(二)具体方法

    4 图卷积 Deacgon 方法 综述 关系被表示为一个图 G V R 其中 节点N 蛋白质 药物 vi V 和标记的边 vi r vj r代表边的类型 分别由 蛋白质间的作用 某种药物 与其作用蛋白质间的关系 存在于某两种药物间的副作用关