首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WWW 2015 | LINE:大规模信息网络的嵌入

因为在现实生活中,许多网络的节点和边的数目都非常大,比如数百万个节点和数十亿条边。如果一个网络嵌入模型无法很好地适应大规模网络,那么这个算法的局限就很大了。...大多数现有的图嵌入算法都被设计成保持这种一阶邻近度,比如IsoMap和拉普拉斯特征映射。...这是因为在许多网络中,边是加权的,而权值通常具有很高的方差。比如考虑一个词共现网络,其中词对的权重(共现)可能在1到数十万之间,这些边的权值将被乘到梯度中,导致梯度爆炸,从而影响性能。...4.1.2 保持二阶邻近度的LINE 二阶邻近度对无向图和有向图都适用。为了说明一般性,给定一个有向图(一条无向边可以被认为是两条有向边)。 根据前文定义,二阶邻近度用于描述两个节点邻居的相似性。...与图分解一样,LINE(1st)和LINE-SGD(1st)都只适用于无向图。LINE(2nd)和LINE-SGD(2nd)适用于无向图和有向图。

62120

Graph Embedding

无向)的无权图 所有图 所有图 发表时间 2013 2014 2015 2016 训练任务 word2vec的训练任务为Language Model (LM),本质上是希望模型学习单词之间的条件共现关系...训练思想 word2vec、DeepWalk、node2vec都基于最大似然估计的思想设计训练任务,都是为了使某种共现关系出现的概率最大化,而LINE由于其算法相似度的定义导致无法使用MLE,是用学习到的分布去逼近数据中已知的分布...但是由于边的有向/无向以及边的权重使得graph embedding与word embedding的算法上又有了很大的不同。...LINE 从上述的对比表格中发现,如果只用邻居共现这一约束或训练任务的话,只用到了图数据与序列文本数据的共性,要针对于图进行操作的话,就要多多考虑graph与序列文本数据不同的特性,即边的方向,有无以及边的权重...对于每一条有向边 ,定义给定顶点 条件下,产生上下文(邻居)顶点 的概率为: 与1阶相似度同理,定义经验分布: 其中 是边 的权重, 是顶点 的出度,对于带权图,

1.3K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【数据结构】图

    添加边关系的接口也会提供给外部,如果图是无向图,则可以外部指定边的默认权值为-1或者是0等等,由使用者来定义。 邻接表的每个顶点由后继指针,顶点下标,权值三部分组成。 4....邻接矩阵来实现图其实要方便许多,添加顶点之间的关系时,只需要更改矩阵中对应位置存储的值即可,而无需向邻接表似的还需要额外添加顶点,不过邻接矩阵和邻接表相比各有优劣,对于稠密图,也就是图中边的数量很多,这种图就适合用邻接矩阵来存储...最小生成树通常针对的其实是无向连通图,而求解最小生成树已知的两种算法是kruskal和prim算法,理解完两种算法的思想和实现方式之后,再来讨论为什么最小生成树通常针对于无向连通图,如果应用到有向连通图上呢...(为什么在最小生成树这里不断的强调是连通图呢?...,因为即使没有这条边,也不会影响已经连接在一起的结点的连通性,所以在挑选边的过程中不可以形成环,同时必须从小到大的一直挑选边,直到挑选出n-1条边,当然如果图不是连通图,那我们怎么也无法挑选出能够组成最小生成树的边出来

    12410

    2021年的第一盆冷水:有人说别太把图神经网络当回事儿

    它会遍历句子,并创建一个(隐式)共现图,图的节点是词,边的权重取决于这些单词在句子中一同出现的频率。之后,Glove 对共现图的矩阵表示进行矩阵分解,Word2Vec 在数学方面是等效的。...这些数据集无法真正地区分不同 GNN 方法之间的区别。 近期的一些研究开始直接解决这一问题,但是为什么研究者这么长时间一直在小型、无用的数据集上做实验呢?这个问题值得讨论。...当前的图数据结构实现太差劲了 NetworkX 是一个糟糕的库。我是说,如果你正在处理一些微小的图,该库表现还 OK。但如果处理大规模的图任务,这个库会令你抓狂且迫使你重写所有的东西。...我所知道的能做到这一点的算法只有 GloVe 和 GGVec,它们通过一个边列表,并在每一步上更新嵌入权重。这种方法的问题在于,它们很难应用于更加高阶的方法。...此外,逐渐增加新的节点也很简单,只需要获取现有的嵌入,添加一个新节点,然后在数据上执行一个新的 epoch。 随机游走采样。

    47820

    2021年的第一盆冷水:有人说别太把图神经网络当回事儿

    它会遍历句子,并创建一个(隐式)共现图,图的节点是词,边的权重取决于这些单词在句子中一同出现的频率。之后,Glove 对共现图的矩阵表示进行矩阵分解,Word2Vec 在数学方面是等效的。...这些数据集无法真正地区分不同 GNN 方法之间的区别。 近期的一些研究开始直接解决这一问题,但是为什么研究者这么长时间一直在小型、无用的数据集上做实验呢?这个问题值得讨论。...当前的图数据结构实现太差劲了 NetworkX 是一个糟糕的库。我是说,如果你正在处理一些微小的图,该库表现还 OK。但如果处理大规模的图任务,这个库会令你抓狂且迫使你重写所有的东西。...我所知道的能做到这一点的算法只有 GloVe 和 GGVec,它们通过一个边列表,并在每一步上更新嵌入权重。这种方法的问题在于,它们很难应用于更加高阶的方法。...此外,逐渐增加新的节点也很简单,只需要获取现有的嵌入,添加一个新节点,然后在数据上执行一个新的 epoch。 随机游走采样。

    54130

    快速上手关键词抽取的算法

    同时,在很多推荐系统中,由于无法直接就整体文本进行利用,往往会现对文本进行汇总,常用的方法就是embedding或者关键词抽取,关键词提取的准确程度直接关系到推荐系统或者搜索系统的最终效果。...流程 切句切词:切句是以标点+停顿词+分割词做标记,切词是借助第三方切词工具,我python版实现的时候用的是jieba,Java版实现的时候用的是HanNlp 共现矩阵:构建共现矩阵 特征提取:基于词的词频...= deg/freq 建议通过句长进行平衡 实现 Java版本:RAKE Python版本:RAKE TextRank 知道PageRank的同学,一定知道这么一个道理,网页点击行为是一个有向图...TextRank其实思想类似,只是把有向图换成了无向图,所以公式大家就应该很熟悉,和PageRank类似: ?...image 其中,d依旧是阻尼系数,但是大家发现多了w,这个其实是节点之间边的权重,因为无向图,文本分词后的词汇跳转我们假设是相互等同的。

    1.4K10

    EasyNVR及EasyRTC平台使用Go语言项目管理GoVendor和gomod的使用总结

    以下是我们在开发平台过程中,对两者的使用进行的总结,现与大家分享下。...    go mod edit -droprequire=golang.org/x/text 移除依赖项 go mod graph       打印模块依赖图 go mod init        初始化当前文件夹...增加缺少的module,删除无用的module go mod vendor      将依赖复制到vendor下 go mod verify      校验依赖 go mod why         解释为什么需要依赖...go.mod 依赖包 gp.sum 依赖包 go get -u /sadas/asfasdfdsa 更新依赖 image.png gomod 为官方推荐的项目管理工具,随着go1.16的出现,建议所有的项目都采用...因为部分网站无法访问的问题,因此在使用时添加以下配置可以解决该问题: GOPROXY=https://goproxy.cn,direct;GONOSUMDB=gitlab.com,gitee.com;GONOPROXY

    44110

    数据结构图的构建_逻辑结构图的数据结构表示

    大家好,又见面了,我是你们的朋友全栈君。 数据结构:图结构的实现 图(Graph)是由顶点和连接顶点的边构成的离散结构。...我觉得就没必要单独拎出来写,比如:无向图中,任意两个顶点间都有边,称为无向完全图;加权图起一个新名字,叫网(network)……然而,如无必要,毋增实体。...当然,类似频繁删除边,添加边(不允许平行边),删除顶点,添加顶点,那么这种比较简易的结构就不太适合了。 2.3 量化选择 我们稍微量化一下稀疏图和稠密图的标准。...数据成员: 边的数量 顶点的数量 由vector和set构成的图结构 功能: 添加边 删除边 添加顶点 删除顶点 判断是否有邻接关系 返回顶点的邻接集:不推荐直接使用这个,建议用迭代器 迭代器begin...,我想这也是为什么STL库不提供Graph的原因。

    96320

    环检测算法及拓扑排序(修订版)

    首先,我说将后序遍历结果进行反转就是拓扑排序的结果,有的读者说他看到的很多解法直接使用后序遍历,并没有进行反转,本文新增了对此的解释。...这个看法我也认同,所以本文也添加了拓扑排序算法的 BFS 实现,供大家参考。...很显然,如果一幅有向图中存在环,是无法进行拓扑排序的,因为肯定做不到所有箭头方向一致;反过来,如果一幅图是「有向无环图」,那么一定可以进行拓扑排序。 但是我们这道题和拓扑排序有什么关系呢?...PS:有的读者提到,他在网上看到的拓扑排序算法不用对后序遍历结果进行反转,这是为什么呢? 你确实可以看到这样的解法,原因是他建图的时候对边的定义和我不同。...所谓「出度」和「入度」是「有向图」中的概念,很直观:如果一个节点x有a条边指向别的节点,同时被b条边所指,则称节点x的出度为a,入度为b。

    1.3K20

    基于三大图谱网络和HIST模型的A股策略研究

    供应链关系网络构建步骤: 1、ChinaScope现有的供应链中间表即为供应链关系网络,但原始表中存在人物节点、“配对公司互为对方的供应商和客户”的双向边、“ 供应商和客户都为公司本身 ”的自环等情况,...2、直接删除人物节点和自环边;对于双向边的选择,主要遵循如下规则:① 保留金额更高的那个方向, 金额优先级为交易金额>期末余额>坏账准备;② 如果 ① 无法满足,则选历史上出现次数更多的那个方向;③ 如果...② 无法满足,则随机选一个方向。...新闻共现扩展网络:每日的股票共现情况变动相对比较频繁且 A 股覆盖率低,因此在每月末计算共现矩阵过去 90 日的总边数,即如果公司 a 和公司 b 在过去 90 日中存在新闻共现情况,那么也将其纳入新闻共现网络中...2、关于网络是否包含权重和方向:产业链关系网络和新闻共现关系网络为无向图,供应链关系网络为有向图(方向为:供应商指向客户);供应链关系网络的边无权重,产业链关系网络边权重为关联度,新闻共现关系网络边权重为新闻共现数量

    85551

    文心一言 VS 讯飞星火 VS chatgpt (308)-- 算法导论22.2 6题

    然而,无论我们如何调整邻接链表中结点的顺序,使用 BFS 都无法得到这个特定的树边集合 E_π,因为在 BFS 过程中,一旦访问了某个结点,就会立即探索其所有的邻居,而不会考虑边的顺序。...尽管我们可以控制边的添加顺序,但 BFS 算法本身并不关心这种顺序,因此无法保证得到特定的树边集合 E_π。 智谱清言: 下面是一个有向图G=(V, E)的例子,以及一组树边E_π,它们满足您的要求。...考虑一个有向图,其中包含一个环,使得 BFS 从源节点开始时,由于其队列的性质,可能不会访问环中所有的节点,但通过其他路径可以访问。...,并添加了边来模拟上述图的结构。...我们可以使用一个有向无环图(DAG),并在其中添加一条特殊路径,该路径将导致BFS无法找到最短路径。

    7220

    NLP中关键字提取方法总结和概述

    在本文中,我使用术语关键字提取,其中包括关键字或关键短语提取。 为什么我们需要关键字提取的方法呢? 节省时间——根据关键词,可以决定文本的主题(例如文章)是否对他感兴趣以及是否阅读。...如果两个顶点出现在文本中的 N 个单词的窗口内,则它们与一条边相连(根据作者的实验,最佳表现 N 为 2)。该图是无向和未加权的。 3、图排序——每个顶点的分数设置为1,在图上运行排序算法。...由于我们考虑的是无向图,因此顶点的入站链接和顶点的出站链接是相同的。该算法在每个节点上运行多次迭代,直到节点上的权重收敛——迭代之间的变化低于 0.0001。...2、关键词共现图构建——图中的顶点是单词。如果它们一起出现在候选关键字中,则它们是连接的。该图是加权的——权重是连接词在候选关键字中一起出现的次数。...由于有时停用词可能是关键字的一部分,因此在此步骤中添加了它们。该算法在文本中找到与停用词连接的关键字对,并将它们添加到现有停用词集中。它们必须在要添加的文本中至少出现两次。

    2.1K20

    【综合笔试题】难度 35,为啥是图论不是 DP,两者是什么关系?

    那为什么有一些 DP 题目简单修改条件后,就只能彻底转化为图论问题来解决了呢? 这是因为修改条件后,导致我们 DP 状态展开不再是一个拓扑序列,也就是我们的图不再是一个拓扑图。...但对于不是拓扑图的图论问题,我们无法使用 DP 求解。 而此类看似 DP,实则图论的问题,通常是最小生成树或者最短路问题。...由于使用到的算法都有固定模板,因此编码难度很低,而「如何建图」的思维难度则很高。 对于本题,我们可以按照如下分析进行建图: 因为在任意格子可以往「任意方向」移动,所以相邻的格子之间存在一条无向边。...题目要我们求的就是「从起点到终点的最短路径中,边权最大的值」。 我们可以先遍历所有的格子,将所有的边加入集合。...证明 我们之所以能够这么做,是因为「跳出循环前所遍历的最后一条边必然是最优路径上的边,而且是 最大的边」。 我们可以用「反证法」来证明这个结论为什么是正确的。

    63030

    依存句法分析器的简单实现

    为句子中词语i与词语j生成多条依存句法边,其权值为上述四种频次的综合(主要利用词-词频次,其余的作平滑处理用)。取边的权值最大的作为唯一的边,加入有向图中。...依存句法分析 分词标注 以“我吃米饭”为例,先进行分词与词性标注,结果: 图2.JPG 生成有向图 由于依存句法树中有虚根的存在,所以为其加入一个虚节点,这样一共有四个节点: 图10.jpg 每个节点都与另外三个构成一条有向边...米饭/n 到 我/rr : 连接依存 113.2556 12. 米饭/n 到 吃/v : 受事 0.6931472 其中“未知”表示边不存在,“受事”“施事”表示依存关系,后面的小数表示权值。...得出最小生成树: 图5.jpg 格式化输出 将其转为CoNLL格式输出: 图6.jpg 可视化 使用可视化工具展现出来: 图7.jpg 结果评测 我没有进行严格的测试,这只是一个玩具级别的汉语依存句法分析器...先来看几个good case与bad case—— 图8.jpg 图9.jpg 效果比较马虎,为何这么说,这是因为分词的训练语料和句法分析语料不同,且我自知此方法严重依赖词汇共现,主要是这种二元词汇生成模型无法充分利用上下文

    1K00

    【论文笔记】LINE:大规模信息网络嵌入

    请注意,虽然负边权重是可能的,但在本研究中我们只考虑非负权重。 例如,在引文网络和社交网络中,你需要二元值;在不同对象之间的共现网络中,w[uv]可以取任何非负值。...由于这一重要性,许多现有的图嵌入算法,如 IsoMap,LLE,拉普拉斯特征映射和图分解,目标是保留一阶邻近度。...用 KL 散度代替d(·,·)并省略一些常数,我们得到: (3) 请注意,一阶邻近度仅适用于无向图,而不适用于有向图。 通过找到最小化公式(3)中的目标的{u[i]}, i = 1 .....二阶邻近度 二阶邻近度适用于有向图和无向图。给定网络,在不失一般性的情况下,我们假设它是有向的(无向边可以被认为是具有相反方向和相等权重的两个有向边)。...对此的直观解决方案是扩展 这些顶点的邻居通过添加更高阶的邻居,例如邻居的邻居。 在本文中,我们只考虑向每个顶点添加二阶邻居,即邻居的邻居。

    49710

    「GNN,简直太烂了」,一位Reddit网友的深度分析火了

    我太烦Node2Vec了,引用量不应该达到7500这个数量。 就玩那些没用的、小数据,效率提不上来,很难取得进步。 添加一些新的图层/超参数,编一个可爱的数学故事来解释它为什么重要。...它遍历这些句子,并创建一个(隐含的)共现图(co-occurence graph),其中节点是单词,而边则根据单词在句子中出现的频率进行加权。...如果使用拉普拉斯特征映射或者取拉普拉斯主分量来嵌入图,则为一阶。 同样,GloVe 方法也是对词共现图的一阶方法。...学术的激励(incentive),与学术的进步背道而驰 下面是“愤世嫉俗者”对机器学习论文制作的一些观点: 采用现存的一些算法 添加一些新的图层/超参数,编一个可爱的数学故事来解释它为什么重要 网格搜索你的超参数...但这很困难,因为你的计算机内存是一个由1和0组成的一维数组,一个图没有明显的一维映射。 如果我们考虑更新图表(添加/删除一些节点/边) ,这就更难了。

    87320

    PHP数据结构(十一) ——图的连通性问题与最小生成树算法(1)

    因此,T与图G的所有顶点构成的极小连通子图,就是G的一棵生成树。由深度优先搜索的称为深度优先生成树;由广度优先搜索的称为广度优先生成树。 2、有向图 有向图和无向图类似。...有向图的强连通分量,是对图进行深度优先遍历,遍历完成后,从被遍历的最后一个节点开始,做逆向的深度优先遍历。...三、最小生成树 1、场景 现假设需要对一个城市的某几个区域进行通信网络的连接,每两个点之间有自己的耗费,现需要把这几个点连接起来行程通信网,又想要最节省耗费。...将每个区域看成一个节点,区域之间看成无向图的边,每两个点之间的耗费看成边的权,则该问题化简为求一个无向图考虑到权值情况下的的最小生成树。...算法从U={u0}(即图上任意一点),TE={}开始,重复执行以下操作: 在所有的u属于V,v属于V-U的边(u, v)属于E,着一条代价最小的边(u0,v0),并入集合TE,v0并入U,直到U=V为止

    1.5K90

    【Embedding】LINE:大规模信息网络的潜入方法

    LINE 适用于任何类型的网络结构,无论是有向图还是无向图,以及是否加权(DeepWalk 只适用于有向网络)。LINE 能够在单台服务器上训练数小时即可完成数百万结点和数十亿条边的网络训练。 2....为了保证一阶性,我们只需要让经验分布和联合概率分布的越相似越好,衡量两个分布差异的指标为 KL 散度,忽略常数后我们有代价函数: 这里,first-order 的目标函数只适用于无向图,不适用于有向图...通过这种边采样处理,可以保证原本的代价函数不变,且又加入了边的权重信息。 关于加权采样问题,作者使用的 Alias 算法,虽然Alias 非本文重点,但是我决定还是简单介绍一下。...,则需要添加额外的信息。...无向,稀疏/稠密),同时也适用于大尺度网络(类似的 GloVe 的训练方式,所以速度快); 设计了一个基于边的采样算法来优化目标函数,该算法克服了现有的随机梯度下降的局限性。

    1.1K20

    判断同构数 c语言程序(java人脸识别算法)

    1的时候都给边+1了,因为是无向图,G[i][j]和G[j][i] 是一样的,因此要/2 A.edges =A.edges/2; B.edges =B.edges/2; int...; ②调整完毕,立刻检查两个矩阵是否相同,若不同,从上往下,调换度相同的结点,遍历所有的可能,每次调换完毕,都检查一次,看是否两个矩阵相同 因此,对函数添加如下代码: ①: 一个中间数组C,(如果这种初始判定条件下...1的时候都给边+1了,因为是无向图,G[i][j]和G[j][i] 是一样的,因此要/2 A.edges =A.edges/2; B.edges =B.edges/2; int...行列交换操作 判断出错而打断(就是不能行列交换,如何行列交换都无法变换成第二个图,进而被打断) //调整A矩阵成B 请注意:以下操作 列交换 必定伴随着 行的交换 为什么呢: 因为,虽然矩阵的行和列...1的时候都给边+1了,因为是无向图,G[i][j]和G[j][i] 是一样的,因此要/2 A.edges =A.edges/2; B.edges =B.edges/2; int

    1.3K20

    拓扑排序,YYDS!

    具体来说,我们首先可以把课程看成「有向图」中的节点,节点编号分别是0, 1, ..., numCourses-1,把课程之间的依赖关系看做节点之间的有向边。...比如说必须修完课程1才能去修课程3,那么就有一条有向边从节点1指向3。...很显然,如果一幅有向图中存在环,是无法进行拓扑排序的,因为肯定做不到所有箭头方向一致;反过来,如果一幅图是「有向无环图」,那么一定可以进行拓扑排序。 但是我们这道题和拓扑排序有什么关系呢?...其实也不难看出来,如果把课程抽象成节点,课程之间的依赖关系抽象成有向边,那么这幅图的拓扑排序结果就是上课顺序。...以上,我简单解释了一下为什么「拓扑排序的结果就是反转之后的后序遍历结果」,当然,我的解释虽然比较直观,但并没有严格的数学证明,有兴趣的读者可以自己查一下。

    58630
    领券