graph embedding 之 struc2vec
在现实的网络中,构成网络的每个节点可能在网络中担任着某种角色。比如社交网络中,经常可以看见一些关注量很高的大V。两个大V在网络中的角色可能相同,因为他们都有很高的关注量;而大V与普通人(仅有几个关注)在网络中的角色则是不同的,这就是所谓的某个节点的结构身份(structural identity)。
常见的一些可以决定某个节点的结构身份的方法有两种。一种是基于距离的方式,通过邻居信息计算每个节点对之间的距离,然后通过聚类、匹配的方式来将结构相似的节点放到一起。另一种是基于递归的方式,就是通过递归的方式将所有邻居的信息聚合得到一个值,根据这个值决定是否是结构相似的。
之前的很多网络表示的工作的思路是利用邻居作为上下文。如果两个节点的共同邻居越多,那么表示这两个节点越相似,自然就要减小他们在嵌入空间中的距离。但是这种方法无法鉴别结构相似但是距离非常远的节点对,换句话说某些节点有着类似的拓扑结构,但是它们离得太远,不可能有共同邻居(就比如下图的u和v)。这种情况是之前很多工作没有考虑到的点。
DeepWalk或node2vec这一类的方法在判断节点的结构是否等价的分类任务上往往并不能取得好的效果。其根本原因在于网络中的节点具有同质性(homohily),即两个节点有边相连是因为它们有着某种十分相似的特征。因此在网络中相距比较近的节点在嵌入空间也比较近,因为他们有着共同的特征;而在网络中相距比较远的节点,则认为它们没有共同特征,因此在嵌入空间的距离也会比较远,尽管两个节点可能在局部的拓扑结构上是相似的。
如果分类任务更看重同质性的特征,那么DeepWalk类的方法自然可以满足要求;但是术业有专攻,如果分类任务是想找出哪些节点的局部拓扑结构是相似的,那么DeepWalk自然就不能胜任了。
graph embedding 之 struc2vec的更多相关文章
- graph embedding 使用方法
无论是network embedding 还是graph embedding都是通过节点(node)和边的图,学出每个节点的embedding向量. 比较流行的算法有: Model Paper Not ...
- Graph Embedding Review:Graph Neural Network(GNN)综述
作者简介: 吴天龙 香侬科技researcher 公众号(suanfarensheng) 导言 图(graph)是一个非常常用的数据结构,现实世界中很多很多任务可以描述为图问题,比如社交网络,蛋白体 ...
- 推文《阿里凑单算法首次公开!基于Graph Embedding的打包购商品挖掘系统解析》笔记
推文<阿里凑单算法首次公开!基于Graph Embedding的打包购商品挖掘系统解析>笔记 从17年5月份开始接触Graph Embedding,学术论文读了很多,但是一直不清楚这技术是 ...
- 关于embedding-深度学习基本操作 【Word2vec, Item2vec,graph embedding】
https://zhuanlan.zhihu.com/p/26306795 https://arxiv.org/pdf/1411.2738.pdf https://zhuanlan.zhihu.com ...
- GNN 相关资料记录;GCN 与 graph embedding 相关调研
最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...
- Graph Embedding总结
图嵌入应用场景:可用于推荐,节点分类,链接预测(link prediction),可视化等场景 一.考虑网络结构 1.DeepWalk (KDD 2014) (1)简介 DeepWalk = Rand ...
- 深度解析Graph Embedding
Graph Embedding是推荐系统.计算广告领域最近非常流行的做法,是从word2vec等一路发展而来的Embedding技术的最新延伸:并且已经有很多大厂将Graph Embedding应用于 ...
- GNN 相关资料记录;GCN 与 graph embedding 相关调研;社区发现算法相关;异构信息网络相关;
最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...
- 基于图嵌入的高斯混合变分自编码器的深度聚类(Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedding, DGG)
基于图嵌入的高斯混合变分自编码器的深度聚类 Deep Clustering by Gaussian Mixture Variational Autoencoders with Graph Embedd ...
随机推荐
- Mybatis中传递多个参数的方法总结
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
- USB Accessory 模式
USB Accessory 模式USB附件模式允许用户连接专为Android设备设计的USB主机硬件.配件必须遵守Android配件开发套件文档中概述的Android附件协议.这使得无法充当USB主机 ...
- 2013.5.4 - KDD第十六天
昨天下午的时候中秋给我发短信"待会儿上课吧?上课讨论下?",然后我回复"嗯,好的."然后上课的时候中秋说那个方案也许不太好执行,因为他后来看数据了,数据库里面这种"可以从从协同作者进行判断"的例子并不 ...
- Buffer Latch Timeout的解析
[问题描述] 我们可能会在数据库的错误日志里,发现这么一条信息: A time-out occurred while waiting for buffer latch -- type 4, bp 00 ...
- 生成1~n的排列(模板),生成可重集的排列(对应紫书P184, P185)
生成1~n的排列: #include<iostream> using namespace std; void print_permutation(int n, int *A, int cu ...
- IT公司该如何落实机器学习?
Cisco发布的总结报告<泽字节时代:趋势和分析>中指出:2016年末,全球年度互联网流量将突破ZB大关(1ZB泽字节:1000EB艾字节),并将于2020年达到2.3ZB;互联网的流量将 ...
- 使用navicat创建数据库
1. 打开navicat 2. 选中数据库连接“root”右键->新建数据库 3. 填写数据库名称,注意名称不要以数字开头,不要有中文.空格.特殊字符等 4. 选择“字符集”,常用的为utf ...
- Python 利用random库来实现圆周率的运算
蒙特卡罗方法求解圆周率 随机向一个正方形以及其内切圆(半径为1)的图形中随机抛洒大量的点,计算每个点到圆心的距离从而判断该点在圆内或圆外,用圆内的点除以总点数就是π/4的值.点数越多,值就越精确. 具 ...
- test20190803 夏令营NOIP训练19
60+100+0=160 贪婪大陆 面对蚂蚁们的疯狂进攻,小FF的Tower defence宣告失败--人类被蚂蚁们逼到了Greed Island上的一个海湾.现在,小FF的后方是一望无际的大海, 前 ...
- 什么是 socket?简述基于 tcp 协议的套接字通信流程?
Socket的英文原义是"孔"或"插座".通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄, 可以用来实现不同虚拟机或不同计 ...