图神经网络05-基于Graph的传统机器学习理论

简介: 图神经网络05-基于Graph的传统机器学习理论

图学习任务


我们简单回顾下,上一节我们介绍了,图的机器学习任务主要是以下三种:

  • Node Level:节点级别
  • Link Level:边级别
  • Graph Level:图级别
    并且三部分难度依次是由浅入深的

    30.png


传统ML流程


  • 定义和设计节点/边/图的特征
  • 对所有训练数据构造特征

    31.png


  • 训练ML模型
    (1)随机森林
    (2)支持向量机
    (3)神经网络等


  • 应用模型
    给定一个新的节点、边、图,然后获取特征进行预测


32.png


我们总结下 基于Graph的机器学习相关概念和流程,首先明确下目标

目标:对一些对象集合进行预测,比如是分类或者回归任务


特征设计:

  • 特征:d-dimensional向量
  • 对象:Nodes,edges,或者是graps
  • 目标函数:结合具体任务设计目标函数,如下图所示给定一个图G(V,E),其中V代表节点集合,E代表边集合,然后学习节点到向量空间R的映射函数,也就是我们要学习权重参数W
    33.png


为了方便,我们下面的例子是基于无向图(undirected grpah)进行解释的。


节点级别的相关任务


基于图中带有标签的节点训练模型,然后预测未标注节点的标签,


34.png


在这里我们主要阐述下Node的四种特征:

  • Node degree:节点的度
  • Node centrality:节点的中度
  • Clustering coefficient:相似性
  • Graphlets:图元
    35.png


节点的度

  • kv代表是节点v与邻居节点相连边的个数
  • 所有邻居节点都是相等的

如下图所示,A的度为1,B的度为2,C的度为3,D的度为4


36.png


节点的中心度  Node Centrality

  • 节点的度只计算了相连节点的个数,但是没有评估节点的重要性
  • 节点的中心度考虑了节点在图中的重要程度
  • 节点的中心度有很多种计算方式:
    (1) Engienvector centrality:特征向量中心性
    (2) Betweenness centrality:中介中心性
    (3) Closeness centrality:紧密中心性
    (4) 其他方式

Eigenvector centrality:特征向量中心性

  • 如果一个节点的邻居节点们越重要,那么该节点就越重要
  • 我们将节点𝑣的中心性建模为相邻节点的中心性之和:

    其中为一个正常数。
  • 我们注意到上面的等式是通过递归的方式来计算度度中心性的,所有我们应该怎么求解

其中为正常数,为邻接矩阵,如果 ,那么

  • 我们可以看到度中心性是一个特征向量(eigenvector),根据非负矩阵定理(Perron-Frobenius Theorem)我们可以知道是一个正值并且是唯一的,特征向量当做度中心性。

通常来说,有许多不同的特征值 能使得一个特征方程有非零解存在。然而,考虑到特征向量中的所有项均为非负值,根据佩伦-弗罗贝尼乌斯定理,只有特征值最大时才能测量出想要的中心性。然后通过计算网络中的节点其特征向量的相关分量便能得出其对应的中心性的分数。

特征向量的定义只有一个公因子,因此各节点中心性的比例可以很好确定。为了确定一个绝对分数,必须将其中一个特征值标准化,例如所有节点评分之和为1或者节点数 n。幂次迭代是许多特征值算法中的一种,该算法可以用来寻找这种主导特征向量。此外,以上方法可以推广,使得矩阵A中每个元素可以是表示连接强度的实数,例如随机矩阵。---特征向量中心性wiki


这里其实涉及到比较多的线性代数的理论以及矩阵分析的算法,我特意查了一些文章帮大家去回顾和理解下这里涉及到的知识:

(1) 线性代数之——特征值和特征向量

(2)非负矩阵之Perron-Frobenius定理

(3)非负矩阵

(4)干货 | 万字长文带你复习线性代数!

我们这里再通过文章谁是社会网络中最重要的人?解释特征向量中心性:

特征向量中心性的基本思想是,一个节点的中心性是相邻节点中心性的函数。也就是说,与你连接的人越重要,你也就越重要

特征向量中心性和点度中心性不同,一个点度中心性高即拥有很多连接的节点特征向量中心性不一定高,因为所有的连接者有可能特征向量中心性很低。同理,特征向量中心性高并不意味着它的点度中心性高,它拥有很少但很重要的连接者也可以拥有高特征向量中心性。


考虑下面的图,以及相应的5x5的邻接矩阵(Adjacency Matrix),A。


37.png


邻接矩阵的含义是,如果两个节点没有直接连接,记为0,否则记为1。

现在考虑x,一个5x1的向量,向量的值对应图中的每个点。在这种情况下,我们计算的是每个点的点度中心性(degree centrality),即以点的连接数来衡量中心性的高低。

矩阵A乘以这个向量的结果是一个5x1的向量:


38.png


结果向量的第一个元素是用矩阵A的第一行去“获取”每一个与第一个点有连接的点的值(连接数,点度中心性),也就是第2个、第3个和第4个点的值,然后将它们加起来。

换句话说,邻接矩阵做的事情是将相邻节点的求和值重新分配给每个点。这样做的结果就是“扩散了”点度中心性。你的朋友的朋友越多,你的特征向量中心性就越高。


39.png


我们继续用矩阵A乘以结果向量。如何理解呢?实际上,我们允许这一中心性数值再次沿着图的边界“扩散”。我们会观察到两个方向上的扩散(点既给予也收获相邻节点)。我们猜测,这一过程最后会达到一个平衡,特定点收获的数量会和它给予相邻节点的数量取得平衡。既然我们仅仅是累加,数值会越来越大,但我们最终会到达一个点,各个节点在整体中的比例会保持稳定。

现在把所有点的数值构成的向量用更一般的形式表示:


40.png


我们认为,图中的点存在一个数值集合,对于它,用矩阵A去乘不会改变向量各个数值的相对大小。也就是说,它的数值会变大,但乘以的是同一个因子。用数学符号表示就是:


41.png


满足这一属性的向量就是矩阵M的特征向量。特征向量的元素就是图中每个点的特征向量中心性。

特征向量中心性的计算需要读者具备矩阵乘法和特征向量的知识,但不影响这里读者对特征向量中心性思想的理解,不再赘述。


Betweenness centrality:中介中心性

如果一个节点位于很多条其他节点的最短路径上,那么改节点比较重要,定义如下:

我们可以看一个下面的例子:


42.png


假设我们要计算D的中介中心性:

  • 首先,我们计算节点D之外,所有节点对之间的最短路径有多少条,这里是1条(在5个节点中选择两个节点即节点对的个数)。
  • 然后,我们再看所有这些最短路径中有多少条经过节点D,例如节点A要想找到节点E,必须经过节点D。经过节点D的最短路径有3条(A-C-D-E,B-D-E,C-D-E)。
  • 最后,我们用经过节点D的最短路径除以所有节点对的最短路径总数,这个比率就是节点D的中介中心性。节点D的中介中心性是3/1=3。
相关文章
|
22天前
|
机器学习/深度学习 数据采集 人工智能
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
Machine Learning机器学习之贝叶斯网络(BayesianNetwork)
|
1月前
|
机器学习/深度学习 安全 算法
利用机器学习优化网络安全防御机制
【2月更文挑战第23天】 在数字化时代,网络安全已成为维护信息完整性、保障用户隐私的关键挑战。随着攻击手段的日益复杂化,传统的防御策略逐渐显得力不从心。本文通过引入机器学习技术,探索其在网络安全防御中的应用及优化路径。首先,概述了当前网络安全面临的主要威胁和机器学习的基本概念;其次,分析了机器学习在识别恶意行为、自动化响应等方面的潜力;最后,提出了一个基于机器学习的网络安全防御框架,并通过案例分析展示了其有效性。本研究旨在为网络安全领域提供一种创新的防御思路,以适应不断演变的网络威胁。
31 2
|
1月前
|
机器学习/深度学习 自然语言处理 运维
基于机器学习的网络安全威胁检测系统
【2月更文挑战第20天】 在数字化时代,网络安全已成为全球关注的焦点。随着攻击手段的日益复杂化,传统的安全防御措施已不足以应对新型的网络威胁。本文提出了一种基于机器学习的网络安全威胁检测系统,旨在通过智能算法提升威胁识别的准确性和效率。系统结合了多种机器学习技术,包括深度学习、异常检测和自然语言处理,以适应不同类型的网络攻击。经过严格的测试与验证,该系统显示出较传统方法更高的检出率及更低的误报率,为网络安全管理提供了一种新的解决方案。
|
4月前
|
机器学习/深度学习 算法 Python
【Python机器学习】神经网络中常用激活函数、损失函数、优化方法(图文解释 附源码)
【Python机器学习】神经网络中常用激活函数、损失函数、优化方法(图文解释 附源码)
45 0
|
4月前
|
机器学习/深度学习 算法 数据挖掘
【机器学习】算法术语、决策函数、概率模型、神经网络的详细讲解(图文解释)
【机器学习】算法术语、决策函数、概率模型、神经网络的详细讲解(图文解释)
67 1
|
4月前
|
机器学习/深度学习 存储 TensorFlow
【Python机器学习】卷积神经网络卷积层、池化层、Flatten层、批标准化层的讲解(图文解释)
【Python机器学习】卷积神经网络卷积层、池化层、Flatten层、批标准化层的讲解(图文解释)
114 0
|
1月前
|
机器学习/深度学习 算法 流计算
机器学习PAI常见问题之编译包下载不了如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
1月前
|
机器学习/深度学习 数据采集 安全
基于机器学习的网络安全威胁检测系统
【2月更文挑战第30天】 随着网络技术的迅猛发展,网络安全问题日益凸显,传统的安全防御机制面临新型攻击手段的挑战。本文提出一种基于机器学习的网络安全威胁检测系统,通过构建智能算法模型,实现对异常流量和潜在攻击行为的实时监测与分析。系统融合了深度学习与行为分析技术,旨在提高威胁识别的准确性与响应速度,为网络环境提供更为坚固的安全防线。
|
1月前
|
机器学习/深度学习 数据采集 安全
构建基于机器学习的网络安全威胁检测系统
【2月更文挑战第29天】 随着网络技术的飞速发展,网络安全问题日益凸显,传统的安全防御手段已难以应对日新月异的网络攻击手段。本文旨在探讨利用机器学习技术构建一个高效的网络安全威胁检测系统。首先分析了当前网络安全面临的主要挑战,接着介绍了机器学习在网络安全中的应用前景和潜力。随后详细阐述了该系统的设计原理、关键技术以及实现流程。最后通过实验验证了所提系统的有效性,并对未来的研究方向进行了展望。
22 1
|
3月前
|
机器学习/深度学习 存储 算法
基于多模态融合与图神经网络的用户精准感知系统研究
基于多模态融合与图神经网络的用户精准感知系统研究
61 0

热门文章

最新文章