//2019.05.22
一、图概述
1、图是由顶点集合以及顶点之间的关系集合组成的一种数据结构:G=(V,E)
2、分类:有向图(Directed graph)、无向图(Undirected graph)
(带权图(weighted graph)\属性图)
3、图数据处理的挑战
(1)结点和边可变大小
(2)结点无序(CNN\RNN)
(3)不同结点的局部连接不同
(4)结点之间相互依赖
(在这里区分节点和结点:节点被认为是一个实体,有处理能力,比如网络中的一台计算机;结点只是一个交叉结点,一般认为数据结构中的点都是结点)
二、基本图算法
1、基本遍历算法
(1)遍历的概念:从图的某一个顶点开始,按照某种算法不重复的访问图的所有顶点
(2)遍历算法
2、路径搜索算法
(1)最短路径问题:在带权图中,求两个顶点间所有可达路径中,边的权值之和最小的那一条路径。
(2)最短路径问题的经典算法:
3、图匹配算法
(1)基本概念
(2)算法:匈牙利算法
a)从图中选取未匹配点,并寻找增广路l;
b)对增广路上的未匹配边和匹配边进行互换,并将原增广路两端的未匹配点改为匹配点;
c)重复1,2,知道找不到增广路为止
4、图算法的应用
(1)最小生成树(引入贪心算法)
(2)拓扑排序
*对于一个DGA(有向无环图,不存在环的有向图),找到一个有顶点组成的序列,要求该序列应包含G的所有顶点组成的序列,要求该序列应包含G的所有顶点,且每个顶点只出现一次,且在后面的顶点一定没有通向前面所有顶点的路径。
*算法过程:a)从DGA图G中选取一个入度为0的顶点,删去除其所有的临边;b)将该顶点作为排序序列新的尾结点;c)重复1、2直到所有顶点进入序列中。
三、图信息传播算法
*典型应用:链接预测;权威度评估;商品推荐
*相关定义:
(理解拉普拉斯矩阵,它的定义是度矩阵-邻接矩阵,奇异矩阵就是对应行列式等于0的方阵)
1、随机游走算法
(理解:下一时刻所在点的概率,就是把所有能跳过去的可能累加)
这里涉及一个平稳分布:对象按照转移概率游走一定步数,当对象所在结点的位置不再改;对于正常图,该平稳分布不依赖于初始分布
算法:迭代算法
(上面算法即是PageRank)
2、PageRank,HITS
(1)由1得PageRank,由PageRank演化出PopRank
*主要模拟图中各个类型之间不同关系的权重
*概念:
*计算:X、Y是同种不同类型的结点
(2)DivRank
*传统的RandomWalk:高degree的结点控制了整个随机游走的过程,同时缺乏diversity(应该从每个clique中选出最有代表性的结点,而不是在单个最大的clique中选出最popular的结点)
(3)SimRank
*动机:SimRank提出了一种互补的方法,适用于具有对象到对象关系的任何领域,该方法根据对象与其它对象的关系来衡量对象发生时的结构上下文的相似性。实际上,其计算出一个度量值,表示“如果两个对象与相似的对象相关,那么它们是相似的”
*方法:构建一个图G^2,这个图里面的结点由原图G中任意两个结点的pair组成
(4)Co-Ranking:
*动机:以前的应用大多局限于同构网络,如出版物之间的引用网络。而Co-Ranking是一种利用多个网络对作者机器出版物进行联合排序的新方法,作者之间的社会网络连接、出版物之间的引文网络连接以及将前两个网络连接在一起的作者身份网络。新的Co-Ranking框架基于耦合的两个随机游走,分别按照PageRank范式对作者和文档进行排名。
*作用:解决了bi-graph的相互rank的问题
(5)子集传播模型-HITS
*子集传播模型:把互联网网页按照一定规则划分成两个甚至是多个子集,其中,某个子集具有特殊性质,很多算法会从这些具有特殊性质的子集出发,给予子集内网页初始值,之后根据这个特殊子集内网页和其它网页的链接关系,按照一定方式将权值传递到其它网页
*HIST算法:是子集传播算法的代表算法,其将网页分为Hub页面和Authority页面
(Hub页面:即很多指向高质量Authority页面链接的网页;Authority页面:与某个领域或者某个话题相关的高质量网页)
说的比较抽象,直白的说网址导航,就是一个Hub页面;而某个领域,如视频领域,腾讯或者优酷首页,就是个高质量的Authority页面。
假设1:一个好的Authority页面会被很多Hub页面指向;
假设2:一个好的hub页面会指向很多好的Authority;
假设3:判断扩展集中的Hub和Authority
*计算过程:
对每个网页设定两个初始值a0 = 1,h0 = 1,迭代计算两个权值
(Authority权值ai即为所有指向该页面的hi-1之和;Hub权值hi即为所有指向该网页的ai-1之和)
3、Label Propagation(标签传播算法:基于图的半监督算法)
(1)基于图的半监督多分类算法
(2)如何通过有监督的数据标注无监督的数据?
(3)*LP的简单假设:样本间具有相关性
*基本方法:计算样本之间的相似度;将未标记的样本连接到相近已标注样本的类别上
---->但是这样会带来一些问题,如冲突样本如何判断标签
(4)LP算法:节点权重越大,表示两个节点越相似,那么label越容易传播过去,定义n*n概率转移矩阵p
注意,权重初始值,在构建图时计算给出,
*简化计算
四、图神经网络
1、图神经网络缘起
(1)传统神经网路处理的数据典型特点:平移等价性(图片)、层次组合性(句子)、稳定栅格结构(围棋、图片像素)
(2)图数据常见特点--->传统前馈网络、RNN、CNN难以处理这样的数据
2、图数据的常见任务
3、图数据的简便处理方法
4、图神经网络的概念
*特指输入数据为图的模型,而不是本身构建为图的模型
*流行框架将神经网络实现为一个计算图(节点表示函数,边表示反向传播路径;神经网络可以输入普通数据或者图数据)
5、图卷积网络
(1)谱聚类:从图论角度来说,聚类问题相当于一个图分割问题
*具体含义:给定一个图G=(V,E),顶点集V表示各个样本,带权的边表示各个样本之间的相似度,谱聚类的目的,便是要找到一种合理的分割图的方法,使得分割后形成若干个子图(连接不同子图的边的权重相似度尽可能低;同子图内的变得权重相似度尽可能高)
*如何把图的顶点集分割/切割为不相交的子图(并满足上面的要求)?---->可以让被割掉各边的*最小
*图切割
*图切割的等价形式
*具体操作步骤
(2)图卷积模型:基于谱学习的方法
*动机:图的L矩阵描述了图结构-->可以利用图拉普拉斯矩阵的特征值和特征向量来研究图的性质
*目标:学习图中结点的向量表示(输入:结点特征;邻接矩阵;输出:结点表示;关键操作:Aggregator,Updater)
*问题及解决
*卷积核定义
(但是要计算真个图的拉普拉斯矩阵的特征矩阵分解,对于大规模图,谱学习模型难以应用)
*改进
*谱算法缺陷
(3)基于空间的模型
*图模型的目标就是给出每个节点的表示;类比CNN,对每个点,基于空间的模型仅使用它的空间上的邻居计算卷积
*基于空间的模型可一般性的定义为
*基于空间的模型的组合方式
*消息传递步骤:
**消息传递(Aggregate/Propagation):负责传递邻居间的消息
**读出输出最终结果
*不同的消息传递网络
6、门控图网络
(1)Graph-LSTM:用来处理图结构信息
*LSTM:处理序列信息
*Tree-LSTM处理树结构信息
(2)图的处理:
图中如果存在环会导致无法训练;将图拆分成两个有向无环图,其中每一个有向无环图都可以用一个Graph-LSTM来处理(当图是一个链式结构时,等价于双向LSTM)
7、其它网络
(1)GraphSage
(2)其它模型: