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

预测友谊和其他有趣的图机器学习任务

社交媒体平台将用户连接到海量图中,以账号作为顶点,友谊作为边(关注另一个用户,就对应于有向图中的一条有向边),而像谷歌这样的搜索引擎将网络视为有向图,网页作为顶点,超链接作为边。...在在线平台上,用户经常共享资产(例如照片)并相互互动(例如消息、预订、评论)。 用户之间的这些连接自然形成可用于创建图的边。...两个顶点之间的距离(distance)是它们之间最短路径的长度,其中这里的长度仅表示路径中的边数。...也可以使用这两个顶点之间的距离作为特征。...通过将顶点对视为数据点,并使用每对的平均接近度、中介度等(和/或对之间的距离),我们可以预测图中“应该”存在哪些缺失的边。 当图是社交媒体网络时,这些缺失的边可以框定为算法的朋友/关注者建议。

44430

图机器学习无处不在! 用 Transformer 可缓解 GNN 限制

例如在社交网络中,节点是用户,边是用户彼此间的连接;在分子中,节点是原子,边缘是它们的分子键。...与其他模式一样,可以通过限制对象的数学表示,以便在数学上与相似对象接近。但在此之中,相似性在图 ML 中很难严格定义:例如,当两个节点具有相同的标签或相同的邻居时,它们是否更相似?...图注:2 到 5 节点小图 边级特征用关于节点连通性的更详细信息补充表示,其中就包括了两个节点之间的最短距离、它们的共同相邻点以及 Katz 指数(指两个节点之间可能走过的一定长度的路径的数量——其可以直接从邻接矩阵中计算出来...选择一个聚合:一些聚合技术(特别是平均/最大集合)在创建精细表示以区分类似节点的不同节点邻居表示时,会遇到失败的情况;例如,通过均值集合,一个有4个节点邻居表示为1、1、-1、-1,平均为0,与一个只有...在 n 层之后,所有节点的表示成为其距离为 n 的所有邻居的集合,因此,如果其直径小于n,则为全图的聚合。

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

    5大必知的图算法,附Python代码实现

    我们习惯于将行中的用户视为列。但现实世界的表现真的如此吗? 在互联世界中,用户不能被视为独立实体。他们之间具有一定的关系,在构建机器学习模型时,有时也希望包含这样的关系。...在关系型数据库中,我们无法在不同的行(用户)之间使用这种关系,但在图形数据库中,这样做是相当简单的。在这篇文章中将为大家介绍一些重要的图算法,以及Python 的代码实现。...基于BFS / DFS的连通分量算法能够达成这一目的,接下来,我们将用 Networkx 实现这一算法。 代码 使用 Python 中的 Networkx 模块来创建和分析图数据库。...如下面的示意图所示,图中包含了各个城市和它们之间的距离信息。 示意图 首先创建边的列表,列表中每个元素包含两个城市的名称,以及它们之间的距离。...如果用户 A 跟随用户 B,则在用户之间创建连边;如果用户推文或者转发推文,则在用户和推文之间建立连边。

    3.4K11

    图机器学习无处不在,用 Transformer 可缓解 GNN 限制

    例如在社交网络中,节点是用户,边是用户彼此间的连接;在分子中,节点是原子,边缘是它们的分子键。...与其他模式一样,可以通过限制对象的数学表示,以便在数学上与相似对象接近。但在此之中,相似性在图 ML 中很难严格定义:例如,当两个节点具有相同的标签或相同的邻居时,它们是否更相似?...图注:2 到 5 节点小图 边级特征用关于节点连通性的更详细信息补充表示,其中就包括了两个节点之间的最短距离、它们的共同相邻点以及 Katz 指数(指两个节点之间可能走过的一定长度的路径的数量——其可以直接从邻接矩阵中计算出来...选择一个聚合:一些聚合技术(特别是平均/最大集合)在创建精细表示以区分类似节点的不同节点邻居表示时,会遇到失败的情况;例如,通过均值集合,一个有4个节点邻居表示为1、1、-1、-1,平均为0,与一个只有...在 n 层之后,所有节点的表示成为其距离为 n 的所有邻居的集合,因此,如果其直径小于n,则为全图的聚合。

    61020

    Python 算法高级篇:图的表示与存储优化

    本文将详细介绍图的基本概念、不同的表示方法,以及如何在 Python 中实现它们。 ❤️ ❤️ ❤️ 1. 什么是图? 图是由节点(顶点)和它们之间的边组成的抽象数据结构。...如果节点 i 与节点 j 之间存在边,则在矩阵中的 ( i , j ) 和 ( j , i ) 位置上将包含相应的信息,如权重。否则,这些位置将包含空值或零。...邻接表的缺点: 查找两个节点之间的边可能需要遍历列表,效率较低。 不适用于快速查找整个图的全局性质。 4. 优化的存储方法 在实际应用中,我们经常需要在表示图时进行优化,以便更有效地处理各种操作。...邻接矩阵的压缩表示 对于稀疏图,可以使用邻接矩阵的压缩表示,如稀疏矩阵或邻接列表数组,以减少空间消耗。 4.2. 邻接表的哈希表表示 使用哈希表来表示邻接表,以加速节点之间边的查找。 5....使用示例 让我们通过一个简单的示例来演示如何在 Python 中表示图。我们将创建一个无向图,并使用邻接表表示法。

    35830

    「微软」局部图协同过滤缓解数据稀疏问题

    方法 LGCF主要包含两个方面:局部结构的提取来构造局部图;从局部图中捕获相关的模式。如图所示为整体框架图。 首先LGCF构建以目标用户和目标商品为中心的局部化图。...图提取:从提取的节点集合 V_{ui} 中,可以基于原图G构造子图。节点采用V_ui中的,节点之间的边根据原图G中的关系得到,构造的子图表示为 SG_{ui} 。...首先将标签 1 分配给目标用户节点和目标商品节点,以将它们与其他节点区分开来。 接下来,根据提取的局部图上与两个目标节点的最小距离为其他节点分配标签。...对于图上的节点 x,通过将其与这两个节点的最小距离相加来评估其与目标用户和目标商品的距离。由于将目标用户和目标物品的标签设置为 1,因此将为这些附近的节点标签分配较小的值。...含义解释:给定节点 x 和 y,如果 x 与目标节点之间的距离小于 y 的距离,则 x 的标签值应该小于 y 的标签值。如果距离相同,则与目标用户或目标项目的最小距离较小的节点应具有较小值的标签。

    69140

    程序设计导论(Python)读书笔记

    证明技术:数学归纳法   成为优秀程序员:当需要某个软件工具时,有足够的信心创建所需要的软件工具,而且必须要有足够的智慧懂得何时适合从现有的模块中寻求参考解决方案!!! ...内存管理:在python中,通过调用构造函数创建对象,每次创建一个对象时,python为该对象预留一段内存,何时创建何时销毁对象,使其占用的内存可以释放并重用。...图:由一组顶点和一组边组成。每条边表示两个顶点之间的连接。如果两个顶点通过一条边连接,则它们是邻居(neighbor),一个顶点的度(degree)是其邻居的数量。...API:无向图、字符串顶点类型、隐含顶点生成、自环和平行边、客户端查询方法。 客户端:单源客户端、分离度、其他客户端、最短路径距离、最短路径树、广度优先搜索算法、性能、邻接矩阵表示法。...小世界图特征:稀疏性,顶点的数量远远小于边的数量(规定平均顶点度小于20lgV);平均路径长度短,如果随机选择两个顶点,它们之间的最短路径长度比较短(小于10lgV);局部聚类性,如果两个顶点都是第三个顶点的邻居

    79030

    3小时入门Spark之Graphx

    多重图和伪图:如果两个顶点之间可以有多条平行边,称为多重图。如果存在自环,即由一个顶点指向自己的边,则称为伪图。Graphx的图都是伪图。...RandomVertexCut:以边的srcId和dstId来作Hash,这样两个顶点之间相同方向的边会分配到同一个分区。...假定有许许多多的用户在各个网页之间随机地通过超链接进行跳转,那么当达到动态均衡时,停留在某网页的用户数量占全部用户的比例就可以衡量为该网页的PageRank值。...实际中的PageRank值还会做一些线性缩放。 PageRank的迭代公式如下: ? 其中resetProb 为重置概率,即用户不通过超链接,而是直接访问某个页面的概率,默认值为0.15。...最小生成树算法(Kruskal):在一个图中 ,找到一个生成树,其边权值之和小于任何其他生成树边权值之和。

    5.1K33

    图神经网络的自监督学习

    三、图对比学习 SSL方法可以分为两类;即对比模型和预测模型。这两个类别之间的主要区别是对比模型需要数据-数据对来进行训练,而预测模型需要数据-标签对,其中标签是从数据中自行生成的。 ? 图2....四、预测学习 4.1 图重构 图重构为图神经网络的训练提供了自监督。图重建通过decoder预测图的某些部分,例如节点子集的属性或一对节点之间的边的存在。...长度为l的元路径由下面序列定义: ? ti表示路径中第i条边的种类。给定异构图中的两个节点和K个元路径,编码器f和预测头gi(i = 1,…,K)被训练来预测这两个节点是否由各个元路径连接。...只有当具有聚类伪标签的节点与当前阶段分类器的预测相匹配时,该节点才会被添加到标签集中,以便在下一阶段进行自训练。...在蛋白质图中,节点代表氨基酸,边表示两个相连的节点之间的距离小于6埃。用于化学分子性质预测的数据集在TUDataset中也被归类为生物信息学数据集。

    1.6K20

    MADlib——基于SQL的数据挖掘解决方案(28)——图算法之单源最短路径

    某个顶点被访问后,将相应访问标志数组中的值设为1,以表示该顶点已经被访问。通常图的遍历有两种:深度优先遍历搜索和广度优先遍历搜索。 深度优先遍历是尽可能“深"的遍历图。...就是从顶点 u 到顶点 v 的非负成本值(cost),边的成本可以想像成两个顶点之间的距离。任两点间路径的成本值,就是该路径上所有边的成本值总和。...的最短距离估计值逐步逼近其最短距离(运行 |v| - 1 次); 检验负权回路:判断边集 E 中的每一条边的两个端点是否收敛。...四、单源最短路径示例 单源最短路径问题是图算法的经典问题,在现实中有很多应用,比如在地图中找出两个点之间的最短距离、最小运费等。...将用户作为顶点,用户之间的好友关系作为边,“六度关系”就是两个用户之间的最短路径。在这个特殊场景下,所有边的权重都可认为是1。

    1K10

    基于协同过滤的推荐引擎(理论部分)

    比如下面的电影和用户评分矩阵: ? 电影_用户矩阵.png 相似度计算 欧式距离 欧氏距离指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。...1.0/(1.0 + 欧式距离)的作用是使相似度的值在0到1之间变化,越相似,相似度的值越大,距离为0时,相似度为1。 皮尔逊相关系数 ?...皮尔逊相关系数.jpg 资料参考这里 1、皮尔逊相关系数 皮尔逊相关系数可以用来度量两个向量之间的相似度,比欧氏距离好的一点是它对用户评级不敏感,比如某个狂躁者对所有电影评分都是5,一个忧郁者对所有电影评分都是...np.linalg.norm(colB) return 0.5 + 0.5 * (num / denom) 相似度选择 计算两个电影之间的距离,是基于物品(item-based)的相似度,计算用户的距离...,就跳过这个物品 continue # 找出要预测评分的物品列和当前取的物品j列里评分都不为0的下标(也就是所有评过这两个物品的用户对这两个物品的评分)

    1K50

    基于协同过滤的推荐引擎(理论部分)

    比如下面的电影和用户评分矩阵: ? 相似度计算 欧氏距离(euclidean metric) 欧氏距离指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。...1.0/(1.0 + 欧式距离)的作用是使相似度的值在0到1之间变化,越相似,相似度的值越大,距离为0时,相似度为1。 皮尔逊相关系数 ?...资料参考这里 - 皮尔逊相关系数 皮尔逊相关系数可以用来度量两个向量之间的相似度,比欧氏距离好的一点是它对用户评级不敏感,比如某个狂躁者对所有电影评分都是5,一个忧郁者对所有电影评分都是1,皮尔逊相关系数会认为这两个向量相等...(colB) return 0.5 + 0.5 * (num / denom) 相似度选择 计算两个电影之间的距离,是基于物品(item-based)的相似度,计算用户的距离,是基于用户(user-based...# 找出要预测评分的物品列和当前取的物品j列里评分都不为0的下标(也就是所有评过这两个物品的用户对这两个物品的评分) overlap = np.nonzero(np.logical_and

    92690

    PageRank、最小生成树:ML开发者应该了解的五种图算法

    我们习惯于将用户属性以列的形式展示在行中。但现实世界的数据果真如此吗? 在互联世界中,用户不能被视为独立的实体。他们之间存在一定的关系,我们有时希望在构建机器学习模型时考虑到这些关系。...在关系数据库中,我们无法在不同的行(用户)之间利用这种关系,但在图数据库中,这样做非常简单。 在这篇文章中,我们将讨论一些数据科学家应该了解的非常重要的图算法,以及如何使用 Python 实现它们。...实施的可能性仅仅受到自身想象力的限制。(想象力越丰富,算法的应用越广泛。) 代码 我们将使用 Python 中的 Networkx 模块来创建和分析图。...下面以包含城市和城市间距离信息的图为例,实现我们的目的。 ? 带有随机距离的图 首先创建一个带有城市名(边)和距离信息的列表,距离代表边的权重。...如果用户 A 跟帖用户 B,则在用户之间创建链接;如果用户发推/转推,则在用户和推文之间建立链接; 推荐引擎。 代码 在本次练习中,我们将使用 Facebook 数据。

    1K40

    一文综述数据科学家应该了解的5个图算法

    在互联世界中,用户不是独立的实体,它们彼此之间具有一定的关系,我们有时在构建机器学习模型时就包括这些关系。...如果某个帐户曾经进行过诈骗,则很有可能关联的帐户也容易受到诈骗。 代码 我们将使用 Networkx 模块创建分析图形。 下图包含城市和它们之间的距离信息。 ?...随机距离的图 首先创建一个边列表和他们之间的距离: edgelist = [['Mannheim', 'Frankfurt', 85], ['Mannheim', 'Karlsruhe', 80], [...聚类 - 首先构造MST,然后使用群集间距离和群集内距离确定用于破坏MST中某些边的阈值。 图像分割 - 以像素为节点,像素之间的距离(基于某种相似性度量,颜色,强度等)的图形上构造一个MST。...我们有一个Facebook用户之间的边/链接文件。我们首先使用以下方法创建FB图: # 读取数据集 fb = nx.read_edgelist('..

    89230

    用 Milvus 和 NVIDIA Merlin 搭建高效推荐系统

    pymilvus SDK:用于连接 Milvus 服务器、创建向量数据库索引并通过 Python 接口运行查询命令。...因为我们不知道向量中的每个值代表什么意思,无法使用关系型数据库来确定一个向量是否一定小于另一个向量,唯一能做的就是计算两个向量之间的距离。...如果两个向量之间的距离很小,可以假设它们所代表的特征相似;如果距离很大,可以假设它们代表的数据十分不同。对我们而言,向量距离及其含义是有用的。我们可以创建索引结构,高效搜索这些数据。...在本示例中,加入了这两个步骤从而更为完整地展示推荐系统的多阶段工作流程。 最后,将用户和商品向量导出为 parquet 文件,稍后可以重新加载并为其在 Milvus 中创建向量索引。...而且,这两个框架都在积极开发中,每个版本都会添加许多新功能,例如,Milvus 新增了基于 GPU 加速的向量数据库索引。

    46220

    关系图谱在贝壳的构建和应用

    在量化关系强度之后,两个边之间的内容由关系变为数值,值越大表示两个节点直接的关系变的越紧密。关系强度可以做一些直接的应用,如客户偏好的计算,也可以用来做子图的抽取,基于子图做一些应用。...可以看出大部分用户连接数比较低:40%的用户,与房的连接数小于10;大约80%的用户,与房的连接数小于140。 从这两个数据可以看出:贝壳平台需要增加用户的连接数。增加连接数,可以增加用户的转化率。...首先看下基于相似房源,首先回顾下基于物品的协同过滤原理:当多个用户同时喜欢两个物品时,我们认为这两个物品是相似的,当某个用户喜欢其中一个商品时,我们认为用户也可能喜欢另一个商品,这是协同过滤。...同样,如果H1的相似房源是H2,C1和H2之间可以叠加一个关系强度。 ② 基于相似用户+关系强度: ? 基于用户的协同过滤(UserCF)当两个用户同时喜欢多个商品时,我们认为这两个用户是相似的。...以房客通项目为例:当某个用户经常浏览关注或者咨询某个房源时,房源的维护人A1和客户的维护人A2。A1会邀请A2带着客户来带看房源,这是一个三度查询的示例。产品上线之后,采纳率提升了20%。 2.

    1.7K30

    ICLR 2020丨论“邻里关系”的学问:度量和改进图信息在图神经网络中的使用

    1 背景知识 a)图数据与数据分类 图是一种强大的数据结构,能够轻松地表示实体(即节点)之间的各种关系(即边)。 实体可以是社交网络中的用户个体,或者分子结构图中的原子。...关系可以是社交网络中用户之间的朋友关系、相似性关系等,或者分子结构图中原子之间的相互关系。 一般在图数据中,节点(实体)的选择是固定的,但是边的构建方法却多种多样。...答案:利用数据关系带来的性能提升,和原始图数据中节点从邻居获取的信息的“数量”和“质量”有关!为此,可以用两种平滑度度量方法,来衡量这两个方面!...3 神奇的CS-GNN模型 于是,侯逸帆提出了一种新的模型CS-GNN,该模型利用这两个平滑度指标选择性地聚集邻居信息,以放大有用信息,减少负干扰!...比如达到什么范围时图数据的效果最好? 答:因为这两个值是信息增益的一个近似,很难去用他们得到一些精确的结论。不过还是可以用这两个值帮助大家选择图数据或者理解改进图神经网络的。

    79420

    基于分解和重组的分子图的生成方法

    实验证明,作者方法不仅可以在惩罚性log P和药物相似度这两个标准指标下找到更好的分子,还可以生成显示有效中间分子的药物分子。...由于可能存在的药物样分子数量估计在10^23到10^60之间,设计具有所需属性的新药物和材料的分子是一项具有挑战性的任务。尽管已经研究了各种类型的表示方法,但分子本质上是具有节点和边属性的图形结构。...在完成后,作者检查每个枚举的子图,并仅保留目标属性分数已经高于预先确定的阈值的子图,以便在下一个重新组装步骤中有效地将它们重新组合以构建新的图形。...在节点的重新组装过程中,模型选择单个节点vi ∈ V(Gt)和uj ∈ V(Gt'),使得它们具有相同的节点标签。模型将这两个节点叠加在一起形成vt+1。...在边的重新组装中,模型从环中选择边,并以与边的组装方式相同的方式将它们叠加在一起。将两个图形组合起来的计算成本取决于环中节点和边的数量。

    30210

    【向量检索研究系列】快速入门

    欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异。...2.3 余弦距离余弦距离计算的是两个向量之间的夹角余弦值,夹角越小越相似,因此余弦相似度值越大越相似。...图片余弦距离和内积距离更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题。...在查询时,Annoy 会顺着树结构找到距离目标向量较近的一些子空间,然后比较这些子空间里的所有向量以获得最终结果。显然,当目标向量靠近某个子空间的边缘时,有时需要大大增加搜索的子空间数以获得高召回率。...图片对称距离计算:直接使用两个压缩向量x,y的索引值所对应的码字q(x),q(y)之间的距离代替之,而q(x),q(y)之间的距离可以离线计算,因此可以把q(x),q(y)之间的距离制作成查找表,只要按照压缩向量的索引值进行对应的查找就可以了

    3.2K115

    复杂网络学习笔记

    (图来源于“普惠大数据中心”) 如果在一段时间之后,知识图谱的结构发生了很大的变化,就可能存在异常,需要进一步的关注。...网络基本元素 通常用G来表示网络,网络的基本元素是节点V和边E: G = (V,E) 如果网络中的边是有方向的,则称为有向图: 该图表示为: G = (V,E) 顶点集合:V = {a, b} 边集合:...聚类系数(簇系数) 某节点i的度为ki,也就是该节点有ki个邻集,那么该节点的聚类系数Ci就定义为这ki个节点之间存在的边数Ei,与总的可能的边数ki(ki-1)/2之比: Ci = 2 * Ei...最短路径 两个节点(m,n)之间边数最少的路径称为最短路径,最短路径的长度则为这两个点的距离d(m,n)。 平均路径长度 平均路径长度是所有节点对之间的距离的平均值。...(这几个网络模型我都还没有搞明白,先挖个坑,以后再填) 无标度网络 在现实世界的网络中,少数的节点往往拥有大量的连接,而大部分节点却很少,网络缺乏一个特征值(或平均度值),即节点值的波动范围相当大。

    1.6K80
    领券