图的节点特征

我的微信公众号是“黄泓图计算分享”,很多朋友反映公众号上看文章不方便,就在简书上同步一份

图包含两大要素:节点和边。节点和边上都可以有属性,边既可以有方向也可以无向。对于图的建模,可以包含结构上的特征和聚集的特征。特征表征的粒度,可以是节点,边,子图等等。

本文先从最常见的情况讲起:以节点为粒度的结构特征。以节点为粒度的结构特征,往往同时会作为图嵌入(Graph Embedding)算法的输入,从而得到描述节点所在的局部结构的向量。例如度以及三角形的个数,可以作为Role2vec[5]或者GraphSage[6]的输入。这些后面再详谈。

以节点为粒度的结构特征,最简单的是度(degree),也就是一个节点关联的邻居节点的个数。在很多应用中,想必大家都有意无意用过这个特征。

节点的重要性

描述节点重要性的特征,一般有两类:一类是基于一定的定义直接描述的特征,如度,介数中心性和紧密中心性等等。另外一类是源于互联网链接分析的算法,如HITS算法和PageRank算法。

根据定义直接描述的节点重要性

介数中心性(betweeness)描述的是一个节点作为枢纽节点的重要程度。描述一个节点作为枢纽的重要程度还有别的方法(如HITS,下面会提到),介数中心性采用的是最粗暴的定义方法:一个节点的介数中心性是经过这个节点的最短路径条数与所有最短路径条数的比值。因为定义简单粗暴,所以计算起来也比较麻烦。如果要进行分布式计算的话需要设计特殊的算法。比较好的一个实现来自sparkling graph:

https://github.com/sparkling-graph/sparkling-graph/tree/master/operators/src/main/scala/ml/sparkling/graph/operators/measures/vertex/betweenness

这里betweeness使用了两个实现,分别是Edmonds[1]和Hua[2]。亲测Hua的实现效率更加高一些,奈何话题太冷,论文没什么人引用。

紧密中心性(closeness centrality)描述一个节点到图中其他节点的难易程度。取的是这个节点到图中其他节点的距离平均数的倒数。如果这个值比较大,那么说明这个节点到其他节点大部分都是经过很少的几步就行,整个图结构比较紧密。对于这个指标,sparkling graph也有比较好的实现。

三角形计数(triangle count) 是用来描述一个图中的顶点之间聚集密集程度的系数。节点所在的局部结构越密集,三角形个数越多。对于这个指标,spark graphx有比较好的实现。

基于链接分析的节点重要性特征

HITS算法和PageRank算法最初的提出都是用于衡量Web图模型中页面的重要程度。他们基于不同的假设。

用户浏览网页的随机游走模型(Random Surfer Model)

用户浏览网页的随机游走模型(Random Surfer Model)假设用户随机游走网页由两部分构成:

(1)直接跳转:用户进入一个网页a,并且以等概率访问这个网页的链接(假设这个网页有d个链接,则为1/d)

(2)远程跳转(teleporting):用户浏览到某个程度之后决定不再继续深入,而是输入另外一个网址重新浏览。

PageRank算法

假设:

(1)数量假设:一个页面节点接收到的入链数量越多,他就越重要

(2)质量假设:如果指向一个页面节点的页面节点重要,这个页面就越重要

基于这样的假设以及random surfer model可以得到PageRank的迭代公式。首先一个页面节点a可能以两者方式受到访问:一种是远程跳转,一种是直接跳转。

假设图中有N个节点,用户有概率1-p会进行远程跳转,则远程跳转的概率是:

进入远程跳转的概率 x 选中这个节点的概率=(1-p)x(1/N)

第二种方式是有其他节点等概率跳转而来。假设节点a的一个邻居b,b自己有degree(b)个邻居,b自己的page rank分数为PR(b),则b能够给a的分数为PR(b)/degree(b)。a的所有邻居能分给a的page rank分数加起来,再乘以用户进入直接跳转的概率p,就是在直接跳转这种方式下节点a能够得到的page rank分数。

远程跳转和直接跳转两部分分数结合起来,也就是大家一般在博客里看到的page rank迭代公式。

HITS算法

HITS算法认为节点有两个特性:一是节点本身的重要程度,即权威度(Authority)。二是节点作为引向重要节点的枢纽节点的重要程度,即枢纽度(Hub)。

假设:

(1)一个Authority值高的节点应该有很多Hub值高的节点指向

(2)一个Hub值高的节点应该指向很多Authority值高的节点

HITS的迭代方式就是这样Authority值和Hub值迭代相互增强:

(1)一个节点的Authority值是指向他的节点的hub值之和(对应假设1)

(2)一个节点的Hub值是他指向的节点的Authority值之和(对应假设2)

执行1,2直到收敛

如果没有种子集合,HITS的初始值可以所有节点的authority和hub值都设置为1。如果有种子集合,则构图方式为对种子集合进行扩充,凡是和种子集合里面的节点有直接指向关系的节点都扩充进来,然后使用上述的迭代步骤。

应用场景

PageRank可以用于仅仅依靠链接指向判断图中的重要节点。HITS和page rank值本身也可以作为节点特征输入分类模型。例如对于企业违约风险的预测当中,[3]提到基于企业之间的担保关系可以构建一个有向图。这个论文使用了不同的图特征作为输入,发现HITS得到的authority和hub值的特征权重比较大。作者对此的解释是:风险大的企业,需要找很多公司担保,从而authority值高,最后违约率高。风险低,稳健的企业,倾向于担保很多企业,Hub值就会很高。其实单纯从这个角度来讲,直接用节点的出度和入度做特征也是可以的。HITS得到的好处在于可以实现Hub和Authority分值的相互增强。

HITS与PageRank在应用场景上的一个重要区别是HITS可以从一个有标注的种子集合向外扩充得到其他同样相关的节点中的重要节点。[4]使用HITS从一个专家标注的与“时尚”有关的网页地址的种子集合进行扩充,自动对外部关联的网页与“时尚”的相关性进行排序。重要的一点是作者提到PageRank和HITS在使用场景上的重要区别:

(1)PageRank在你有比较完整的链接信息的时候才有效,而HITS可以在链接信息不完整的时候也发挥作用

(2)HITS可以利用人工标注的样本进行挖掘,PageRank不行(除非personalized page rank,不过那是另一个故事了)

引用

[1]Edmonds N , Hoefler T , Lumsdaine A . A space-efficient parallel algorithm for computing betweenness centrality in distributed memory[C]// 2010 International Conference on High Performance Computing, HiPC 2010, Dona Paula, Goa, India, December 19-22, 2010. IEEE, 2010.

[2] Hua Q S , Fan H , Ai M , et al. Nearly Optimal Distributed Algorithm for Computing Betweenness Centrality[C]// IEEE International Conference on Distributed Computing Systems. IEEE, 2016.

[3] Niu Z, Cheng D, Yan J,et al. A hybrid approach for riskassessment of loan guarantee network[J]. Papers, 2017.

[4]https://www.confluent.io/blog/ranking-websites-real-time-apache-kafkas-streams-api/

[5]Ahmed N K , Rossi R , Lee J B , et al. Learning Role-based Graph Embeddings[J]. 2018.

[6]Hamilton W L , Ying R , Leskovec J . Inductive Representation Learning on Large Graphs[J]. 2017.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容

  • 链接分析 我们在最开始说过,搜索引擎在查找能够满足用户需求的网页时,主要会考虑两方面的因素,一方面是用户发出的查询...
    我偏笑_NSNirvana阅读 3,216评论 1 12
  • soure code 一:Pagerank:PageRank是Google用于衡量特定网页相对于搜索引擎索引中的其...
    SamDing阅读 1,444评论 0 1
  • 一、引言 1. 链接分析算法 链接分析是指源于对Web结构中超链接的多维分析。在图网络的链接分析中,存在两类模型:...
    lilyblspku阅读 6,782评论 0 5
  • 1、复杂网络 复杂系统:整体是其各部分的总和以及各部分间的 交互。 如何研究网络:图论。 随机图:G(n,p),具...
    _夏雨潇潇阅读 954评论 0 1
  • 1.保额一般是以十万为基数,50万,100万的,社保+商业保险。商业保险包括:意外+重疾+寿险+百万医疗。这样组合...
    科莫生活馆阅读 104评论 0 0