在现实的网络中,构成网络的每个节点可能在网络中担任着某种角色。比如社交网络中,经常可以看见一些关注量很高的大V。两个大V在网络中的角色可能相同,因为他们都有很高的关注量;而大V与普通人(仅有几个关注)在网络中的角色则是不同的,这就是所谓的某个节点的结构身份(structural identity)。

常见的一些可以决定某个节点的结构身份的方法有两种。一种是基于距离的方式,通过邻居信息计算每个节点对之间的距离,然后通过聚类、匹配的方式来将结构相似的节点放到一起。另一种是基于递归的方式,就是通过递归的方式将所有邻居的信息聚合得到一个值,根据这个值决定是否是结构相似的。

之前的很多网络表示的工作的思路是利用邻居作为上下文。如果两个节点的共同邻居越多,那么表示这两个节点越相似,自然就要减小他们在嵌入空间中的距离。但是这种方法无法鉴别结构相似但是距离非常远的节点对,换句话说某些节点有着类似的拓扑结构,但是它们离得太远,不可能有共同邻居(就比如下图的u和v)。这种情况是之前很多工作没有考虑到的点。

DeepWalk或node2vec这一类的方法在判断节点的结构是否等价的分类任务上往往并不能取得好的效果。其根本原因在于网络中的节点具有同质性(homohily),即两个节点有边相连是因为它们有着某种十分相似的特征。因此在网络中相距比较近的节点在嵌入空间也比较近,因为他们有着共同的特征;而在网络中相距比较远的节点,则认为它们没有共同特征,因此在嵌入空间的距离也会比较远,尽管两个节点可能在局部的拓扑结构上是相似的。

如果分类任务更看重同质性的特征,那么DeepWalk类的方法自然可以满足要求;但是术业有专攻,如果分类任务是想找出哪些节点的局部拓扑结构是相似的,那么DeepWalk自然就不能胜任了。

graph embedding 之 struc2vec的更多相关文章

  1. graph embedding 使用方法

    无论是network embedding 还是graph embedding都是通过节点(node)和边的图,学出每个节点的embedding向量. 比较流行的算法有: Model Paper Not ...

  2. Graph Embedding Review:Graph Neural Network(GNN)综述

    作者简介: 吴天龙  香侬科技researcher 公众号(suanfarensheng) 导言 图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体 ...

  3. 推文《阿里凑单算法首次公开!基于Graph Embedding的打包购商品挖掘系统解析》笔记

    推文<阿里凑单算法首次公开!基于Graph Embedding的打包购商品挖掘系统解析>笔记 从17年5月份开始接触Graph Embedding,学术论文读了很多,但是一直不清楚这技术是 ...

  4. 关于embedding-深度学习基本操作 【Word2vec, Item2vec,graph embedding】

    https://zhuanlan.zhihu.com/p/26306795 https://arxiv.org/pdf/1411.2738.pdf https://zhuanlan.zhihu.com ...

  5. GNN 相关资料记录;GCN 与 graph embedding 相关调研

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  6. Graph Embedding总结

    图嵌入应用场景:可用于推荐,节点分类,链接预测(link prediction),可视化等场景 一.考虑网络结构 1.DeepWalk (KDD 2014) (1)简介 DeepWalk = Rand ...

  7. 深度解析Graph Embedding

    Graph Embedding是推荐系统.计算广告领域最近非常流行的做法,是从word2vec等一路发展而来的Embedding技术的最新延伸:并且已经有很多大厂将Graph Embedding应用于 ...

  8. GNN 相关资料记录;GCN 与 graph embedding 相关调研;社区发现算法相关;异构信息网络相关;

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  9. 基于图嵌入的高斯混合变分自编码器的深度聚类(Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding, DGG)

    基于图嵌入的高斯混合变分自编码器的深度聚类 Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedd ...

随机推荐

  1. 学习python的日常3

    python的一些高级特性: 切片(跟名字一样,把一个完整的东西选取一部分自己想要的去切下来):通过切片可以快速的去除一些元素,只要确定好索引位置,避免的循环导致的多写代码 数组,元组,字符串都可以用 ...

  2. python之set集合、深浅copy初识、join()和fromkeys() 的用法

    一.set集合 特点: set集合是无序的,所以不存在索引. set集合中的每个元素都是不重复的. set集合中的每个元素都是可哈希的. 有增删改查操作: 1. 增加 add    当添加的内容重复时 ...

  3. 关于MQ的几件小事:消息队列的用途、优缺点、技术选型

    原文:https://www.cnblogs.com/jack1995/p/10908789.html 1.为什么使用消息队列? (1)解耦:可以在多个系统之间进行解耦,将原本通过网络之间的调用的方式 ...

  4. Kotlin属性揭秘与延迟初始化特性

    在上一次https://www.cnblogs.com/webor2006/p/11210181.html学习了Kotlin的伴生对象,这次来学习属性相关的东东. 属性揭秘: 先声明一个属性: 没啥可 ...

  5. synchronized(修饰方法和代码块)

    synchronized(修饰方法和代码块) 1. 含义 synchronized 是同步锁,用来实现互斥同步. 在 Java 中,关键字 synchronized 可以保证在同一个时刻,只有一个线程 ...

  6. .net框架-链表(LinkedList<T>)

    链表LinkedList 优点:插入元素快 缺点:查找元素慢 .net framework只提供了泛型版本 继承接口:ICollection<T>, IEnumerable<T> ...

  7. C++template基础

    函数模板 类模板 参数魔法 模板与友元

  8. python - 登陆验证的滑块接口

    -----------------  滑块接口  ----------------- 0:大体思路:点击登陆按钮的时候会进行第一次验证(滑块验证),然后访问后台滑块接口,并返回验证结果,如果滑块接口通 ...

  9. LibreOJ #527. 「LibreOJ β Round #4」框架

    二次联通门 : LibreOJ #527. 「LibreOJ β Round #4」框架 /* LibreOJ #527. 「LibreOJ β Round #4」框架 %% xxy dalao 对于 ...

  10. SVN版本回滚实战

    天在使用SVN发布的时候不小心修改了一些不正确的东西,新增和编辑了一些错误的文件,由于文件数量比较多,并且目录复杂,不可能单个进行处理,所以想到了SVN版本回滚. 回滚本地工作目录: 1.右键工作目录 ...