赞
踩
一个图数据的层面包括:
图机器学习需要的输入是一张图(矩阵),但是传统机器学习的输入向量没有图(矩阵)的形式,所以我们需要将不同层面的信息向量输入,相当于叠加成矩阵
节点和边的特征
节点、连接、子图、全图都可以有特征,其中特征可能是多模态的(图像、视频、文本、音频)
传统图机器学习关注的特征
在传统的图机器学习中主要关注的是连接特征,而不是属性特征,更关注图中某个节点是桥接、枢纽还是边缘节点,侧重于研究这个 节点在他的社群中扮演什么角色
特征工程
假设我们现在有一个数据集是某一种花的四个特征,我们通过训练得到了一个机器学习模型,当一个新的花的图片到来的时候我们就可以放到模型中,去观察新的图片在这四个特征上的占比分别是多少,最终来判断这是什么花
而特征工程所要做的事情就是:设计一些其他特征,这些自己设置的特征相比于之前的特征能够更好地去分辨花的种类,通过人工的方式去将一些我们认为可能比较重要的特征用向量表示出来给模型
以无向图为例,如何将节点、边、全图的特征用向量表示就是图中的特征工程
以节点分类为例:
半监督节点分类问题,由已知信息推出未知的信息
图机器学习在节点层面的主要任务是对节点进行分类和学习图的结构特征,主要有:
节点 v v v 的度数 k v k_v kv 为节点所拥有的边(相邻节点)。 但是节点度的这个特征不做区分地对待每个相邻的节点,因此在某种意义上,就没法对相同节点度的节点进行区分,即使它们可能位于网络中的不同部分。
如上图所示,如果只看节点连接数,那么下图中A,G节点的特征是相同的,但是两个节点所处的圈子的质量是完全不同的
(无向图中)获取节点的连接数,既可以通过数邻接矩阵中对应节点的一行或者一列,也可以使用如下图所示的方式乘以一个全为1的列向量(相当于每一行求和),计算出每一个节点的连接数。
度中心性:**最终得到的这个每个节点的连接数的值就可以作为D维向量的第一维。**比如节点3的度计算出来就是3,第一维就是3。
由于节点往往还要考虑节点的质量,所以我们除了考虑节点连接数还要考虑节点的重要度
对于节点重要度,有以下方法:
(1)Eigenvector centrality
(特征向量重要度)
如上图所示求和将λ乘到左边,就可以等价为求矩阵A的特征向量的问题,上图的公式可以做如下解释:
(2)Betweenness centrality
(中介中心性)
(3)Closeness centrality
(连接中心性)
Clustering Coefficient
聚集系数就是节点有多抱团(和相邻节点是否有边相连),简单来说就是看图中的三角形个数
计算案例如下图所示:
其中有一种自我中心网络ego-network
就是数三角形的个数,而这种三角形其实就是我们人为定义的一种子图,当然我们也可以定义其他形状来作为子图,也就是Gtaphlets
Gtaphlets
构造子图就是如下图所示:
什么是节点角色呢?节点角色的定义是在网络中具有相似位置的点的集合,类似于化学中的同分异构体,进一步说这个定义和 community 其实是互补的,比如各个公司可能是不同的 community,而每个公司内部的角色大致是相同的(管理层和下属员工)。公司(community)内个体间会有比较密切的联系,但公司间相同职位(角色)的个体并不一定会有关联。
此时,我们提取某一个节点周围的graphlets子图个数,就可以构建一个向量,称为Graphlet Degree Vector(GDV)
,如下图所示:
计算u节点的GDV
因为5个节点的子图能够有73种节点角色,所以就是一个73维的向量,可以很全面的表示图中的拓扑连接结构,通过比较两个节点的GDV我们就可以计算两个节点的距离和相似度
小结
节点级别的特征:
使用本小节的知识我们能够区分如下图左边形式的图中的节点(哪些是边缘,哪些是中心),但是无法区分右边所示的社群的概念(抱团),这部分区分需要后续的图神经网络的方法来完成
Link-Prediction
:通过已知连接补全未知连接,生成连接层面的D维向量有如下两种思路:
更鼓励使用第一种方式,因为第二种方式会丢失link本身的连接结构信息,而第一种方式直接提取link的特征之后我们就可以直接输入到下游的任务中去进行预测,看看两个节点之间是否有哪些类别
任务:基于已知边,预测新边的类别。测试模型时:将每一对没有连接的节点对进行排序,取存在连接概率最高的topK个节点对,作为预测的结果。
Link-Prediction的任务可以分为两种:
总结上面提到的连接层面的工作不论是静态的还是动态的,都是如下几个步骤:
连接层面的特征可以分为:基于两节点间距离、基于两节点局部连接信息、基于两节点在全图的连接信息
Katz index
卡兹系数:表示节点u和节点v之间长度为k的路径个数
如下图所示表示了k=1和k=2的计算结果:
节点u和节点v之间长度为k的路径个数就是Auvk矩阵的第u行第v列元素
将全图提取的特征表示为一个D维的特征向量,并且这个特征向量可以反映全图的结构特点
对于全图提取特征其本质仍然是:数数(数不同特征在图中存在的个数)。类比在自然语言处理NLP中的一种思想Bag-of-Words(BoW)
,将一个文章的内容全都列出来,然后去数里面每一个词/字出现的次数,这样我们就可以把一篇文章表示为一个D维的向量,其中每一维都是每一个词的次数,这样就可以把向量输入给计算机进行处理。
同理,对于图,我们可以把图看作文章把节点看作单词,只看每个节点有没有出现而不考虑连接结构,使得两个完全不同的图最终的编码结果是一样的,这是不可行的。
一种改进想法:使用Bag-of-Node degrees
,只看节点的连接数不看连接结构,最终效果是确实可以区分之前的两个结构不同的图,如下图所示
同理我们也可以把这种Bag-of-*
的思想推广到其他的特征中去
如下图所示,对于3个节点组成的graphlat从全图角度分析有四种(即,节点之间可以没有连接),对于4个节点组成的graphlat就有11种。我们就可以将全图的graphlat总结出来作为D维特征。
如下图所示,假设全图中共有nk个graphlat那么,最终就会构造出nk维的特征向量,其中第i个表示的就是第i个graphlat在全图中的个数
如果把两张图的graphlat的特征向量
做数量积,就可以得到两张图的kernel
,这个kernel
是一个标量,可以反映出两张图是否相近,是否匹配。如果两张图的graphlet尺寸不匹配,需要一个归一化操作使其大小变成相同量级,避免计算结果产生歪曲。
不经常使用这种Graphlat构造子图方式的原因主要是,这种方式比较消耗硬件(从原图中枚举寻找子图),是一个nk多项式量级的复杂度,k越大,复杂度越高,也就是一个N-P难问题
一种性能上更加优化的kernel,使用颜色微调的方法迭代地丰富“节点词库”
案例如下:
不断重复上述过程,发现之前的颜色又开始发生变化,观察发现G1中最下面两个节点由于结构完全一致,所以颜色一直相同,但是G2最下面的两个节点由于结构不一致,所以颜色不再是第一次哈希之后的相同值。
到这里我们经过两次哈希得到了13种颜色,也就是两张图均用13维的向量表示。我们就可以开始计算kernel
求两张图的内积。
13维向量:针对每一种颜色计算对应的节点个数,有一些向量的元素为0,但是既然他有这种颜色,说明在另一张图中出现,即另一张图中他至少为1。
Weisfeiler-Lehman图核就是拿这两个特征描述向量的数量积作为两个图相似性的返回值,Weisfeiler-Lehman Graph Kernels 方法提出用WL子树核衡量图之间相似性。该方法使用WL Test不同迭代中的节点标签计数作为图的表征向量,它具有与WL Test相同的判别能力。在WL Test的第k次迭代中,一个节点的标签代表了以该节点为根的高度为k的子树结构。
该方法的思想是用WL Test算法得到节点的多层的标签,然后我们可以分别统计图中各类标签出现的次数,存于一个向量,这个向量可以作为图的表征。两个图的表征向量的内积,即可作为这两个图的相似性估计,内积越大表示相似性越高。
内积结果为:6x6+2x2+1x1+2x2+1x1+0x1+2x1+1x0+0x1+0x1+0x1+2x0+1x1 = 49,这个49就是这两张图的Weisfeiler-Lehman Kernel
用算法表示就是如下图所示:
这种方式的计算是和节点、连接呈线性关系,所以计算起来是非常方便的。而且Weisfeiler-Lehman Kernel
与图神经网络GNN
是非常类似的。
Kernel Methods核方法经常用在图机器学习中,因为经常需要用两个图来作比较(两张大图、一张大图和子图等等)。
kernel值是一个标量,这时候就用这个kernel值来代表两张图的结构,而不是用一张图的向量来表示。有了kernel之后一些现成的带有核函数的机器学习方法就可以直接拿来使用,比如Kernel SVM
支持向量机。
这些都是在统计机器学习时代的方法,现在是深度学习、神经网络的年代了。
上述的特征工程提到了不管是上面提到的节点层面的特征还是连接层面的还是全图层面的,这些都是需要人工去设计,再输入到机器学习模型中的,对于特征的回顾如下图所示:
在后面要学习的的图神经网络中,我们就是端到端的用深度学习的方法,使用图嵌入自动得到图中的特征(包括结构、连接、语义特征等等),不再需要人工设计特征。
https://github.com/lyc686/CS224W_notes/
https://github.com/shenhao-stu/CS224W-Fall2021
https://andyguo.blog.csdn.net/article/details/128925380
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。