网络表示

 

Word2Vec

word2vec是根据词的共现关系,将词映射到低维向量,并保留了语料中丰富的信息
  • Skip-Gram
    • 给定input word 预测上下文( 如已知 Wt 预测上下文Wt-2,Wt-1,Wt+1)
  • CBOW
    • 给定上下文,预测input word( 如已知 Wt 上下文Wt-2,Wt-1,Wt+1 预测 Wt)
 
 
分为两个部分:
  • 建立模型
    • 目的:基于训练数据构建神经网络,训练好后使用模型通过训练数据所学到的参数(建模不是最终目的)
  • 通过模型获取嵌入词向量
 
基于神经网络的语言模型的目标函数通常取为如下对数似然函数:
 
关键是条件概率函数P的构造
基于Hierarchical softmax 的CBOW 模型优化目标函数如上
基于Hierarchical softmax 的skip-gram 模型,优化的目标函数如
 
 

DeepWalk

将一个网络中的每个节点映射成一个低维的向量,即希望在原始网络中关系越紧密的结点对应的向量在其空间中距离越近
  • word2vec针对的是文本,或者说是有序的单词序列
  • Deepwalk针对的是带有拓扑结构的网络
  • 针对每个节点跑了个随机游走,游走过程中就得到了一系列的有序节点序列,这些节点序列可以类比于文章的句子,节点类比于句子中的单词,然后再使用word2vec跑,得到对应的向量
过程:
  • 为每个节点生成随机游走Wv,然后用来更新网络嵌入(7)
  • 选择skip-gram 作为更新节点表示的方法

 
 
skip -gram
关键思想:产长预测句子中附近的单词嵌入
 
 

Node2vec

类似于deepwalk,主要的创新点在于改进了随机游走的策略,定义了两个参数p和q,在BFS和DFS中达到一个平衡,同时考虑到局部和宏观的信息,并且具有很高的适应性
 

LINE(Large scale information network embedding)

2015年提出的一中网络表示学习方法,该方法提出了一阶相似度与二阶邻近度的概念,基于这两个邻近度,提出了优化函数,得到的最优化结果即为每个节点的向量表示
  • 一阶相似性:直接相连的节点表示尽可能相近(适用于无向)
  • 二阶相似性:两个节点公共的邻居节点越多,两个节点的表示越相近,类似,使用预警相似的两个单词很有可能是同义词(适用于有向图和无向图)
  • 边缘采样算法优化目标,采样概率与权重成比例
    • 因为边的权重差异大,直接 SGD 效果不好,这里按照边的权重采样,每条边当作 binary 算
  • DW 没有提供明确的目标,没有阐明哪些网络属性将被保留,仅适用于未加权网络,LINE 适用于网络的加权和不加权的边
 

MMDW(Max-Margin DeepWalk Discriminative Learning of Network Representation)

DW本身是无监督的,如果能够引入label数据,生成的向量对于分类任务会有更好的作用
将DeepWalk和Max-Margin(SVM)结合起来
 
 

TADW(Network Representation Learning with Rich Text Information.)

在矩阵分解这个框架中,将文本直接以一个子矩阵的方式加入,会使学到的向量包含更丰富的信息。
文本矩阵是对TFIDF矩阵的SVD降维结果

Extra Info

CANE
CENE(A General Framework for Content-enhanced Network Representation Learning)
问题
同时利用网络结构特征和文本特征来学习网络中节点的embedding
 

Network Embedding的更多相关文章

  1. 论文:network embedding

    KDD2016: network embedding model: deep walk(kdd 2014): http://videolectures.net/kdd2014_perozzi_deep ...

  2. On the Optimal Approach of Survivable Virtual Network Embedding in Virtualized SDN

    Introduction and related work 云数据中心对于虚拟技术是理想的创新地方. 可生存性虚拟网络映射(surviavable virtual network embedding ...

  3. NEU(Fst Network Embedding Enhancement via High Order Proximity Approximation)

    NEU(Fst Network Embedding Enhancement via High Order Proximity Approximation) NEU:通过对高阶相似性的近似,加持快速网络 ...

  4. Content to Node: Self-Translation Network Embedding

    paper:https://dl.acm.org/citation.cfm?id=3219988 data & code:http://dm.nankai.edu.cn/code/STNE.r ...

  5. Context-Aware Network Embedding for Relation Modeling

    Context-Aware Network Embedding for Relation Modeling 论文:http://www.aclweb.org/anthology/P17-1158 创新 ...

  6. network embedding 需读论文

    Must-read papers on NRL/NE. github: https://github.com/nate-russell/Network-Embedding-Resources NRL: ...

  7. Network Embedding 论文小览

    Network Embedding 论文小览 转自:http://blog.csdn.net/Dark_Scope/article/details/74279582,感谢分享! 自从word2vec横 ...

  8. 论文阅读:Relation Structure-Aware Heterogeneous Information Network Embedding

    Relation Structure-Aware Heterogeneous Information Network Embedding(RHINE) (AAAI 2019) 本文结构 (1) 解决问 ...

  9. [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati

    [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...

随机推荐

  1. Jquery常用正则验证

    常用校验的正则表达式var rulesConfig = { /** * str.replace(/^\s+|\s+$/g, '') 解析: str:要替换的字符串 \s : 表示 space ,空格 ...

  2. HDU5726:GCD——题解

    题目:hdu的5726 (我原博客的东西,正好整理过来,属于st表裸题) (可以看出我当时有多么的菜--) 这道题写了一遍,然而蒟蒻的我的时间爆炸了-- 于是看了一下学长的代码(顺便在此处%一下学长) ...

  3. Django Session配置

    Django Session的三种存储方式 SESSION_ENGINE='django.contrib.sessions.backends.db' # default 保存到数据库中,依赖 'dja ...

  4. rand、randi和randn的区别?

    1,rand 生成均匀分布的伪随机数.分布在(0~1)之间 主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数还可 ...

  5. POJ 2226 Muddy Fields(二分匹配 巧妙的建图)

    Description Rain has pummeled the cows' field, a rectangular grid of R rows and C columns (1 <= R ...

  6. IBM AppScan 安全漏洞问题修复(.net)

    按问题类型分类的问题 使用 SQL 注入的认证旁路2 已解密的登录请求3 登录错误消息凭证枚举1 会话标识未更新2 跨站点请求伪造1 Missing "Content-Security-Po ...

  7. jq 数组定义,拼接~~~push应用

    var radio_checked_array = []; $("input[type='radio']").each(function(){ if($(this).attr('c ...

  8. 查看oracle日志文件切换频率

    column avg format 999.99 column day format a6 ) "Total", , )) h0, , )) "h1", , ) ...

  9. java 面向对象编程(OOP)

    java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改: 代码复用: 增加代码的可靠性和灵活性: 增加代码的可理解性. 封装 封装 ...

  10. 获取Web.Config中节点的值

    读取webconfig里面的appSetting和connectionString <appSettings> <add key="SiteURL" value= ...