cs224w 2-1 Traditional Feature-based Methods-Node
前言:传统图机器学习方法
1.传统图机器学习的三个层级

我们可以将传统图机器学习任务分为三个层级:节点、边、图;
图数据有两种属性特征:1.节点、边、图的特征属性;2.图数据的结构特性(局部网络结构local network structure这些额外的特征描述了网络的拓扑结构,能使预测更加准确)
2.传统机器学习的两大步骤

第一步,我们获取数据点,并用 特征向量 来表示节点、边、图;
第二步,我们可以利用机器学习进行训练将模型应用于新节点,边和图,得到他们的特征并做出预测;
3.三种数据层次上的特征设计
传统机器学习Feature Design采用手动设计特征,并 对一系列的object做预测任务,特征Feature:d维向量 d-dimensional vectors;对象Objects: 节点,边,节点的集合组,整个图;目标: 我们要处理的具体问题是什么?首先,最重要的第一步就是Feature Design。
我们将从三个数据层次来讲解Feature Design:
节点层级的预测:单个节点的特征;
边层级的预测:一对节点间的特征;
图层级的预测:使用特征描述整个图的拓扑结构以便进行不同图之间的比较 ;
节点层级

任务:
我们得到了几个用不同颜色标记的节点,目标是预测没有颜色的节点的颜色
我们可以发现,绿色的节点连接的边大于等于2,但红色只有1条边;
我们可以将每个节点的度作为特征,我们就可以解决这个问题

我们的目标是表征给定的节点周围的网络结构,或节点在图中的位置;我们将介绍4种方法来完成我们的目标:
1.使用节点的度作为特征;
2.使用节点中心度量作为特征;
3.图的网络结构表征,不仅是节点连多少边,还有节点周围的结构是什么,采用聚类系数来表征;
4.将第三点概括为已知的概念graphlets
使用节点的特征来完成任务:
1.利用节点的度
缺点在于只抓住了邻居的边,将节点的所有邻居视为同等重要的

2.利用节点中心度
节点中心度尝试捕获或表征节点在图中的重要性,我们可以采取多种方式来建模重要性;
Eigenvector centrality:
认为如果节点邻居重要,那么节点本身也重要,节点 v 的centrality是邻居centrality的总和
Cv=1λ∑u∈N(v)CuC_{v}=\frac{1}{\lambda}\sum_{u\in N(v)} C_{u}
Cv=λ1u∈N(v)∑Cu

将该递归式其转换为λC=AC\lambda C = ACλC=AC A是临接矩阵,C是节点中心度向量;即人们认为节点中心度的度量是与最大特征值λmax\lambda_{max}λmax相关的特征向量 ;根据Perron-Frobenius Theorem(完全看不懂…)可知λmax\lambda_{max}λmax最大的特征值总为正且唯一,对应的leading eigenvector CmaxC_{max}Cmax就是centrality向量。
Betweenness centrality:
如一个节点处在很多节点对的最短路径上,那么这个节点是重要的,即衡量一个节点作为交通要塞的能力。(类似于重要的交通枢纽,十字路口等)

Cv=∑s≠t≠vs与t的最短路径中包含v的s与t的所有最短路径C_{v}=\sum_{s\neq t\neq v} \frac{s与t的最短路径中包含v的}{s与t的所有最短路径}Cv=s=t=v∑s与t的所有最短路径s与t的最短路径中包含v的
Betweenness centrality:
Cv=1∑u≠vu与v之间的最短路径C_{v}= \frac{1}{\sum_{u\neq v}u与v之间的最短路径}Cv=∑u=vu与v之间的最短路径1 1/u到达其他点的长度之和

3.利用聚类系数
聚类系数衡量邻居的联系程度;
ev=相邻节点间的边Cv2 e_{v} = \frac{相邻节点间的边}{C_{v}^2}ev=Cv2相邻节点间的边ev=实际出现的边潜在的边 e_{v} = \frac{实际出现的边}{潜在的边}ev=潜在的边实际出现的边
ev=6/6e_{v}=6/6ev=6/6 ,ev=3/6e_{v}=3/6ev=3/6 ,ev=0/6e_{v}=0/6ev=0/6.

4. 利用Graphlets

聚类系数实际上是在计算这种三角形,这在社交网络中十分重要,朋友的朋友也可能是朋友,你的朋友可能会经由你的介绍而认识,社交网络会随着三角形的闭合而逐渐发展。
graphlet是有根连通异构子图:
1.它们是连通图(connected);
2.有K个节点;
3.它们异构(结构不相同,经过翻转旋转也不相同);3个节点产生的全连接异构子图只有如图所示的2个,4个点就只有6个。如果你再构建出新的子图形状,那么它一定跟其中某个子图是同构的。
4.讨论一下他们的根;
图中标的数字代表根节点可选的位置。G1中1,2分别为一个根(为什么下面的节点不是呢,因为上下关于中间对称,实际上选上面的做艮和选下面做根是一样的),G0同理只有0号是根,G2是3号是根;K=2-5共有73个根;

GDV与Degree和Clustering coefficient类似,度是计算节点边的数量,聚类系数是计算基于节点的三角形的数量,GDV是基于节点计算graphlet出现的数量;

这里为什么C是0呢?因为c要以v为顶点,所以其余的两个点不可以相连,但图中无这种结构;
如果我们考虑2-5个节点,一共有73种graphlet的GDV,可以捕获距离为4跳的局部网络拓扑结构,它提供了更详细的局部拓扑相似性度量(更加的细粒度区分邻居关系);
总结
这些节点特征有两个作用:
1.捕获节点重要性:度,中心性
2.捕获节点周围拓扑结构:聚类特性,GDV
博客介绍传统图机器学习方法,包括三个层级(节点、边、图)、两大步骤及三种数据层次的特征设计。重点阐述节点层级,介绍利用节点度、中心度、聚类系数和Graphlets等特征完成任务,这些特征可捕获节点重要性和周围拓扑结构。
943

被折叠的 条评论
为什么被折叠?



