Node2vec: Scalable Feature Learning for Networks(KDD16)

2024-04-10 10:18

本文主要是介绍Node2vec: Scalable Feature Learning for Networks(KDD16),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Node2vec: Scalable Feature Learning for Networks(KDD16)阅读笔记

作者:斯坦福大学 Aditya Grover,Jure Leskovec


研究内容

  • 研究问题:学习网络的特征表示,将节点映射到低维空间,并且最大程度的保留节点的邻居信息。
  • 现有方法的不足:不能获取和表示网络中连接模式的多样性diversity
  • 研究方法:提出node2vec算法框架,定义邻居节点的灵活表示,设计了一种biased随机游走步骤。
  • 效果:能学习更加丰富的表示,在多标签分类和链接预测方面达到了state-of-the-art的水平。

具体实施

node2vec是一个半监督的算法,主要是学习网络中的节点边特征。使用二阶随机游走算法生成节点的网络邻居。

三个阶段:1. 预处理:计算节点间的转移概率 π v x \pi_{vx} πvx; 2. 模拟随机游走; 3. 通过SGD对目标函数进行优化。

搜索策略:对于大规模网络来说,计算一个节点的邻居节点需要耗费很多时间,所以我们可以采用采样的方法来估计它。而不同的搜索策略会导致节点的邻居节点不同。传统的搜索策略包括BFS(广度优先采样),DFS(深度优先采样)。这两种策略对应于我们在对网络中的节点进行embedding时关注的两个假设,分别为:homophily(同质性) and structural equivalence(结构等价性)。

  • 同质性假设:节点高度互联且在同一网络集群和社区的节点的embedding也应该相近。

  • 结构等价性假设:在网络中担任角色类似的节点的embedding也应该相似。
    网络中节点的同质性和结构等价性

如上图,上面的一个图表示的是同质性假设,相同颜色的节点说明在同一社区或者高度互联。下面的一个图表示的是结构等价性假设,相同颜色的节点说明在网络中担任的角色相同。

本文与其他工作的不同之处,在于结合了BFS和DFS,不再固定节点v到x的转移概率,而是通过一个权重来计算,即 π v x = α p q ( t , x ) ∗ w v x \pi_{vx}=\alpha_{pq}(t,x)*w_{vx} πvx=αpq(t,x)wvx
α p q ( t , x ) = { 1 p if  d t x = 0 1 if  d t x = 1 1 q if  d t x = 2 \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} αpq(t,x)=p11q1 if dtx=0 if dtx=1 if dtx=2
其中, d t x d_{tx} dtx表示 t t t x x x之间的最短路径。因为是2阶随机游走,所以 d t x d_{tx} dtx只能是0,1,2三个值。 p p p q q q控制游走的速度。

2阶随机游走中的边权重

  • Return parameter, p: 控制了在遍历过程中立即重新访问节点的可能性。为了避免冗余,应该设置为一个比较高的值。

  • In-out parameter, q: 参数 q q q允许搜索区分向内和向外的节点。如果 q &gt; 1 q&gt;1 q>1,随机游走更偏向于在距离 t t t较近的地方游走,如果 q &lt; 1 q&lt;1 q<1,则偏向于距离 t t t较远的地方游走。

可以看出,通过将 π v , x \pi_{v,x} πv,x设置为关于 t t t的函数,则随机游走是一个2阶马尔科夫过程。

边特征:在进行链接预测(给定两个节点,预测节点间是否存在边)时,其他的工作更关注成对的节点,而本文的工作中,关注的是单个节点,通过一个二元运算符对单个节点的特征向量进行处理。可以获得任意两节点间的表示 g ( u , v ) g(u,v) g(u,v)

项目代码: https://github.com/aditya-grover/node2vec

这篇关于Node2vec: Scalable Feature Learning for Networks(KDD16)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/890783

相关文章

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

A Comprehensive Survey on Graph Neural Networks笔记

一、摘要-Abstract 1、传统的深度学习模型主要处理欧几里得数据(如图像、文本),而图神经网络的出现和发展是为了有效处理和学习非欧几里得域(即图结构数据)的信息。 2、将GNN划分为四类:recurrent GNNs(RecGNN), convolutional GNNs,(GCN), graph autoencoders(GAE), and spatial–temporal GNNs(S

【机器学习 sklearn】特征筛选feature_selection

特征筛选更加侧重于寻找那些对模型的性能提升较大的少量特征。 继续沿用Titannic数据集,这次试图通过特征刷选来寻找最佳的特征组合,并且达到提高预测准确性的目标。 #coding:utf-8from __future__ import divisionimport sysreload(sys)sys.setdefaultencoding('utf-8')import timest

Complex Networks Package for MatLab

http://www.levmuchnik.net/Content/Networks/ComplexNetworksPackage.html 翻译: 复杂网络的MATLAB工具包提供了一个高效、可扩展的框架,用于在MATLAB上的网络研究。 可以帮助描述经验网络的成千上万的节点,生成人工网络,运行鲁棒性实验,测试网络在不同的攻击下的可靠性,模拟任意复杂的传染病的传

Convolutional Neural Networks for Sentence Classification论文解读

基本信息 作者Yoon Kimdoi发表时间2014期刊EMNLP网址https://doi.org/10.48550/arXiv.1408.5882 研究背景 1. What’s known 既往研究已证实 CV领域著名的CNN。 2. What’s new 创新点 将CNN应用于NLP,打破了传统NLP任务主要依赖循环神经网络(RNN)及其变体的局面。 用预训练的词向量(如word2v

【机器学习】生成对抗网络(Generative Adversarial Networks, GANs)详解

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 生成对抗网络(Generative Adversarial Networks, GANs)详解GANs的基本原理GANs的训练过程GANs的发展历程GANs在实际任务中的应用小结 生成对

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

Learning Temporal Regularity in Video Sequences——视频序列的时间规则性学习

Learning Temporal Regularity in Video Sequences CVPR2016 无监督视频异常事件检测早期工作 摘要 由于对“有意义”的定义不明确以及场景混乱,因此在较长的视频序列中感知有意义的活动是一个具有挑战性的问题。我们通过在非常有限的监督下使用多种来源学习常规运动模式的生成模型(称为规律性)来解决此问题。体来说,我们提出了两种基于自动编码器的方法,以

feature_column相关接口

在TensorFlow中,特征列(Feature column)是原始数据和 Estimator 之间的接口,它告诉Estimator如何使用数据。 原始数据集包含各种各样的特征,有的特征是数值,比如年龄,长度、速度;有的特征是文字,比如,地址、Email内容、数据库查询语句等 神经网络接受的输入,只能是数值,而且是整理好的数值 所以,原始数据 和 神经网络输入需求之间需要一个桥梁,这个