前言:本期学习是由datawhale(公众号)组织,由子豪兄讲解的202302期CS224图机器学习的学习笔记。本次学习主要针对图机器学习导论做学习总结。
1.什么是图机器学习?
通过图这种数据结构,对跨模态数据进行整理。可以实现预测结点、预测结点间关系、将图关系提出去成D维向量或生成子图的一种算法。
2.为什么要用图机器学习
图机器学习是解决跨模态数据间利用数据间关系进行挖掘的算法,而不是像cv、传统机器学习这样算法是针对个体进行学习的算法。有了图机器学习的研究可以掌握数据之间的关系,可以对关系进行预测及提炼。图机器学习的方法在很多领域已经有不错的应用,例如理疗知识图谱、物理建模粒子效果模拟、蛋白质结构预测。因此图网络的论文也是近年来的热点。
3.图神经网络的特点是什么?

对于图来说:
网络是复杂的。有任意尺寸的输入,同时有着复杂的拓扑结构。没有固定的结点顺序及参考锚点。图在动态变化,而且拥有多模态的特点。
对于网络来说:
输入:图(网络)
输出:结点标签、新链接、D维向量、生成图与子图
特点:端到端的表示学习
注意:这里的D维向量生成后可以理解为是二维数据,可以在此之上进行机器学习方法进行分类或预测。例如将银行客户数据采集到,进行预测客户是否会逾期。
4.本次学习的整体课程大纲
本次学习的课程是斯坦福大学的CS224W,主讲老师是Jure Leskovec (我觉得他好帅啊……而且感觉好年轻)

学习大纲如下:
①畅通机器学习方法
②node embedding方法(图嵌入方法)
③GNN相关方法
④知识图谱推理
⑤子图
⑥图生成

学习中会用的库:
pyG、GraphG(都是jl老师做的)、NetworkX(比较简洁的图相关库,瑞士军刀)、DGL(沐神推荐的~亚马逊在做,里面有很多复现好的论文算法)
图数据存储数据库:Neo4j
5.图神经网络有哪些应用?
①节点层次:信用卡欺诈
②链接层面:推荐可能认识的人
③社群层:将用户聚类,挖掘相似群体
④图层次:生成新的子图,导航、铁路建设规划
⑤图生成:深化输入图的发展,完善输入数据
在节点层中一般有已知推未知包括短视频的推荐算法,这里子豪兄举例可以做药物融合后副作用预测,效果还不错。
子图层上的应用也很多,有导航、药物设计、物理粒子效果模拟,这里面最伟大的一个项目是预测蛋白质空间结构。这个研究推动了治疗癌症药物的发展,只需要输入蛋白质序列就可以输出预测的图结构,效果斐然。真厉害!

子豪兄还介绍了一些日常用得到的图相关应用:ReadPaper-论文阅读平台-专业学术讨论社区、Connected Papers | Find and explore academic papers 可以生成自己跌论文引用网络。 还有深圳政府做的bios医疗图谱Biomedical Informatics Ontology System | BIOS@IDEA。最后推荐了一名大牛老师:刘焕勇-个人主页 (liuhuanyong.github.io)。大佬对图的研究颇有建树。
图是最优质的长期资产,
网络效应是一个企业最深的护城河。
6.图的基本表示:
6.1 图基本结构

6.2 本体图
针对解决的问题设计图的结点类型。
如果结点类型等于2图叫二分图。二分图中分为u v 两类结点,可以单独列出一类做单类分析。
如果结点类型大于2的图叫异质图。

6.3 图的各种知识点
图的边没有方向叫无向图。
图的边带方向叫有向图。
下图为连接数的计算方法。

自连接图和多边图

有权图和无权图

6.4 图的计算机表示
邻接矩阵
针对数据量比较丰富的图,可以用邻接矩阵的方法表示。
一般无向图是对称矩阵,有向图是非对称矩阵。当存在自连接情况对角线数据为1

下图为连接总数的计算。

对于大数据表示的图时会发现表现为稀疏矩阵,很多都为0.
采用连接列表只表示边的列表去表示图。

邻接列表 以节点的方式表示整个图。

6.5 图的连通性
所有点都连通叫连通图。连通子图叫连通域。
任意两点可以相互触达是强连接图。

强连通子图叫强连通域SCC
