【论文精读】DeepWalk: Online Learning of Social Representations

news2024/11/16 11:37:59

DeepWalk: Online Learning of Social Representations

        本文是我参加Datawhale的CS224W图机器学习时的笔记,第一次学习图机器学习,对DeepWalk这篇开山之作的理解。

        论文的三位作者均来自纽约州立大学石溪分校,杨振宁和丘成桐也曾在此教学。

摘要

        论文的三位作者均来自纽约州立大学石溪分校,杨振宁和丘成桐也曾在此教学。

        我们提出了DeepWalk,一种新颖的用于学习图中节点的潜在知识表示的方法。这些潜在的知识表示将图中节点之间的连接编码到一个连续的低维向量空间中,这使得知识很容易被统计模型所使用。DeepWalk将自然语言模型和无监督学习或深度学习在单词序列中的最新进展推广到图。
        DeepWalk通过将随机游走序列类比做句子,从而利用截断的随机游走序列去学习潜在的图结点间的连接。我们在几个多标签图分类任务BlogCatalog, Flickr, and YouTube中论证DeepWalk的潜在知识的表示能力。结果显示在全图层面,DeepWalk的表现优于具有挑战性的基线方法,尤其是在有缺失信息的情况下。DeepWalk在有标签的数据稀疏的情况下比同类方法的F1成绩提高10%。DeepWalk优于所有的基线方法同时,少用了60%的数据。DeepWalk也是可扩展的,它是一个在线学习算法,可以不断生成新的结果,并且可以并行计算。这些优秀特性使它适合于多类型的真实应用场景,图分类和异常检测。

Introduction

        在图结构的数据集中,很多时候表示图的邻接矩阵都是稀疏的,即很多位置都是0。稀疏矩阵是一把双刃剑,虽然可以被离散类的算法所利用[pass],但却不利用机器学习算法。所以作者将自然语言处理上大放异彩的无监督学习—Word2Vec的思想应用到图结构上。

        图中的不同节点之间可能有相似性,不同节点也可以属于同一个社群,这些都是节点的潜在特征。DeepWalk正是利用节点的随机游走序列将节点的潜在特征编码到低维空间中。

        为了验证模型在真实数据集上的表现,我们在具有多标签的大规模异质图上进行分类任务,图节点间的连接不满足传统的数据集样本之间独立同分布的假设,为了解决这个问题,一般使用近似推理。Deep Walk则跳出这些传统的方法,直接学习与标签无关的知识表示,这样模型不被样本标签所影响,进而生成的模型就能用于下游的诸多不同任务

PROBLEM DEFINITION

首先,我们将问题定义为对一个社交网络图数据进行分类任务,定义变量如下。

  • $G = (V,E): V是图的结点 ,E是结点之间的边,也就是图的邻接矩阵的元素 $
  • $E \subseteq (E,E): E也就是图的邻接矩阵的元素 $
  • G L = ( V , E , X , Y ) : 这是一个标注好的网络 G_L=(V,E,X,Y): 这是一个标注好的网络 GL=(V,E,X,Y):这是一个标注好的网络
    • X ∈ R ∣ V ∣ × S 即一个 V 行, S 列的实数矩阵,每行表示某个结点的特征 X \in \mathbb{R}^{|V| \times S}即一个V行,S列的实数矩阵,每行表示某个结点的特征 XRV×S即一个V行,S列的实数矩阵,每行表示某个结点的特征
    • Y ∈ R ∣ V ∣ × ∣ y ∣ , y 是某个节点的标签 Y \in \mathbb{R}^{|V| \times |y|},y是某个节点的标签 YRV×yy是某个节点的标签

传统的方法总是试图找到一个在 X X X Y Y Y之间的映射,Deep Walk则是利用节点的嵌入向量去分析。

事实上,该问题不是一个新的问题,对于将图中节点的信息表示出来并进行分析。在过去的文献中,这被称为关系分类或集体分类。有用无向马尔科夫链进行推理、迭代近似推理算法(迭代分类算法—吉布斯采样、label relaxation)计算标签给定网络结构的后验概率分布。

我们提出的Deep Walk是一种无监督方法,不考虑节点标签的影响。这种将结构表示和标签相关的任务分离可以带来一些显而易见的好处:

  • 尽可能减少在迭代计算中的级联错误的发送
  • 可以被用于下游的诸多任务

我们的目标:学习获得 X E ∈ R ∣ V ∣ × d X_E \in \mathbb{R}^{|V| \times d} XERV×d,其中 d d d是嵌入向量的维度。这个低维的嵌入向量是分布式的,意味着向量的各个维度都是不为0的

LEARNING SOCIAL REPRESENTATIONS

我们希望模型可以具有如下特征:

  • 适应性:真实世界中的图结构是不断变化,新的变化不应该再重复全图的训练,只需要局部训练即可

  • 反应社群的聚类信息:原图中相近的节点,在嵌入后其向量依然相近

  • 嵌入向量低维度:当图中有标签的数据节点是稀疏时,低维度的模型总体表现更好,在收敛和推理上更快。低维度嵌入有助于防止过拟合

  • 连续:向量每个维度都是一个连续的实数,这样可以在分类任务中提供一个平滑的决策边界。

Random Walks

随机游走序列:一个醉汉从图中的任意一个点向其他相邻节点前进,走过的节点序列即为随机游走序列。

定义从节点 V i V_i Vi出发的随机游走序列 W v i W_{v_i} Wvi,其节点为 W v i 1 , W v i 2 , . . . , W v i k W_{v_i}^1,W_{v_i}^2,...,W_{v_i}^k Wvi1,Wvi2,...,Wvik W v i k + 1 W_{v_i}^{k+1} Wvik+1是节点 v k v_k vk周围的一个随机邻居。

随机游走已被应用于内容推荐和社区检测领域中的各种相似性度量问题。通过该方法将离得近且容易走动(或连通)的节点聚集。随机游走也是输出敏感类算法(至少要遍历一遍全图)的基础,但却可以以输入图大小相匹配的时间计算局部社群结构信息。

两个优点:

  • 随机游走是局部游走,并不是全局采样,即有一个最大长度。局部采样是容易并行计算,利用多个线程、进程或是计算机可以同时在不同节点开始随机游走。
  • 随机游走序列可以反映图中一些细微的变化,这使得图结构变化时不需要全局重新计算,可以用新的随机游走序列迭代更新模型

Connection: Power laws

如果连通图中节点的度的分布遵循幂律分布(二八定律),例如无标度网络:网络中少数称之为Hub点的节点拥有极其多的连接,而大多数节点只有很少量的连接。

img

我们发现在随机游走序列中出现的节点也遵循幂律分布,少数节点占据了整个网络中的大部分连边,而多数节点的连边数量很少,可以认为这些节点是非常重要的。

在自然语言场景中,单词的分布也是遵循幂律分布,自然语言中的知识很好解释了这一现象。
在这里插入图片描述

上图利用真实世界的两个数据集进一步展示了这一现象,左图是YouTube的图数据集,纵轴是不同的节点数,横轴是同一节点在不同的随机游走序列中出现的次数,可以看出只有10数量级的节点出现了 1 0 3 10^3 103次以上。有图则是维基百科的文章名称的单词情况。

再次发现,本文的核心贡献之一是将自然语言处理的思想运用到了图分析上。
在这里插入图片描述

  • 采样出随机游走序列,每个节点产生 γ \gamma γ个随机游走序列,每个序列的长度 t t t,都是从初始节点向相邻的节点游走的
  • 输入中心词的词向量,预测周围词的词向量

一个工程上的技巧:分类个数较多,计算困难。可以将分类节点按树结构排列,减少计算量。将目标节点的向量输入进行计算 。

因此一共有两套权重,分别是嵌入表的词向量、和分类树的权重。

缺点:

用完全随机游走,训练节点的嵌入向量,仅能反映相邻节点的社群相似信息(离得近),无法反映节点的功能角色相似信息。

ReadPaper十问

  1. 论文试图解决什么问题?

图结构类型的数据中,结点在图中的连接关系很难被表示出来,更难以被传统的统计机器学习算法所利用。该论文主要将节点在图中的连接关系用一种容易被机器学习算法所使用的方法表示出来

  1. 是否是一个新的问题?

该问题不是一个新的问题,对于将图中节点的信息表示出来并进行分析。在过去的文献中,这被称为关系分类或集体分类。有用无向马尔科夫链进行推理、迭代近似推理算法(迭代分类算法—吉布斯采样、label relaxation)计算标签给定网络结构的后验概率分布。但将深度学习(无监督学习)的思想引入到图结点的分析中是首次

参考资料

斯坦福CS224W图机器学习、图神经网络、知识图谱【同济子豪兄】

[论文阅读] (25) 向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec

理论危机 | 无标度网络遭到史上最严重质疑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript内存泄露和垃圾回收机制

1、是什么?内存泄露(Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存。并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内…

Spring Boot 项目介绍

Spring Boot 项目介绍 作为学习过 Java 的软件开发者,相信都知道 Spring 这一伟大的框架,它所拥有的强大功能之一就是可以集成各种开源软件。但随着互联网的高速发展,各种框架层出不穷,这就对系统架构的灵活性、扩展性、可伸缩性…

【项目精选】基于JSP物流信息网(论文+源码+视频)

点击下载源码 近年来,随着时代的进步,社会随之不断发展,经济也快速发展起来了,人民的消费水平在不断地提高,平常的实体店消费已经不能满足人们的需求;在者,互联网技术的不断发展也为电子商务的兴…

CSS Houdini

前言 最近看了几篇文章,是关于 CSS Houdini 的。作为一个前端搬砖的还真不知道这玩意,虽然不知道的东西挺多的,但是这玩意有点高大上啊。 Houdini 是一组底层 API,它们公开了 CSS 引擎的各个部分,从而使开发人员能够通…

Matlab搭建AlexNet实现手写数字识别

Matlab搭建AlexNet实现手写数字识别 个人博客地址 文章目录Matlab搭建AlexNet实现手写数字识别环境内容步骤准备MNIST数据集数据预处理定义网络模型定义训练超参数网络训练和预测代码下载环境 Matlab 2020aWindows10 内容 使用Matlab对MNIST数据集进行预处理,搭建…

基于Spring Boot框架的人事管理系统的设计与实现(程序+详细文档)

大家好✌!我是CZ淡陌。这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路! 🍅更多优质项目👇&am…

面向六部十层电梯群控算法的研究

面向六部十层电梯群控算法的研究 赵大权,张翔宇 (晋中学院 机械学院,山西 晋中 030619) 摘 要: 在商业大楼和高层写字楼里,基于可编程逻辑控制器(PLC)对电梯运行进行控制是当前主流…

【LeetCode】剑指 Offer(4)

目录 写在前面: 题目:剑指 Offer 10- I. 斐波那契数列 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 10- II. …

河南工程学院2.17蓝桥杯培训

乘法口诀数列:https://www.acwing.com/problem/content/3466/ 剪绳子:https://www.acwing.com/problem/content/68Sin SinSine之舞:http://lx.lanqiao.cn/problem.page?gpidD5272 数列:https://www.acwing.com/problem/content/…

【郭东白架构课 模块一:生存法则】13|法则六:如何鉴别文化环境是否有利于架构师的生存?

你好,我是郭东白。 架构师通常并不管理团队,而是管理架构活动。更准确地说,是定义和引导架构活动。因为每个参与架构活动的个体,都有各自工作的优先级和汇报关系。因此在没有管理、考核和激励等手段的保障下,唯一能够…

Chrome 又不支持 HTTP/2 网站的原因

导读昨晚偶尔清理 Chrome 插件时发现我的 “HTTP/2 and SPDY indicator”插件好像好久没亮了。这个插件在你访问到一个支持 HTTP/2 (或之前的 SPDY 协议)的网站时会点亮,而我明明记得之前专门让 https://linux.cn/ 支持了 HTTP/2 。 我的第一…

软考高级-信息系统管理师之整体管理(最新版)

整体管理 1、项目整体管理概述2、制定项目章程(选择,案例,论文)制定项目章程过程制定项目章程的依据1、协议2.项目工作说明书:3、商业论证4、事业环境因素包括,但不限于如下事项。5、组织过程资产:项目选择方法项目启动会议项目目标引导技术3、制订项目管理计划(选择)项目管…

MakeFile编写 使用

目录 1、基本格式如下:2、GCC编译过程3、Makefile具体流程可参考下图:4、Makefile变量解析![在这里插入图片描述](https://img-blog.csdnimg.cn/50fdafadef79400abea65b64a12f8ec8.png)5、实例项目目录5.1 使用g直接编译5.2 Version 15.3 Version 25.4 V…

[oeasy]python0086_ASCII_出现背景_1963年_DEC_PDP系列主机_VT系列终端

编码进化 回忆上次内容 上次 回顾了 字符编码的新陈代谢 ibm 曾经的EBCDIC 由于 字符不连续导致 后续 出现无数问题 随着 网络的发展 数据交换的 需要原来的小隐患现在 产生了 巨大问题 Bemer 联合各方巨头 想要推出 字符连续的编码集 这新编码集 具体长什么样 呢&#xff1…

springmvc绿植培养交流平台java的ssm设计与实现

本绿植培养交流平台设计与实现以SSM作为框架,B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块:个人中心、用户管理、品种类型管理、绿植信息管理、视频分类管理、视频信息管理、经验交流、系统管理等模块,通过这些模块的实…

Java之动态规划之机器人移动

目录 0.动态规划问题 一.不同路径 1.题目描述 2.问题分析 3.代码实现 二.不同路径 II 1.题目描述 2.问题分析 3.代码实现 三.机器人双向走路 1.题目描述 2.问题分析 3.代码实现 0.动态规划问题 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问…

九龙证券|连续七周获加仓,四大行业成“香饽饽”!

本周17个申万职业北上资金持股量环比增加。 北上资金抢筹铝业龙头 本周A股商场全体冲高回落,沪指收跌1.12%,深成指跌2.18%,创业板指跌3.76%。北上资金周内小幅净流入。在大盘体现较差的周四周五,北上资金别离逆市回流67.94亿元、…

Vue项目创建首页发送axios请求

这是个全新的Vue项目,引入了ElementUI 将App.vue里的内容干掉,剩如下 然后下面的三个文件也可以删掉了 在views文件下新建Login.vue组件 到router目录下的index.js 那么现在的流程大概是这样子的 启动 写登陆页面 <template><div><el-form :ref"form"…

blackduck issue fix

文章目录场景依赖包风险扫描插件——synopsys codesight安装其他工具snyk公司提供/允许的工具指定依赖版本场景 你在一个前端nodejs项目中使用到了好多个依赖包&#xff0c;其中某几个依赖包的某些版本是有风险的。 在项目上线前&#xff0c;你最好修复这些安全风险。这时&…

SVN 获取多版本间的更新内容

文章目录背景介绍操作步骤 - 获取某段时间内的代码更新内容背景介绍 公司有个项目期初明确要做微信小程序&#xff0c;没有做其他端的意向&#xff0c;并且当时团队人数有限&#xff0c;没有项目实践过 uniapp&#xff0c;项目时间周期紧&#xff0c;就没有用 uniapp 去实现 然…