《图机器学习》-Machine Learning for Graphs

news2024/12/22 18:41:57

Machine Learning for Graphs

  • 一、Application of Graph ML

一、Application of Graph ML

图机器学习的任务可以分为四个类型:

  • N o d e   l e v e l Node\ level Node level(结点级别)
  • E d g e   l e v e l Edge\ level Edge level(边级别)
  • C o m m u n i t y ( s u b g r a p h )   l e v e l Community(subgraph)\ level Community(subgraph) level(社区/子图级别)
  • G r a p h   l e v e l   p r e d i c t i o n , G r a p h   g e n e r a t i o n Graph\ level\ prediction,Graph\ generation Graph level prediction,Graph generation(图级别,图生成)

典型的图机器学习任务有:

  • N o d e   c l a s s i f i c a t i o n Node\ classification Node classification:(结点分类)
    主要做的是预测结点的属性
    • 应用实例:对在线用户/项目进行分类
  • L i n k   p r e d i c t i o n Link\ prediction Link prediction:(链接预测)
    主要做的是预测两个节点之间是否缺少链接
    • 应用实例: K n o w l e d g e   g r a p h   c o m p l e t i o n Knowledge\ graph\ completion Knowledge graph completion
  • G r a p h   c l a s s i f i c a t i o n Graph\ classification Graph classification:(图分类)
    主要做的是将不同的图及逆行分类
    • 应用实例:分子属性的预测
  • C l u s t e r i n g Clustering Clustering
    主要做的是检测节点是否形成社区
    • 应用实例:社区搜索
  • O t h e r   t a s k s Other\ tasks Other tasks:
    • G r a p h   g e n e r a t i o n Graph\ generation Graph generation(图生成):
      • 应用实例:药物发现
    • G r a p h   e v o l u t i o n Graph\ evolution Graph evolution(图演变):
      • 应用实例:物理模拟

n o d e l   l e v e l nodel\ level nodel level应用实例: P r o t e i n   F o l d i n g Protein\ Folding Protein Folding

蛋白质有一些列氨基酸组成,氨基酸之间相互作用,在局部形成类似螺旋、薄片的形状,这些形状折叠起来称为更大尺度的三维蛋白质结构。

在这里插入图片描述

所以需要做的是:仅基于蛋白质的氨基酸序列,来预测蛋白质的三维结构。

这一直以来都是一个难以完成的任务;最近 A l p h a F o l d AlphaFold AlphaFold的提出,解决了 P r o t e i n   F o l d i n g Protein\ Folding Protein Folding问题。

其关键思想是:构建 S p a t i a l   g r a p h Spatial\ graph Spatial graph

  • N o d e s Nodes Nodes:蛋白质序列中的氨基酸构成 S p a t i a l   g r a p h Spatial\ graph Spatial graph的节点
  • E d g e s Edges Edges:氨基酸之间的邻接关系构成 S p a t i a l   g r a p h Spatial\ graph Spatial graph的边

通过对 S p a t i a l   g r a p h Spatial\ graph Spatial graph的学习,搭建深度学习模型,预测节点(蛋白质氨基酸序列)在空间中的位置,从而预测蛋白质的三维结构。


e d g e   l e v e l edge\ level edge level应用实例: D r u g   S i d e   E f f e c t s Drug\ Side\ Effects Drug Side Effects(药物副作用)

在现实生活中,许多病人会同时复用多种药物以治疗疾病,不同的药物之间相互复用可能会导致一些副作用。然而因为有很多的药物,所以很多药物组合的副作用还未知晓。

所以需要做的是:给定一对药物,预测其可能的不良副作用。

现有的研究已有通过 B i o m e d i c a l   G r a p h   L i n k   P r e d i c t i o n Biomedical\ Graph\ Link\ Prediction Biomedical Graph Link Prediction对该问题进行了求解。

其思想是构建一张只包含两种类型的异构网络图:

  • N o d e s Nodes Nodes:节点由药物 D r u g s Drugs Drugs和蛋白质( P r o t e i n s Proteins Proteins)组成
  • E d g e s Edges Edges:若药物之间会相互作用、药物与蛋白质之间相互作用、蛋白质之间会相互作用,则在两节点之间连接一条边。

如下图:

在这里插入图片描述

对于某两个药物,如 S i m v a s t a t i n Simvastatin Simvastatin C i p r o f l o x a c i n Ciprofloxacin Ciprofloxacin,我们可以预测一起服用时,分解肌肉组织的可能性有多大。其实就是这两个药物之间存在 r 2 r_2 r2边的可能性;如下图:
在这里插入图片描述


S u b g r a p g − l e v e l Subgrapg-level Subgrapglevel应用实例: T r a f f i c   P r e d i c t i o n Traffic\ Prediction Traffic Prediction(交通预测)
如地图软件上的到达目的地的路线长度、耗时的预测。
此问题可以将公路网络作为一张图:

  • N o d e s Nodes Nodes:将路段作为节点
  • E d g e s Edges Edges:若两路段之间是连通的,则添加一条边

在这里插入图片描述
之后就可以使用图神经网络预测到达时间。


G r a p h   l e v e l Graph\ level Graph level应用实例: D r u g   D i s c o v e r y Drug\ Discovery Drug Discovery(药物发现)

一些抗生素可以表示为一些小的分子,而分子可以表示成一张图:

  • N o d e s Nodes Nodes:原子作为节点
  • E d g e s Edges Edges:化学键作为边

在这里插入图片描述
接下来搭建一种图神经网络图分类模型,输入一组候选分子结构图,从候选分子中预测有希望是抗生素的分子。

即通过 G r a p h Graph Graph来判断该分子是否含有某种属性,如判断该分子结构图中是否有两个环。


G r a p h   g e n e r a t i o n Graph\ generation Graph generation应用实例: G e n e r a t i n g   n o v e l   m o l e c u l e s Generating\ novel\ molecules Generating novel molecules(生成新分子)

如构建一个图生成模型,学习现有的分子模型,从而生成一个新的具有某种属性的新分子(如耐高温属性)


G r a p h   e v o l u t i o n Graph\ evolution Graph evolution应用实例: P h y s i c a l   s i m u l a t i o n Physical\ simulation Physical simulation
通过构建一整物理模拟图:

  • N o d e s Nodes Nodes: 粒子作为节点
  • E d g e s Edges Edges: 粒子之间的相互作用做为边

接下来构建一个模型,根据例子当前的位置、领域粒子的关系,来预测图将如何演变。

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/147537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【rpm】源码包制作rpm包|修改rpm、重新制作rpm包

目录 前言 安装rpmbuild rpmbuild制作rpm 包 同时生成devel包 修改rpm、重新制作rpm包 RPM 打包 工具 SPEC文件 rpmbuild的目录和Spec宏变量和参数说明 preamble部分 Body 部分 标题宏变量/工作目录 spec文件信息 符号说明 CMake制作rpm包 HelloWorld 更多SPEC…

微信小程序开发——小程序的宿主环境—组件

一.小程序的宿主环境—组件1.小程序中组件的分类小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构。官方把小程序的组件分为了9大类,分别是:1.视图容器 2.基础内容 3.表单组件 4.导航组件5.媒体组件 6.map 地…

企业寄件管理系统使用教程

专为企业量身打造的寄件管理类平台,也就是企业寄件管理系统。其存在的意义在哪里?又是如何运用的?我们往下看看......讨论它存在的意义在哪里,我们先来看看企业普遍存在的寄件场景痛点:1、最早的手写快递单&#xff0c…

一维差分(例acwing重新排序)

一维差分是为了解决访问一个数组中的几个区间,降低时间复杂度使用的差分就是前缀和的逆运算(a[i]b[1]b[2]…b[i])差分的作用就是快速实现将数组部分加上一个数。例如给定一个数组 A 和一些查询 Li,Ri,求数组中第 Li 至第 Ri 个元素…

Maven高级-属性-版本管理-资源配置-多环境开发配置-跳过测试

Maven高级-属性 4.2)属性类别 1.自定义属性 2.内置属性 3.Setting属性 4.Java系统属性 5.环境变量属性 4.3)属性类别&#xff1a;自定义属性 作用 等同于定义变量&#xff0c;方便统一维护 定义格式&#xff1a; <!--定义自定义属性--> <properties><…

STM32MP157驱动开发——Linux ADC驱动

STM32MP157驱动开发——Linux ADC驱动0.前言一、ADC 简介1.ADC 简介2.STM32MP157 ADC简介二、ADC 驱动源码解析1.设备树下的 ADC 节点2.ADC 驱动源码分析1&#xff09;stm32_adc 结构体2&#xff09;stm32_adc_probe 函数3&#xff09;stm32_adc_iio_info 结构体三、驱动开发1.…

【深度学习】经典算法解读及代码复现AlexNet-VGG-GoogLeNet-ResNet(二)

链接: 【深度学习】经典算法解读及代码复现AlexNet-VGG-GoogLeNet-ResNet(一) 4.GoogLeNet 4.1.网络模型 GoogLeNet的名字不是GoogleNet&#xff0c;而是GoogLeNet&#xff0c;这是为了致敬LeNet。GoogLeNet和AlexNet/VGGNet这类依靠加深网络结构的深度的思想不完全一样。Go…

创建Vue3项目以及引入Element-Plus

创建Vue3项目以及引入Element-Plus 前提条件&#xff1a;本地需要有node环境以及安装了npm&#xff0c;最好设置了镜像&#xff0c;这样下载包的时候会快些。 1、安装vue脚手架vue-cli3 npm install vue/cli -g2、安装后查看vue的版本 vue -V3、创建Vue项目&#xff0c;项目…

通信电子、嵌入式类面试题刷题计划01

文章目录001——什么是奈奎斯特采样定理&#xff1f;002——有源滤波器和无源滤波器的区别是什么&#xff1f;003——什么是反馈电路&#xff1f;请举出相关应用004——什么是竞争冒险现象&#xff1f;如何消除和避免此类现象005——什么是基尔霍夫定理&#xff1f;006——if e…

揣着一口袋的阳光满载而归--爱摸鱼的美工(13)

-----------作者&#xff1a;天涯小Y 揣着一口袋的阳光满载而归&#xff01; 慷懒周末 睡到自然醒&#xff0c;阳光洒在书桌上 套进宽松自在的衣服里 出门&#xff0c;去楼下坐坐 在阳光里吃午餐 在阳光里打个盹 在阳光里看猫咪上蹿下跳 在阳光里点个咖啡外卖 虚度时光&#xf…

【CANN训练营第三季】TBE算子开发

文章目录直播学习结业考核直播学习 安装准备&#xff1a;https://www.hiascend.com/document/detail/zh/mindstudio/50RC3/instg/instg_000022.html 开发参考: https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/600alpha003/operatordevelopment/opdevg/atla…

基础算法(八)——离散化

离散化 介绍 这里的离散化&#xff0c;特指整数的、保序的离散化 有些题目可能需要以数据作为下标来操作&#xff0c;但题目给出的数据的值比较大&#xff0c;但是数据个数比较小。此时就需要将数据映射到和数据个数数量级相同的区间&#xff0c;这就是离散化&#xff0c;即…

Java学习笔记——继承(上)

目录继承入门继承的好处继承的特点继承中成员变量的访问特点this和super访问成员的格式继承中成员方法的访问特点方法重写概述和应用场景方法重写的注意事项权限修饰符继承入门 继承的好处 好处&#xff1a; 提高了代码的复用性。 提高了代码的维护性。 让类与类之间产生了关系…

static关键字分别在C和C++中的作用

static用于实现多个对象之间的数据共享 隐藏使用静态成员不会破坏隐藏规则默认初始化为0 1. C语言中static的特性&#xff08;面向过程设计中&#xff09; 局部变量&#xff1a;在任意一个函数内部定义的变量&#xff08;不加static&#xff09;&#xff0c;初始值不确定&am…

11、JS笔记-内置内置对象

1.内置对象 js中对象分为三种&#xff1a; 自定义对象、内置对象、浏览器对象&#xff08;js独有&#xff09; 内置对象&#xff1a; js语言自带的对象&#xff0c;供开发者使用&#xff0c;提供一些常用或基本的功能&#xff08;属性和方法&#xff09; 2.Math对象 Math中所…

Docker核心概念总结

文章目录容器容器概念物理机,虚拟机与容器的区别Docker简介Docker介绍Docker思想Docker容器的特点使用Docker的原因容器VS虚拟机对比图容器与虚拟机总结容器与虚拟机可以共存Docker 基本概念镜像&#xff08;Image&#xff09;一个特殊的文件系统容器&#xff08;Container&…

SpringSecurity认证功能的快速上手

简介 SpringSecurity是Spring家族中的一个安全管理框架。相比于另外一个安全框架Shiro&#xff0c;它提供了更丰富的功能&#xff0c;社区资源也比Shiro丰富。一般来说中大型项目都是使用SpringSecurity来做安全框架&#xff0c;小项目用Shiro的比较多&#xff0c;因为相比于S…

LabVIEW VI服务器功能

LabVIEW VI服务器功能VI 服务器是在LabVIEW 5.0中引入的&#xff0c;它提供了允许用户动态控制前面板控件、VI和LabVIEW环境的一系列函数。使用VI服务器&#xff0c;您还可以在同一台机器或通过网络动态加载运行VI和LabVIEW。 VI服务器函数位于 函数应用程序控制 子面板上。所有…

3-1内存管理-内存管理概念

文章目录一.内存管理的基本原理和要求1.逻辑地址和物理地址2.程序的装入和链接/从写程序到程序运行/将程序和数据装入内存/将用户源程序变为可在内存中执行的程序需要经过的步骤3.程序的链接方式4.内存的装入模块在装入内存时的方式5.操作系统对内存的管理二.覆盖与交换三.连续…

C#,图像二值化(17)——全局阈值的ISODATA算法(亦称作InterMeans法)及其源程序

二值算法综述请阅读&#xff1a; C#&#xff0c;图像二值化&#xff08;01&#xff09;——二值化算法综述与二十三种算法目录https://blog.csdn.net/beijinghorn/article/details/128425225?spm1001.2014.3001.5502 支持函数请阅读&#xff1a; C#&#xff0c;图像二值化&…