graph embedding源码阅读

news/2024/7/7 20:30:36

文章目录

  • LINE
  • struc2vec
    • 计算结构距离
      • 计算每个结点的有序度序列
        • 遍历边表的顶点,每个都计算有序度序列

LINE

看到 ge.models.line.LINE#_gen_sampling_table

node_degree 表示出度

归一化后,得到顶点的分布norm_prob,然后算alias_table

构建alias表得到accept, alias两个变量

_gen_sampling_table这步其实主要构建顶点采样表

ge.models.line.create_model

大概是看懂了。。

struc2vec

【Graph Embedding】node2vec:算法原理,实现和应用

Alias Method:时间复杂度O(1)的离散采样方法

【数学】时间复杂度O(1)的离散采样算法—— Alias method/别名采样方法

计算结构距离

ge.models.struc2vec.Struc2Vec#_compute_structural_distance

dist_func = cost_max

计算每个结点的有序度序列

ge.models.struc2vec.Struc2Vec#_compute_ordered_degreelist

遍历边表的顶点,每个都计算有序度序列

ge.models.struc2vec.Struc2Vec#_get_order_degreelist_node

这个函数类似BFS,迭代直到层数大于max_num_layers

采用压缩存储的方式存储有序度序列
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


计算完成后得到degreeList

此时的degreeList
在这里插入图片描述

_create_vectors函数处理后的degrees
在这里插入图片描述

vertices保留与其度数相近的结点

在这里插入图片描述

structural_dist

在这里插入图片描述

在这里插入图片描述


http://www.niftyadmin.cn/n/1493277.html

相关文章

ORM到底如何使用了?

公司最近一个项目用到了实体类,借助其他成熟的框架实现了orm,可是在使用过程中却对于多表查询支持并不好。nbear看上去orm挺不错的,有空得研究下看看代码转载于:https://www.cnblogs.com/ocean2000/archive/2007/06/13/781755.html

Kubeflow调研

文章目录Kubeflow基本概念创建Kubeflow的Component通过Yaml定义在代码中创建在Jupyter中创建Kubeflow的架构TensorFlow Training 的支持 (TFJob)与 Jupyter Notebook 的整合KFServing以解决一个分子属性预测问题为例,阐述如何用kubeflow实现Kubeflow 的总结Kubeflow…

利用consul在spring boot中实现最简单的分布式锁

因为在项目实际过程中所采用的是微服务架构,考虑到承载量基本每个相同业务的服务都是多节点部署,所以针对某些资源的访问就不得不用到用到分布式锁了。 这里列举一个最简单的场景,假如有一个智能售货机,由于机器本身的原因不能同一…

Oracle常用结构或函数使用笔记一

With用法: The WITH query_name clause lets you assign a name to a subquery block. You can then reference the subquery block multiple places in the query by specifying the query name. Oracle optimizes the query by treating the query name as either…

*在scanf printf中的作用

在网上看到的&#xff0c;贴过来记录一下 http://www.cppleyuan.com/viewthread.php?tid9428 一个有趣的打印菱形的程序 1 #include <stdio.h>2 3 int line 1;4 int main()5 {6 printf("%*s\n",7 7-(line>4? line-4: 4-line),8 …

牛客算法题

字节题库 NC78 反转链表 NC78 反转链表 迭代法 class Solution:# 返回ListNodedef ReverseList(self, pHead):ppHeadpreNonewhile p:aftp.nextp.nextprepreppaftreturn pre递归法 class Solution:# 返回ListNodedef ReverseList(self, pHead):if not pHead or not pHead.n…

中台之上(六):如何为一个商业银行设计业务架构?

从实际操作的角度讲&#xff0c;企业级业务架构设计及其建模过程是一个充满可能性和争议的过程&#xff0c;并没有一个直观的量化标准能够用于判断一个架构方案的好坏&#xff0c;我们可以通过一个虚拟的例子体会一下。 假定我们为A商业银行设计企业级业务架构&#xff0c;为了…

树模型问题汇总

文章目录决策树集成学习AdaBoostGBDTXgboostXgboost在优缺点Xgboost损失函数推导与求解Xgboost计算过程gblinearXgboost结点分裂的近似策略Xgboost在工程实现上有哪些特点1.块结构设计2.缓存访问优化算法3.“核外”块计算Xgboost是怎么做到并行化的&#xff1f;LightGBMGOSS 单…