网络表示学习(network represention learning)

article/2025/9/20 17:08:31

https://www.toutiao.com/a6679280803920216589/

 

2019-04-13 15:40:48

1.传统:基于图的表示(又称为基于符号的表示)

如左图G =(V,E),用不同的符号命名不同的节点,用二维数组(邻接矩阵)的存储结构表示两节点间是否存在连边,存在为1,否则为0。

网络表示学习(network represention learning)

 

缺点:长尾分布下大部分节点间没有关系,所以邻接矩阵非常稀疏,不利于存储计算。

2. 网络表示学习(Network Representation Learning,NRL),也称为图嵌入法(Graph Embedding Method,GEM):用低维、稠密、实值的向量表示网络中的节点(含有语义关系,利于计算存储,不用再手动提特征(自适应性),且可以将异质信息投影到同一个低维空间中方便进行下游计算)。

DeepWalk【1】:

实现1:https://github.com/phanein/deepwalk

用SkipGram的方法进行网络中节点的表示学习。那么,根据SkipGram的思路,最重要的就是定义Context,也就是Neighborhood。​NLP中,Neighborhood是当前Word周围的字,本文用随机游走得到Graph或者Network中节点的Neighborhood。

(1)随机游走随机均匀地选取网络节点,并生成固定长度的随机游走序列,将此序列类比为自然语言中的句子(节点序列=句子,序列中的节点=句子中的单词),应用skip-gram模型学习节点的分布式表示,skip-gram模型详见:http://blog.csdn.net/u013527419/article/details/74129996

(2)前提:如果一个网络的节点服从幂律分布,那么节点在随机游走序列中的出现次数也服从幂律分布,并且实证发现NLP中单词的出现频率也服从幂律分布。

网络表示学习(network represention learning)

 

(3)大体步骤:

Network/graph ---------random walk ---------得到节点序列(representation mapping)-------- 放到skip-gram模型中(中间节点预测上下 文节点)--------- output:representation

网络表示学习(network represention learning)

 

LINE【2】:

网络表示学习(network represention learning)

 

(1)先区分两个概念:

一阶相似度:直接相连节点间,例如6与7。

定义节点vi和vj间的联合概率为

网络表示学习(network represention learning)

 

v代表节点,u代表节点的embedding。上面式子的意思是两节点越相似,內积越大,sigmoid映射后的值越大,也就是这两节点相连的权重越大,也就是这两个节点间出现的概率越大???。

二阶相似度:通过其他中介节点相连的节点间例如5与6。

用的是一个条件概率

网络表示学习(network represention learning)

 

(2)目标是让NRL前后节点间相似度不变,也节点表示学习前如果两个节点比较相似,那么embedding后的这两个节点表示向量也要很相似。--此文中用的是KL散度,度量两个概率分布之间的距离。KL散度的相关知识详见:http://blog.csdn.net/u013527419/article/details/51776786

以保证其一阶相似度为例子:

embedding前:节点vi和vj间的经验联合概率为

网络表示学习(network represention learning)

 

所以,最小化:

网络表示学习(network represention learning)

 

Node2vec【3】:

论文+实现及其他:http://snap.stanford.edu/node2vec/

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

(1)

网络表示学习(network represention learning)

 

(2)参数控制跳转概率的随机游走,之前完全随机时,p=q=1.

--返回概率参数(Return parameter)p,对应BFS,p控制回到原来节点的概率,如图中从t跳到v以后,有1/p的概率在节点v处再跳回到t。

--离开概率参数(In outparameter)q,对应DFS,q控制跳到其他节点的概率。

网络表示学习(network represention learning)

 

上图中,刚从edge (t,v)过来,现在在节点v上,要决定下一步(v,x)怎么走。其中dtx表示节点t到节点x之间的最短路径,dtx=0表示会回到节点t本身,dtx=1表示节点t和节点x直接相连,但是在上一步却选择了节点v,dtx=2表示节点t不与x直接相连,但节点v与x直接相连。

(3)在计算广告、推荐领域中,围绕着node2nec有俩很有意思的应用:

Facebook:http://geek.csdn.net/news/detail/200138

Tencent:http://www.sohu.com/a/124091440_355140

SDNE[4]::

网络表示学习(network represention learning)

 

本文的一大贡献在于提出了一种新的半监督学习模型,结合一阶估计与二阶估计的优点,用于表示网络的全局结构属性和局部结构属性。

对节点的描述特征向量(比如点的「邻接向量」)使用autoencoder编码,取autoencoder中间层作为向量表示,以此来让获得2ndproximity(相似邻居的点相似度较高,因为两个节点的「邻接向量」相似,说明它们共享了很多邻居,最后映射成的向量y也会更接近)。总觉得上面图中local和global写反了。

目标函数:

网络表示学习(network represention learning)

 

【1】Perozzi B, Al-Rfou R, Skiena S.Deepwalk: Online learning of social representations[C],KDD2014: 701-710.

【2】LINE:Large-scaleInformation Network Embedding。WWW2015,JianTang, Meng Qu , Mingzhe Wang, Ming Zhang, Jun Yan, Qiaozhu Mei,MicrosoftResearch Asia;Peking University,China;University of Michigan。

【3】node2vec: Scalable Feature Learning forNetworks,A Grover, J Leskovec [StanfordUniversity] (KDD2016)

【4】Structural Deep Network Embedding,KDD 2016


http://chatgpt.dhexx.cn/article/A3NqHeFG.shtml

相关文章

图表示学习

文章目录 1.导言1.1 为什么要研究图(graph)1.2 针对图结构的机器学习任务1.3 特征表示的难点1.4 特征表示的解决思路1.5 线性化思路1.6 图神经网络1.7 讨论:何谓Embedding1.8 总结 2.图结构表示学习2.1 deepwalk(深度游走算法)2.2 node2vec 3…

表示学习(特征学习)

文章目录 表示学习特征工程与表示学习深度学习的表示学习注:深度学习不等于多层神经网络什么时候用「手工提取」什么时候用「表示学习」? 关于特征表示学习的算法 参考资料 表示学习 表示学习的基本思路,是找到对于原始数据更好的表达&#…

表示学习与深度学习

1、表示学习 首先给出表示学习的定义: 为了提高机器学习系统的准确率,我们就需要将输入信息转换为有效的特征,或者更一般性称为表示(Representation)。如果有一种算法可以自动地学习出有效的特征,并提高最…

表示学习(Representation Learning)

一、前言 2013年,Bengio等人发表了关于表示学习的综述。最近拜读了一下,要读懂这篇论文还有很多文献需要阅读。组会上正好报了这篇,所以在此做一个总结。 鉴于大家都想要我的汇报PPT,那我就分享给大家,希望能对大家有所…

使用 Altium Designer 绘制PCB完整设计流程记录(2021.05.04更新)

前言 做了大半年的毕业设计,陆陆续续也是画了几个板子,有些东西感觉要趁现在记录下来,方便以后某天还想再画板子时查看。 修改日志 时间修改内容2021.05.04初稿完成 文章目录 前言修改日志一、关于AD版本二、原理图库和封装库三、绘制原理…

PCB设计流程步骤中的注意事项

PCB中文名称为印制电路板,又称印刷线路板,几乎所有电子设备中都会应用到PCB。这种由贵金属制成的绿色电路板连接了设备的所有电气组件,并使其能够正常运行。PCB原理图是一个计划,是一个蓝图。它说明的并不是组件将专门放置在何处&…

使用Cadence绘制PCB流程(个人小结)

之前使用过cadence画过几块板子,一直没有做过整理。每次画图遇到问题时,都查阅操作方法。现在整理一下cadence使用经历,将遇到问题写出来,避免重复犯错。 注:写该篇文章时,感谢于争博士的教学视频和《Cade…

AD原理图 PCB设计步骤

版权声明:本文为CSDN博主「唐传林」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/Tang_Chuanlin/article/details/79803575 本文总结一下AD画PCB的步骤,…

AD中画PCB详细流程

1.新建工程 先在电脑新建一个文件夹作为工程总文件夹,里面再新建三个子文件夹分别为BOM(Bill Of Materials)(物料清单)、PCB、SCH(Schematic)(原理图)如下图1.1.1 (注意:记住该路径,该工程所有…

干货|PCB电路板的组成、设计、工艺、流程及元器摆放和布线原则

大家对PCB电路板电路这个词很熟,有的了解PCB电路板的组成,有的了解PCB电路板的设计步骤,有的了解PCB电路板的制作工艺......但是对整个PCB电路板的组成、设计、工艺、流程及元器件摆放和布线原则,及后期的注意事项没有一个综合的了…

pcb板制作流程图解

转载链接:http://www.360doc.com/content/16/0529/15/33072037_563261798.shtml 我们来看一下印刷电路板是如何制作的,以四层为例。 四层PCB板制作过程: 1.化学清洗—【Chemical Clean】 为得到良好质量的蚀刻图形,就要确保抗蚀层…

PCB简单绘制一般步骤

1、使用CAD或CAXA,布局线路板图纸 2、生成DWG/DXF格式文件,比如A.dwg 3、使用Altium Designer,文件——新建——PCB,新建一块板子 4、导入A.dwg,文件——导入——DXF/DWG——选择A.dwg导入 ——作为元素导入——比例为mm——绘…

PCB 基础~典型的PCB设计流程,典型的PCB制造流程

典型的PCB设计流程 典型的PCB制造流程 • 从客户手中拿到Gerber, Drill以及其它PCB相关文件 • 准备PCB基片和薄片 – 铜箔的底片会被粘合在基材上 • 内层图像蚀刻 – 抗腐蚀的化学药水会涂在需要保留的铜箔上(例如走线和过孔) – 其他药水…

用AD画PCB流程介绍

大家好,这里主要介绍pcb(印刷电路板)绘制的一个流程,不管你是刚毕业还是想转行或者是在校大学生,不妨了解一下pcb工程师的基本工作内容。希望你看完之后有所收获。废话不多说,开整! 1、首先我们从硬件工程师那里拿到一份没有错误…

PCBA工艺流程

公号阅读更加精彩:《PCBA工艺流程》 还记得刚毕业的时候被抓去工厂拧螺丝的情景,其实主要就是体验一把产品组装的过程。 可能你会说:“我需要的是如何画原理图,分析电路,以及Layout”;但其实产品设计与生…

Altium Designer绘制PCB电路板一般流程

很多初学电子的学生或想从事硬件方面的人都想要了解和学习一下如何绘制PCB板,如下分享下如何绘制PCB板,一般绘制整个画PCB的流程一般是先画好原理图,再由原理图生成网络表,再导入PCB,再到绘制PCB图。 一、选择电路与绘…

AD20中PCB设计流程

目录 •同步电路原理图数据 •定义板框及原点设置 •层的相关设置 •常用规则设置 •视图配置 •PCB布局 •PCB布线 1.General参数设置 PCB的常规参数设置通过General(常规设置)标签页来实现 2. Display参数设置 3. Board Insight Display参数设置 4. Bo…

PCB制作流程

在这里,我不是教大家如何用Altium Designer去画电路的原理图、如何去画元件的封装、如何去布线...... 我在这里主要教大家在做完以上步骤后,如何将设计好的电路最终制作成实际PCB电路板,这是PCB设计的最后一道步骤。 接下来,我会用…

altium designer设计电路板全流程

一、介绍 altium designers是一个电路板设计软件,里面可以实现原理图和pcb的设计 二、设计 这里介绍ad画一个51最小系统板设计为例,介绍软件的使用过程,因为画封装需要时间,所以直接用了软件里面自带的直插件封装 1、新建工程 …

立创EDA超详细的PCB设计流程

立创EDA超详细的PCB设计流程 (2018-11-07 16:22:52) 转载▼ 附图使用工具是:立创EDAPCB设计工具。 一般PCB基本设计流程如下:前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版。 第一&#xff…