图机器学习入门CS224W——学习记录1

课程主页

图机器学习导论

数学上图论最早起源于哥尼斯堡七桥问题。

**main question: **如何充分的利用节点之间的连接,利用关系结构进行更好地数据挖掘、数据分析?——即如何对图数据进行数据挖掘。

把图神经网络看成一个黑箱,Input为Network,Output可以为Node labels, New links, Generated graphs and subgraphs。

实现端到端表示学习representation learning ,类似CNN的automatically learn the features。就是把节点变成d维向量的过程。
所谓的端到端就是不需要人工去干涉,不需要人工去辅助,自己学到关键的特征。

课程概览

  • Traditional methods:Graphlets, Graph Kernels
  • Methods for node embeddings:DeepWalk, Node2Vec
  • Graph Neural Networks:GCN, GraphSAGE, GAT, Theory of GNNs
  • Knowledge graphs and reasoning:TransE, BetaE
  • Deep generative models for graphs:GraphRNN
  • Applications to Biomedicine, Science, Industry

图机器学习编程工具

  • PyG
  • GraphGym
  • NetworkX
  • SNAP.PY
  • DGL:复现了很多论文

图数据可视化工具

图数据库

专门用来存储索引、推理图数据的数据库。

  • Neo4j
  • ……

图机器学习应用

许多应用
在这里插入图片描述

Tasks

  • node level
  • edge level,例如推荐系统中
  • community(subgraph) level
  • graph level prediction, graph generation

在这里插入图片描述

Examples of Subgraph-level ML Tasks

例如导航从一个点到另一个点,可利用图来预计到达的时间。
Nodes:Road segments
Edges:Connectivity between road segments
Prediction:Time of Arrival(ETA)
在这里插入图片描述

图是最优质的长期资产。网络效应是一个企业最深的护城河。

几个图数据挖掘项目

  • readpaper
  • connected papers
  • bios 医疗知识图谱
  • ……

图的基本表示

本体图 Ontology

如何设计本体图,取决于将来想解决什么问题。

图的种类

  • 无向图
  • 有向图
  • 异质图heterogeneous
    一种特殊的异质图:二分图。例如论文的作者和论文之间的关系,可以抽象成二分图。
    在这里插入图片描述
    把二分图展开:Folded networks
    在这里插入图片描述

节点连接数

可以用node degree表示其连接数,侧面反映一个节点的重要度。

邻接矩阵

无向图邻接矩阵为对称矩阵。主对角线为0
有向图为非对称矩阵。主对角线为0

为什么把图表示为矩阵的形式
各种工具解决的都是矩阵运算的问题,加速的就是矩阵运算,把图表示成矩阵的形式,就是翻译成计算机能理解的。

图形数据结构可用以下表示形式:

  • adjacency matrix邻接矩阵
  • incidence matrix 关联矩阵
  • adjacency list邻接列表

大多数的网络的邻接矩阵是稀疏的。

连接列表、邻接列表

连接列表只记录存在连接的节点对。连接表关心数据中的head和tail
邻接列表,把所有和该节点相关的都记下来。
例如:三国演义中任务关系的连接表和邻接表的示意:
在这里插入图片描述

其他种类的图

  • 无权图
  • 带权图
    例如:一个城市到另一个城市交通的可通达性也可用带权图表示。
  • self-loops自环图
  • multigraph多重图

图的连通性

connected graph/disconnected graph
强连通图:任意两个节点可以到达
弱连通图
强连通域,strongly connected components(SCCs)

六度空间理论:全世界任意两个人可以通过不超过六个中间人相互认识,可以跨越时间。

传统图机器学习(图特征工程)

人工设计一些特征,进行编码低维向量。
例如一个银行的风控系统,每个节点是一个用户,节点有两种特征:

  • 属性特征
  • 连接特征(和其他节点的连接关系)
    在这里插入图片描述
    feature design:using effective features over graphs is the key to achieving good model performance。

节点层面的特征工程

给定 G = ( V , E ) G = (V,E) G=(V,E),学习 f : V − > R f : V -> R f:V>R,输入某个节点的D维向量,输出该节点是某类的概率。

例如半监督节点分类问题。

对每个节点构造特征:

  • node degree 连接数,可通过邻接矩阵求得
    node degree只看数量不看质量。
  • node centrality 节点重要度,考虑了质量。
    不同衡量重要度的方法:
    • eigenvector centrality特征向量重要度,如果周围节点重要,该节点也是重要的。 c v = 1 λ ∑ u ∈ N ( v ) c u c_{v} = \frac{1}{\lambda} \sum_{u \in N(v)}c_{u} cv=λ1uN(v)cu明显是一个递归地过程。可等价为求临界矩阵特征值和特征向量的问题。
    • betweenness centrality,衡量咽喉的位置
    • closeness centrality,衡量去哪都近
  • clustering coefficient 集群系数,在ego-network中计算三角形个数
  • graphlets
    GDV:graphlet degree vector,数一个节点周围预先定义好的子图模式。
    在networkx中graphlets视为atlas。

连接层面的特征工程

即通过已知连接补全未知连接。

两种:

  • links missing at random,客观静态随时间不变的。
  • links over time随时间变化的

link-level features:

  • 基于两节点距离
  • 基于两节点局部连接信息,但是存在局限,如果局部信息不足,就需要全局了。
    例如:
    • common neighbors 共同好友个数
    • jaccard’s coefficient 交并比
    • admic-adar index共同好友
  • 基于两节点在全图的连接信息
    katz index:计算节点u和节点v之间长度为k的路径个数。了解这个计算过程!邻接矩阵A,则katz系数计算为邻接矩阵的k次方的第u行第v列。

S = ∑ i = 1 ∞ β i A i = ( I − β A ) − 1 − I S = \sum^{\infty}_{i=1} \beta^{i}A^{i} = (I - \beta A)^{-1} - I S=i=1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值