Stanford_CS224W----Machine learning with graph
Stanford_CS224W----Machine learning with graph
开始学习GNN相关的内容,课程是YouTube上公开的Standford_CS224W,本文介绍了一些在节点程度上的图论知识点,
Node-level Tasks and Features
主要有四种描述网络中一个节点的结构和位置:
- Node degree
- Node centrality
- Clustering coefficient
- Graphlet
Node degree
就是普通的点的度
Node centrality
点的度没有刻画邻居的重要性,而点的中心性考虑了点在图中的重要性
- Engienvector centrality
- Betweenness centrality
- Closeness centrality
- others
Engienvector centrality
特征中心度,我们将节点的中心性建模为相邻节点的中心性之和。
可以发现,这样定义出的
Betweenness centrality
间隙中心度,如果一个节点位于其他节点之间的许多最短路径上,它就是重要的。
Closeness centrality
紧密性中心度,如果一个节点与所有其他节点的最短路径长度较小,那么该节点就很重要。(最短路径之和的倒数)
Clustering coefficient
衡量v的邻接节点的连接程度。
分别是6/6 , 3/6 , 0/6
Graphlet
基于同构图的概念,获得邻居的拓扑结构特征,一个根植于给定节点的小图的计数向量。
在五个节点以内,一个节点可以有73不同位置有根连接的非同构子图。注意节点的位置。
Summary
- Importance-based features:
- Node degree
- Different node centrality measures
对于这个特征,一个例子就是预测社交网络中的名人用户
- Structure-based features
- Node degree
- Clustering coefficient
- Graphlet count vector
对于这个特征,一个例子就是预测蛋白-蛋白相互作用网络中的蛋白功能。
Link Prediction Tasks and Features
对节点对的关系进行定量描述
- Distance-based feature
- Local neighborhood overlap
- Global neighborhood overlap
Distance-based feature
这里是简化情况下,利用两个点之间的跳数作为距离。但是没有考虑到邻居节点的重叠程度
Local neighborhood overlap
利用节点对中两个节点的共有节点的特性来作为指标
Common neighbors
example:
Jaccard’s coefficient
做一个类似标准化的操作,example:
Adamic-Adar index
一个应用得比较好的系数,大概就是名人效应。如果共同邻居的度很大,说明是个名人只是和许多人有关系,但他认识的人不一定有关系。类似于小圈子往往都认识对方
Graph-Level Features and Graph Kernels
目标:描述整个图的结构的特征
方法:使用图核(graph kernel),测量俩个图之间的相似性
一点介绍:
- 图核衡量数据之间的相似度。
- 核矩阵必须是半正定的
- 存在一种特征表示
et:
一些常用的核方法,前两种利用了bags of * 思想
- Graphlet Kernel
- Weisfeiler-Lehman Kernel
- Random-walk kernel
- Shortest-path graph kernel
- others
Graphlet Kernel
注意这里的子图和节点中子图定义不同
- 子图中的点不需要连接
- 这些子图没有根
网课中给了个简单了例子,一看就会(可以使用标准化
但是!但是!这种计算方法属于NP-hard问题,计算量非常大,指数级增长
Weisfeiler-Lehman Kernel
对邻居节点度进行泛化,使用一种叫Color refinement
的算法
步骤:
step1:对所有节点初始化一个颜色(颜色用数字表示)
step2:迭代定义每个点的颜色
step3:迭代k次后,总结所有的颜色次数(还是看例子比较好)
第一次聚合
进行hash表建立
第二次聚合
进行hash表建立
最后获得的特征向量
这种方法的复杂性是#(edges)线性的
Summary
传统的机器学习流水线
- 手工特征+ML模型
对于图数据的手工特征 - Node-level
- Node degree, centrality, clustering coefficient, graphlets
- Link-level
- Distance-based feature
- local/global neighborhood overlap
- Graph-level
- Graphlet kernel, WL kernel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示