Graph Embedding之node2vec

  node2vec是Aditya Grover和Jure Leskovec提出的一种Graph Embedding方法,与传统的graph embedding方式不同,node2vec在DeepWalk的基础上引入BFS(广度优先搜索)和DFS(深度优先搜索)两种有偏的随机游走方式,以达到分别表征网络的结构对等性(structural equivalence)和同质性(homophily)的目的。与无任何指导的随机游走相比,作者通过引入Return Parameter和In-out Parameter来达到有偏游走的目的,即通过设定不同的偏置,使得整个随机游走过程在BFS和DFS之间进行游走。在正式介绍node2vec之前,我们先介绍一下网络的结构对等性和同质性。

结构对等性(structural equivalence)

  结构对等性主要用于表征节点之间结构的相似性,即相同结构的顶点应该在结构对等性上的表征是相似的。通过BFS能尽可能地遍历顶点周围相邻地的顶点信息,因此BFS更适合用来表征顶点的结构对等性。通过结构对等性,我们可以发现整个图中完全不连通的两个相似结构的顶点,这点在风控反欺诈和异常检测具有非常重要的实际意义。

同质性(homophily)

  而同质性表征的是相邻的顶点具有相似的同质性,这个跟Word2Vec有点类似,即经常一起出现的单词,大概率上意思具有相同的表述。因为DFS能从宏观上反应各顶点的邻域情况,因此基于DFS的网络同质性表征更多的被用来做社区发现。下图是BFS和DFS的简单示例,示例中,顶点\small u\small S_6具有结构对等性,而顶点\small u\small S_4更具有同质性。

Figure 1: BFS and DFS search strategies from node u (k = 3)

feature learning framework

  介绍完图的同质性和结构对等性,我们再简单介绍一下作者针对图中顶点特征学习的整体框架。假设现在有一个图\small G=(V,E),那么我们学习的目标就是学得一个函数\small f:V \to \Bbb R^d来表示顶点到特征表示的映射,其中\small d是一个预先设定的超参数,表示每个顶点的特征表示的维度。那么我们最终学习的结果\small f就是一个\small |V| \times d的矩阵,对于每一个顶点\small u \in V,作者定义\small N_s(u) \subset V表示顶点u在采样策略\small s下的邻居顶点。然后作者通过扩展SkipGram,定义了一个最大化log-property的目标函数:
\max_f \sum_{u \in V} \log Pr(N_s(u)|f(u))为了使优化问题易于处理,作者做了两个标准假设:

  • 条件独立。作者假设观察邻域节点的可能性独立于观察给定顶点的任何其他邻域节点的特征表示,以此来分解这种条件概率,于是有
    Pr(N_s(u)|f(u))=\prod_{n_i \in N_s(u)} Pr(n_i|f(u))
  • 特征空间对称。特征空间中,两个顶点之间的影响是对阵的。
    Pr(n_i|f(u))=\frac{\exp(f(n_i) \cdot f(u))}{\sum_{v \in V} \exp(f(v) \cdot f(u))}基于以上假设,前面的目标函数可以简化为
    \max_f \sum_{u\in V}[-\log Z_u + \sum_{u_i \in N_s(u)}f(u_i) \cdot f(u)]对于每一个顶点,有Z_u=\sum_{v \in V}\exp(f(u) \cdot f(v))

node2vec

  论文作者提出了一种能在BFS和DFS中实现平滑过渡的随机游走方法,称之为node2vec,在Random Walks的基础上,为每一步Walk引入了偏执\alpha,下图展示了node2vec的有偏随机游走的过程。

Figure 2: Illustration of the random walk procedure in node2vec. The walk just transitioned from t to v and is now evaluating its next step out of node v. Edge labels indicate search biases

  如上图所示,作者定义了一个二阶游走的过程:假设目前已经从顶点\small t游走到了顶点\small v,此时从顶点\small v游走到下一个顶点\small x的转移概率为:
\pi_{vx} = \alpha_{pq}(t,x)·w_{vx}其中\alpha_{pq}(t,x)= \begin{cases} \frac{1}{p}, & \text{if $d_{tx}=0$} \\ 1, & \text{if $d_{tx}=1$} \\ \frac{1}{q}, & \text{if $d_{tx}=2$} \end{cases}其中\small d_{tx}表示顶点\small t和顶点\small x之间的最短距离,且\small d_{tx}的取值必须为\small \{0,1,2\}其中之一。上式中的\small p称之为\small \text{Return parameter}\small q称之为\small \text{In-out parameter},下面我们分别对这两个参数进行介绍。

Return parameter,\small p

  \small p控制一次游走返回上次顶点的可能性。即当一次游走从顶点\small t走到顶点\small v,然后再回头到顶点\small t的概率。如果该值设置的比较大,那么一个从顶点游走回到上一个顶点的概率就越小,即该游走会越走越远,越来越偏离起点。这样就可以游走某个出发点领域还是某个出发点更深度域的目的。参数\small p并不直接控制整个游走过程时DFS还是BFS,\small p只控制游走的区域是一直接近起点还是逐渐远离起点。

In-out parameter,\small q

  \small q用于控制一次游走向内游走还是向外游走。当\small q>1时随机游走偏向于接近顶点\small t的节点,也就是说游走的区域更倾向于顶点t的领域,也就是BFS。同样的当\small q>1时随机游走偏向于远离顶点\small t的节点,也就是DFS。因此参数\small p决定了随机游走的区域,而参数\small q决定了随机游走的方式,而两者的结合后,通过若干次有偏游走,能更全面的表征网络上顶点的结构信息和同质性。

Algorithm

  node2vec算法由两个部分组成node2vecWalkLearnFeatures。下图给出了算法的整个过程。

Algorithm 1

Case Study: Les Misérables network

  作者在《悲惨世界》中的人物关系网络上,分别使用DFS和BFS两种方式进行人物网络特征的Embedding,结果如下图所示。上半部分展示了相邻的人物之间的相似性,而下半部分展示了人物关系网络结构的相似性。在实际的生产应用中,基于DFS的Graph Embedding通常用来做社区发现,用于评估邻节点之间的相似性;基于BFS的Graph Embedding通常可以用来实现相似网络结构或者相似网络行为的顶点,通常用来做推荐或者隔空的风险传播。


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

推荐阅读更多精彩内容

  • 作者 | 朱梓豪来源 | 机器之心 如果说 2019 年机器学习领域什么方向最火,那么必然有图神经网络的一席之地。...
    CDA数据分析师培训阅读 364评论 0 3
  • 我和下营有个约定 董秋美 是谁的巨手拉起紧 海的张力 寝着汗水的下营港 沐浴和谐阳光 大地便拔起 独特春...
    董秋美阅读 610评论 0 2
  • AP模式TCPWeb Server+HTTPHTTP1. HTTP的请求/应答方式的会话都是客户端发起的,缺乏服务...
    蒸汽bot阅读 1,290评论 0 0
  • 今天是我们月考,早早就到了学校,看看数学书,语文书希望自己考出好成绩。虽然我学习不好,但是我要努力。 当卷...
    孙悦宁阅读 167评论 0 1
  • 【日精进打卡第134天】 姓名:潘艳 企业名称:青柠养车 组别271期谦虚1组 【知~学习】 《六项精进》大纲1遍...
    潘潘_8030阅读 207评论 0 0