【CS224w图机器学习】第一章 图机器学习导论
一.前言
笔记参考b站同济子豪兄的视频而成,源于斯坦福CS224W
学完本章,你将会对图神经网络有初步的了解,同时对于应用层面也有初步的印象
1.1关键词
图机器学习、图数据挖掘、图神经网络(GNN)、图卷积神经网络(GCN)、知识图谱、知识计算、对话问答、推荐系统、社会计算、媒体计算、网络智能、搜索引擎、社交网络、情感计算
1.2 学习路径
斯坦福CS224W(子豪兄的中文精讲版)、知识图谱实战
1.3 必读论文
- Deepwalk、Node2vec
- PageRank
- GNN、GCN、Gragh-SAGE、GIN、GAT
- Trans-E、Trans-R
二.图
2.1 为什么要做图神经网络?
在大自然当中图无处不在,很多自然现象都可以用图中的结点以及结点之间的的连接来表示。由于我们获取的大部分数据中,存在数据与数据之间的关联现象,我们称之为关联数据,关联数据表示数据之间是存在联系的,而图就可以用来描述关联数据,简言之,图:描述关联数据的通用语言
在传统机器学习以及数据挖掘中,每一个数据相互之间都是独立的,我们称其满足独立同分布(iid),同时每一个数据彼此之间都是无关的,例如每一朵鸢尾花之间,每一个手写数字图像之间,每一张猫狗图像之间,这些图像本身是没有任何关系的
但是现在我们用图将这些数据联系起来
2.2 身边的图
例如事件关系图,计算机网络之间形成的关系,病毒的传播路径,食物链,地铁站
社交网络,经济网络,通信网络,论文之间的引用网络,互联网中各个网页形成的网络,以及人脑神经元之间形成的网络
医疗知识图谱(疾病和某些药物、手术、甚至营养物质等进行关联)、基因与蛋白质的调控网络、场景图(比如蔡徐坤、背带裤之间的联系,一个人的各个关节如头,肩膀等之间的联系推断出这个人在做什么)、代码中的操作、运算、函数等抽象为图(例如神经网络中的计算图,包含卷积池化等)、分子抽象为一个图(元素之间以化学键以及相互作用力为连接,应用于药物设计)、3D建模等
2.3 图论
图论最早起源于哥尼斯七桥问题
本质是将现实中复杂的问题抽象为结点与连线的简单形式,易于理解
3.如何用图数据进行数据挖掘?
3.1 传统机器学习方法
传统机器学习里面分类和回归中,数据与数据之间不知道彼此的存在,例如猫狗图像分类,这张猫的图片是不知道另外一张狗的图片的存在的,因为不需要关注这些。在图像分类中,只需要一条直线或者曲线形状的决策边界来划分类别,而不需要考虑数据与数据之间的关系。回归中也是如此,我们只需要一条线来拟合数据,至于挖掘出数据之间的关系对于回归任务来说是不重要的。
3.2 神经网络在数据中的应用
我们知道卷积神经网络(CNN)可以用于处理图像数据,图像数据本质上是矩阵数据(一张图像实际上就是由一个个像素点组成)。而循环神经网络(RNN)用来处理文本或者语音这种序列数据.2017年提出的transformer则在图像、语音、文本数据方面都有应用,例如图像处理的swintransformer,文本语音的bert、gpt等,都是transformer的应用。
我们知道上述神经网络可以用来处理矩阵、表格、序列数据,那么有没有一种神经网络可以用来处理图这种关联数据呢?那就是图神经网络
2018年比较热火的有元学习、连续学习等,直到2020年,图神经网络已经成为新的大热门,图神经网络已经变得更加重要了
3.3 图深度学习为何如此难?
- 难点一:图是任意尺寸的,例如全国的社交网络和全村的社交网络,这需要图神经网络能兼容任意尺寸的输入以及复杂的拓扑结构。与文本或者图像数据不一样的是,一张图片的大小或者一个句子的长度总是有限的,而图则是任意尺寸的,想一想全国的社交网络,这得有多大,一次性全输进去,爆炸~。
- 难点二:对于一个图来说,它没有固定的结点顺序(所以应该先输入哪个结点?)也没有参考的锚点(对于图像来说,我们是知道卷积要从上到下从左到右,序列数据也是从句子的第一个字/词到最后一个来处理的,这个最先处理的部分叫做参考的锚点,而图是任意的,没有锚点的)
- 难点三:图是动态变化的(对于全国社交网络而言,每时每刻都在动态变化,不断有新的结点加入)
- 难点四:图是多模态的,对于音乐app中的一首歌,又有音频,又有评论,又有歌手的图片、mv视频等等等,如何充分利用这些多模态特征也是传统的神经网络无法解决的
我们需要图神经网络能解决以上挑战,以兼容复杂而带关联的数据类型
3.4 图神经网络简图
我们仍然把它先当作一个黑箱模型,输入是一个图,输出可以是结点的类别、某两个结点的新的连接、一个新的图或者子图。
而中间的黑箱模型包含图卷积操作、激活函数、正则化、DropOut等操作,这一点在后面再进行详细介绍
这个黑箱模型可以实现端到端的表示学习,而不需要我们人为去提取图数据的某一个特征,与传统神经网络一样,图神经网络也可以帮我们自动筛选特征。这里的端到端就是说不需要我们去辅助,一个黑箱,硬train一发就能解决
这里表示学习意味着一个结点可以被映射为一个d维的向量
,而这个d维的向量就包含了这个节点的语义信息,整个将图映射为嵌入向量的过程叫做图嵌入
,例如一个图有256个结点,那么该图经过图嵌入,转换为256行d维的向量
4.课程概述
4.1 课程概述
- 1.传统方法:Graphlets,Graph Kernels
- 2.结点嵌入方法(node embedding):DeepWalk,Node2Vec
- 3.图神经网络(GNN):GCN(图卷积),GraphSAGE,GAT,Theory of GNNs(GNN的理论、表示能力、潜在的缺陷、如何改进等等)
- 4.知识图谱和推理(Knowledge graphs and reasoning):TransE,BetaE
- 5.生成图的深度模型(Deep generative models for graphs):GraphRNN
- 6.图数据挖掘在生物医学、科学、工业中广泛的应用
4.2 课程大纲
课程大纲如下
主要有20讲
- 第一讲:图机器学习导论
- 第二讲:图机器学习传统方法
- 第三讲:图嵌入(结点嵌入)
- 第四讲:谷歌:PageRank算法
- 第五讲:结点分类
- 第六、七、八、九讲:GNN的表示能力、背后的理论、在各行各业的应用
- 第十、十一讲:知识图谱的嵌入、推理和补全
- 第十二、十三讲:社群检测,对子图层面进行挖掘
- 第十四、十五讲:图生成
- 第十六、十七讲:图神经网络的高阶应用
- 第十八、十九讲:课程的一些讲座
5. 图机器学习编程工具
5.1 一些图机器学习的库
- PyG:斯坦福大学自制图神经网络的库,向pytorch一样可以搭积木
- NetworkX:“瑞士军刀”,和sklearn一样有各种各样的工具和算法,可以自行构建知识图谱
- DGL:复现了很多顶会的论文,比较适合学术研究
5.2 辅助库
- 图数据可视化
- AntV
- Echarts:百度和阿帕奇联合制作
5.3 图数据库
图数据库是用来存储、推理、索引图数据的数据库
第一名是Neo4j,一般就用这个Neo4j就可以了
6.图机器学习应用
6.1 应用层面分类
6.1.1 任务层面
- 1.最短途径的搜索与查找(Pathfinding & Search)
- 例如高德地图的导航
- 2.结点重要性(Centrality Importancce)
- 衡量各个节点的重要性,例如某个大客户和一个普通用户的区别
- 著名的PageRank算法用来解决这个问题(谷歌搜索里面哪个网页比较重要,就会排在前面)
- 3.社群检测(Community Detection)
- 比如一群结点会有一个共同的祖先结点(可以理解为树干是祖先,树枝是子结点),这个由祖先结点领导的群体就叫做一个社群
- 比如在银行卡信用欺诈里面,可以把一整个老赖村找出来
- 4.联系预测(Link Prediction)
- 社交平台里面,会推荐你可能认识的人
- 推荐系统:我给一个商品点赞,这个商品可能会推荐给我身边的人
- 5.结点相似度分析(Similarity)
- 可能在知识图谱中两个结点哥的6很远,但是可能会有相似性
- 6.嵌入(Embeddings)
- 将结点映射为向量
6.1.2 结构层面
- 结点层面(Node level):对某一个结点进行分类,分析用户是否信用卡欺诈?
- 连接层面(Edge-level):例如社交网络推荐你可能认识的人、推荐一些商品、推荐一些短视频
- 社群层面(Community level):对用户进行聚类等
- 图层面(Graph-level):分子是否有毒,生成新的分子等等
6.2 原理
6.2.1 结点层面
由已知结点推断未知结点
6.2.2 连接层面
- 最常见的是推荐系统
- A和B同时购买了a商品,而A又购买了b商品,因此系统可能会把b商品也推荐给B
- 本质上是由已知的连接推断出未知的连接
- 当你购买了某一个商品,会推荐给你相似的商品
- 药物联合副作用
- 由于不同的药物一起服用可能会产生额外的副作用,而不同药物的服用组合太多而不可能一一验证,只有通过已知的药物同时服用的副作用,以及组成该药物的蛋白质,来推断出未知组合药物的副作用
6.2.3 子图层面
- 导航
- 结点:将一条条道路作为结点
- 连接:道路与道路之间的连通性
- 从A到B会产生不同的子图,选择距离最短和通行时间最少的子图作为导航路段,同时通过其他用户的数据来实时预测该路段的拥挤程度,进而综合预测通行时间
6.2.4 图层面
- 药物设计
- 结点:原子
- 连接:化学键
- 潜在未知抗生素的种类是天文数字,我们不可能一个一个画出可能的结构然后合成并尝试,可以用图机器学习先选出一些有潜力的分子
- 物理模拟
- 游戏、元宇宙等等都要进行粒子的模拟,比例流体力学、土壤、粘土等
- 把每一个粒子都当成是一个结点,粒子之间的距离和相互作用力作为连接,由图神经网络来预测下一粒子的位置和速度,然后不停的迭代这个过程,就可以实现粒子的模拟
- 预测蛋白质空间结构
- 最近爆火的AlphaFold
- 通过氨基酸多肽链的一维结构来得到三维结构
7.扩展学习与继续学习
刘焕勇 http://liuhuanyong.github.io
公众号:老刘说NLP
8.其他
开源排行榜:http://open-leaderboard.x-lab.info
通过开源项目的活跃度等信息计算综合排序,也可以通过项目的热度来发现风头
【CS224w图机器学习】第一章 图机器学习导论相关推荐
- CNN的Python实现——第一章:机器学习基础
文章目录 第一章:机器学习简介 1.1 引言 1.2 基本术语 1.3 重要概念 1.4 图像分类 1.5 MNIST数据集简介 第一章:机器学习简介 1.1 引言 比如挑西瓜,怎么能挑出好西瓜呢?我 ...
- 模式识别与机器学习·第一章——概论
模式识别与机器学习·第一章--概论 开篇 模式识别 模式 识别 机器学习 研究目的 发展历史 模式识别简史 机器学习简史 系统方法 系统目标 假说的获得 系统的构成 小结 开篇 这系列博客主要用来回忆 ...
- python 机器学习第一章
机器学习是一门能够发掘数据价值的算法和应用,是计算机科学中最激动人心的一个领域之一. 接下来的时间,开始学习吧! python机器学习第一章 1.机器学习方法分为三类:监督学习,无监督学习,强化学习. ...
- 【从零开始数学建模(1)】第一章 建立数学模型~导论
系列文章目录 第一章 建立数学模型~导论 文章目录 前言 1.1 从现实对象到数学模型 1.2 数学建模的基本方法与步骤 1.3 数学模型的特点与分类 1.4 从三个建模示例来 ...
- 第一章 微型计算机系统导论【微机原理】
第一章 微型计算机系统导论 第一章 微型计算机系统导论 1.1 引言 1.2 计算机的发展状况 1.3 微型计算机硬件系统 1.3.1 基于总线的微型计算机硬件系统 1.3.2 微处理器 1.3.3 ...
- 《消费者行为学》读书笔记 第一章 消费者行为学导论
第一篇作为市场中的消费者 第一章消费者行为学导论 根据消费者的年龄.性别.收入或职业进行归类是必要的,相同类别的消费者有着相似的消费偏好,这对于产品的目标市场定位是必要的. 群体中的每个成员承受着一种 ...
- 机器学习第一章之大数据分析与机器学习简介
大数据分析与机器学习简介 1.1 大数据分析与机器学习概述 1.1.1 大数据分析与机器学习的应用领域 1.1.2 机器学习的基本概念 1.1.3 Python在数据科学中的作用 1.2 Python ...
- 第一章 介绍-机器学习老师板书-斯坦福吴恩达教授
第一章 介绍 1.1 欢迎 1.2 什么是机器学习 1.3 监督学习 1.4 无监督学习 1.1 欢迎 1.2 什么是机器学习 1.3 监督学习 1.4 无监督学习
- PRML读书会第一章 Introduction(机器学习基本概念、学习理论、模型选择、维灾等)...
主讲人 常象宇 大家好,我是likrain,本来我和网神说的是我可以作为机动,大家不想讲哪里我可以试试,结果大家不想讲第一章.估计都是大神觉得第一章比较简单,所以就由我来吧.我的背景是统计与数学,稍懂 ...
最新文章
- 中原大学 php,台湾中原大学php教程孙仲岳主讲
- 数字图像处理——第十章 图像分割
- MBE:ggtreeExtra-用图层叠加方法绘制环形进化树
- 对 makefile中 order-only 前提条件的理解
- 执行力:Just Do It
- oracle excel vba6,vba6.dll下载
- 网络电视测试软件,「图」电视直播源有效性检测软件 m3u8 IPTV checker_高清时代论坛...
- 【VScode】优雅地将代码打印为 PDF
- 电子商务概论(农)之章节课后题
- 新版Namecheap域名转出注册商方法解锁及获取转移
- 趋势杀毒文件服务器版10用户,趋势杀毒软件(OSCE 10.0)服务器端备份与恢复
- Python中的图像增强
- [books] - SICP 2nd edition
- 茶云个人导航系统v1.2源码 带后台+网易云歌单播放功能+腾讯智能在线客服功能
- Android 小米计算器,小米计算器app_小米计算器安卓版_小米计算器正式_易玩网
- Android Studio 设置打开layout.xml文件的默认视图
- 计算机培训通讯报道,新员工培训通讯稿3篇
- 几行代码轻松实现百度定位和在地图显示指定坐标
- Java 使用jsoup下载网页内容到本地
- CVPR 2022 | Mobile-Former来了!微软提出:MobileNet+Transformer轻量化并行网络