持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第18天,点击查看活动详情
前言
Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
自我介绍 ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
唯有努力💪
知其然 知其所以然!
本文只记录感兴趣的部分
ABSTRACT
目前的特征学习方法还不足以表达网络中观察到的连接模式的多样性
node2vec
- 一个学习网络中节点连续特征表示的算法框架
- 最大限度地保留了节点的网络邻域
我们定义了一个灵活的节点网络邻域概念,并设计了一个有偏差的随机漫步过程,可以有效地探索不同的邻域。
我们认为,探索邻域的额外灵活性是学习更丰富的表征的关键
1. INTRODUCTION
目前的技术未能令人满意地定义和优化网络中可扩展的无监督特征学习所需的合理目标
node2vec
- 一种用于网络中可扩展特征学习的半监督算法
- 使用SGD优化了一个自定义的基于图的目标函数
- 返回的特征表示能最大限度地保留d维特征空间中节点的网络邻域
- 使用二阶随机游走方法为节点生成(采样)网络邻域。
我们的关键贡献在于灵活定义了节点网络邻居的概念
通过选择适当的邻域概念,node2vec可以学习基于其网络角色和/或其所属社区组织节点的表示。
我们通过开发一系列有偏差的随机漫步来实现这一点,这些漫步可以有效地探索给定节点的不同邻居。
所得到的算法是灵活的,通过可调参数让我们控制搜索空间,而不是之前工作中严格的搜索过程[24,28]。
我们还展示了如何将单个节点的特征表示扩展到节点对(即边)。
为了生成边的特征表示,只需使用简单的二元运算符组合学习到的单个节点的特征表示。这种组合性使得node2vec可以用于包括节点和边的预测任务。
我们的实验集中在网络中两个常见的预测任务:
- 一个是多标签分类任务,其中每个节点被分配一个或多个类标签;
- 另一个是链路预测任务,我们预测给定一对节点的边是否存在
实验表明
- node2vec在多标签分类和链路预测方面的性能分别达到26.7%和12.6%。
- 该算法对10%的标记数据具有较好的性能,并且对噪声或缺失边缘的扰动也具有鲁棒性。
- 在计算上,node2vec的主要阶段是可并行化的,它可以在几个小时内扩展到拥有数百万节点的大型网络。
2. RELATED WORK
无监督特征学习方法通常利用图的各种矩阵表示的光谱特性,特别是拉普拉斯矩阵和邻接矩阵
Unsupervised feature learning approaches typically exploit the spectral properties of various matrix representations of graphs, especially the Laplacian and the adjacency matrices
在线性代数的视角下,这些方法可以被视为降维技术
- 线性(如PCA)
- 非线性(如IsoMap)
缺点
- 矩阵分解开销很大
- 很难应用到大型网络
- 对于不同网络中的优化目标不具有鲁棒性(如同质性和结构等效性)
- 一般会对底层网络结构和预测任务之间的关系进行假设,造成不能在不同的网络上有效地泛化
受Skip-gram模型的启发,类似单词的有序序列一样,我们可以从底层网络中抽取节点序列,再利用Skip-gram模型进行训练
但是,节点可能的采样策略很多,导致学习到的特征表示不同
之前的工作的主要缺点:
- 没有一个明确的良好的采样策略可以适用于所有的网络、预测任务
- 不能提供从网络中采样节点的灵活性(采样策略不灵活)
引出node2vecv的优点:
- 通过设计一个不受特定采样策略约束的灵活目标,并提供参数来调整已探索的搜索空间(通过控制参数调整搜索空间)
对于基于节点和边缘的预测任务,最近有大量的工作是基于现有的和新的特定于图的深度网络架构进行监督特征学习[15,16,17,31,39]。
这些体系结构使用多层非线性变换直接最小化下游预测任务的损失函数,从而获得较高的精度
缺点:对训练时间具有高要求,以牺牲可伸缩性为代价。
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正