图机器学习导论

图:描述关系数据的通用语言,起源于哥尼斯堡七桥问题

传统的机器学习:数据样本之间独立同分布,简单拟合数据边界,在传统的机器学习中,每个数据样本彼此无关。传统的神经网络,只能处理简单的表格、序列数据,不能处理带关联的数据。而图自带关联的数据。

图机器学习 (GML) :核心是将机器学习应用于图,专门用于预测和规范任务。

如何让神经网络处理图数据?

1.兼容任意尺寸的输入

2.没有固定的输入顺序和参考锚点

3.图动态变化,多模态特征(音乐推荐)

图神经网络

图神经网络的输入是一个图,输出则可以多种多样的输出分类标签、新的连接、新的图或子图等数据。

这种方法不但能学到每个数据节点之间的关联信息,还能进行端到端的表示学习(Representation Learning),甚至不需要人工进行特征工程!

输入图->黑箱(处理,后续会详细将这个过程)->输出结果

一个关键的步骤:图嵌入:将节点变成低维向量,然后就可以使用传统的机器学习

图机器学习应用:

节点层面:

由已知的节点类别推断出未知的节点类别

连接层面:

推荐系统,药物的联合副作用

二分图:二分图又称为二部图,如果一个点集可以被分成两个部分,所有的边都在这两个部分之间,而每个集合内部没有边,则称这个图是一个二分图。

图层面:

抗生素,粒子的模拟,预测蛋白质的空间结构(AlphaFold)

图数据挖掘的工具

图神经网络建模工具

  1. PyG (PyTorch Geometric)

PyG(PyTorch Geometric)是一个在PyTorch基础上开发的库,主要用于构建和训练图神经网络(GNN),可以应用于多种与结构化数据相关的场景。PyG具有易用和统一的API接口,让用户 10 至 20 行代码就可以训练自己的GNN模型,不需要知道太多底层机制的实现和调试。PyG库包含了许多目前最先进的GNN架构和训练方法,并且可以方便地进行扩展和定制,以满足不同的需求和应用场景,适合各种需要使用GNN的研究人员和开发者。

2. DGL

DGL(Deep Graph Library)是一个用于开发图神经网络(GNN)的框架,可以帮助用户在大规模图数据上进行深度学习。DGL提供了一组Python API,使得用户可以轻松地构建、训练和评估GNN模型。该框架支持各种类型的图,包括有向图、无向图和多重图等,可以在图中进行节点分类、边分类、图分类和链接预测等任务。同时,DGL还支持多种GNN模型,包括图卷积网络(GCN)、图注意力网络(GAT)、图注意力池化网络(GAP)等,以满足不同任务的需求。DGL还支持大规模分布式计算,可以在多个GPU和多个机器上进行模型训练,以加快训练速度。由于其强大的功能和易用性,DGL被广泛应用于各种领域,如社交网络分析、推荐系统、生物信息学等。

图可视化工具

3. NetworkX

NetworkX是一个Python库,用于创建、操作和研究复杂网络,如社交网络、物理网络、生物网络和交通网络等。该库提供了一组工具和算法,可以帮助用户构建各种类型的网络,包括无向图、有向图、加权图、多重图等。同时,NetworkX还支持大量的网络分析算法,如中心性分析、连通性分析、路径分析、聚类分析、布局算法等,可以帮助用户理解和探索网络的结构和特性。NetworkX还提供了可视化工具,可以方便地将网络可视化,帮助用户更好地理解和展示网络数据。由于其强大的功能和易用性,NetworkX被广泛应用于各个领域,如社交网络分析、生物信息学、物理学、交通规划等。

4. AntV

AntV是蚂蚁集团提供的数据可视化解决方案,其中的G6引擎是专门用来做图可视化工作的图可视化引擎。

图数据库

5. Neo4j

Neo4j是当下最热门的图数据库管理系统,采用了图形结构来存储和处理数据。与关系型数据库(如MySQL)不同,图数据库将数据表示为节点和边的图形结构,而不是表中的行和列。这使得Neo4j可以轻松地处理复杂的关系和连接,并提供高性能的查询和可扩展性。

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

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

相关文章

实体行业的品牌传播与网络运营,迅腾文化解决完善品牌定位运营

实体行业的品牌传播与网络运营,迅腾文化解决完善品牌定位运营 在今日的商业环境中,如何借助网络的力量,将品牌有效地传播出去,让渠道商、加盟商和消费者感受到安全感,成为了深思的问题。品牌是一个企业的灵魂&#xf…

《青少年成长管理2024》048 “成长目标:到哪儿了?”1/2

《青少年成长管理2024》048 “成长目标:到哪儿了?”1/2 一、神奇的地球二、群居的人类三、比较而存在四、竞争与合作五、等级和秩序 本节摘要:当你来到这个世界,首先认识一下这是一个什么样的世界,你处于一个什么样的环…

动态规划先导片

大家知道动规是由前一个状态推导出来的,而贪心是局部直接选最优的,对于刷题来说就够用了。 对于动态规划问题,我将拆解为如下五步曲,这五步都搞清楚了,才能说把动态规划真的掌握了! 确定dp数组&#xff0…

linux造成只读模式的原因和解决方法

造成硬盘分区只读的可能原因有: 文件系统错误,内核相关硬件驱动bug,FW固件类问题,磁盘坏道 硬盘背板故障,硬盘线缆故障,HBA卡故障,RAID卡故障,随意开关机系统损坏 使用用 fsck – y /dev/sda (/dev/sda指你需要修复的分区) 来修复文件系统 mount -t vfat /dev/sda1…

开源!工厂数字化项目会用到的地理信息系统

软件介绍 QGIS(Quantum GIS)是一款免费、开源、跨平台的地理信息系统(GIS)软件,适用于Unix平台、Windows和MacOS。提供了强大且用户友好的功能,使其成为地理信息处理领域的热门选择。 功能特点 1.空间数据管…

react使用npm i @reduxjs/toolkit react-redux

npm i reduxjs/toolkit react-redux 创建一个 store文件夹,里面创建index.js文件和子模块文件夹 index,js文件写入以下代码 import {configureStore} from reduxjs/toolkit // 导入子模块 import counterReducer from ./modules/one import two from ./modules/tw…

鸿蒙TypeScript学习第14天:【联合类型】

1、TypeScript 联合类型 联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值。 注意:只能赋值指定的类型,如果赋值其它类型就会报错。 创建联合类型的语法格式如下&#xff1…

【项目精讲】Spring框架中如何使用Redis+代码实现(2)利用Spring Cache框架

Spring Cache框架 Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如: EHCacheCaffeineRedi…

RTSP/Onvif安防视频EasyNVR平台 vs.多协议接入视频汇聚EasyCVR平台:设备分组的区别

EasyNVR安防视频云平台是旭帆科技TSINGSEE青犀旗下支持RTSP/Onvif协议接入的安防监控流媒体视频云平台。平台具备视频实时监控直播、云端录像、云存储、录像检索与回看、告警等视频能力,能对接入的视频流进行处理与多端分发,包括RTSP、RTMP、HTTP-FLV、W…

大厂Java笔试题之判断字母大小写

/*** 题目:如果一个由字母组成的字符串,首字母是大写,那么就统计该字符串中大写字母的数量,并输出该字符串中所有的大写字母。否则,就输出* 该字符串不是首字母大写*/ public class Demo2 {public static void main(St…

Redis的双写一致性问题

双写一致性问题 1.先删除缓存或者先删除数据库都可能出现脏数据。 2.删除两次缓存,可以在一定程度上降低脏数据的出现。 3.延时是因为数据库一般采用主从分离,读写分离。延迟一会是让主节点把数据同步到从节点。 1.读写锁保证数据的强一致性 因为一般放…

在视频号开店,新手一定要注意了,这几个细节很多人都不知道

大家好,我是电商笨笨熊 视频号小店作为今年黑马项目,自是吸引力不少的电商玩家; 但是在这些玩家中不免有一些新手玩家,从未做过电商,或者做过其他平台的电商但是没有接触过视频号; 而视频号小店在某些地…

最佳调度问题(c++题解)

题目描述 假设有n个任务由k个可并行工作的机器完成。完成任务i需要的时间为ti。试设计一个算法找出完成这 n个任务的最佳调度,使得完成全部任务的时间最早。 对任意给定的整数n和k,以及完成任务i需要的时间为ti,i1~n。编程计算完成这n个任务…

thinkphp6入门(23)-- 如何导入excel

1. 安装phpexcel composer require phpoffice/phpexcel composer update 2. 前端 <form class"forms-sample" action"../../xxxx/xxxx/do_import_users" method"post" enctype"multipart/form-data"><div class"cont…

【InternLM 实战营第二期-笔记4】XTuner 微调个人小助手认知

书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营&#xff0c;我也将会通过笔记博客的方式记录学习的过程与遇到的问题&#xff0c;并为代码添加注释&#xff0c;希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) XTuner 微调个人小助手…

基于 FPGA 的 DE1-SoC 功率估算器

Introduction 功耗是当今许多技术都要考虑的重要因素。例如&#xff0c;手机生产商总是谈论他们在电源管理方面的改进&#xff0c;以及如何延长电池的使用寿命。功能与功耗之间的平衡是许多人都在研究的有趣课题。然而&#xff0c;当我们做实验时&#xff0c;我们很少会考虑我…

快速掌握定时任务处理

定时任务 在项目中存在一种操作&#xff0c;这个操作需要在未来的某一天开始执行&#xff0c;不需要人定时到时候再去写&#xff0c;而是提前写好定时进行执行 在java项目中提供有对应的API&#xff0c;下面就是java中原始的操作 public class shijian {public static void mai…

ytorch深度学习完整GPU图像分类代码

1. CPU与GPU不同 1.输入数据 2.网络模型 3.损失函数 .cuda() 说明&#xff1a;下面代码中GPU版本中取消下划线的即为CPU版本 2.完成的分类代码(GPU) import torch import torchvision from torch.utils.tensorboard import SummaryWriter# from model import * # 准备数据集 …

SpringBoot3整合Mybatis plus

Java版本&#xff1a;17 Spring Boot版本&#xff1a;3.1.10 Mybatis plus版本&#xff1a;3.5.5 源码地址&#xff1a;Gitee仓库 01 创建我们的项目工程 首先&#xff0c;我们创建一个maven工程spring-boot3-demo&#xff0c;pom文件配置如下。 这里我们将spring-boot-start…

【python】基于librosa库提取音频特征

一、源码 import librosa audio_path ./audio.mp3 audio, sr librosa.load(audio_path) # 提取音频信号的时域特征 amplitude librosa.amplitude_to_db(librosa.stft(audio), refnp.max) # 提取音频信号的频域特征 mfccs librosa.feature.mfcc(audio, srsr) # 提取音频信号…