CS224W1.3——图表示的选择

news/2024/5/20 0:31:31 标签: 推荐算法, 神经网络, 人工智能

文章目录

  • 1. 图网络构成
  • 2. 选择一个合适的表示
  • 3. 图结构实例
    • 3.1 二部图
    • 3.2 图的表示
  • 4. 节点和边的属性

这小节主要讲图表示的选择。

1. 图网络构成

在这里插入图片描述

对于每个实体,我们创建节点 N N N,对于每个关系,我们创建边 E E E,对于整体而言,我们创建图 G ( N , E ) G(N,E) G(N,E)

图的重要之处在于它是一种通用语言,比如:

在这里插入图片描述

在上图前三种不同场景中,用的图结构其实是一致的。

2. 选择一个合适的表示

在这里插入图片描述

你选择的节点数据和边数据是十分重要的。

在这里插入图片描述

选择合适的网络表示给定领域或给定问题,将决定我们成功使用网络的能力。

3. 图结构实例

下面是一个无向图与有向图的示例:

在这里插入图片描述

  • 无向图可以是合作关系、或一些朋友关系。
  • 有向图可以是电话记录,粉丝关系等。

下面是一些无向图的度,有向图的度解释:

在这里插入图片描述

3.1 二部图

在这里插入图片描述

二部图是一种在不同领域都很常见的图结构。

二部图的特点是通常是由两种不同类型的节点组成的图,其中节点只与其他类型的节点交互

我们可以定义折叠(folded)或映射(projected)网络概念,比如作者合作网络,电影评分网络,举个例子:

在这里插入图片描述

如果我们有一个二部图(中间),我们就可以把它投影到左侧或者右侧,当把它投射出来的时候,在投影图中我只使用一侧的节点。连接节点的方式是,将在一对节点之间创建一个连接,如果他们至少有一个共同的邻居。

所以如果这些是作者,将创建一个合作或共同作者图表,如果两位作者共同撰写了至少一篇论文,那么将他们联系起来。

举个例子1,2,3这篇论文(A)的三位合著者,所以它们都是相互连接的。例如,3号和4号没有共同撰写论文,

所以它们之间没有联系。举个例子,5号和2号共同撰写了一篇论文,所以他们之间有联系,因为他们是合著者。

类似的右边也可以做出论文关系图。

3.2 图的表示

在这里插入图片描述

可以用邻接矩阵表示图结构。但也有一些问题。

真实世界的网络结构往往比较稀疏:

在这里插入图片描述

就会导致我们创建的邻接矩阵存在大量0元素。

还有其他两种常见的图表示方法:

  • 边列表(edge list):

在这里插入图片描述

这种表示法的问题在于,很难对图进行任何形式的操作或分析,因为即使计算给定节点的度数也不是平凡的(计算给定节点的度数的复杂度比较高)。

  • 邻接列表(Adjacency list):

在这里插入图片描述

4. 节点和边的属性

在这里插入图片描述

节点、边、整个图可以有附加的属性。例如,一条边可以有一个权值。

课程中还讲了一些数据结构中的图的概念(连通图、强连通图…),这里就不赘述了。


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

相关文章

AcWing 1.2.1 最长上升子序列模型 + 动态规划 + 图解(详细)

(1)acwing 4557. 最长上升子序列 4557. 最长上升子序列 - AcWing题库 给定一个长度为 N 的整数序列 a1,a2,…,aN。请你计算该序列的最长上升子序列的长度。上升子序列是指数值严格单调递增的子序列 输入格式 第一行包含整数 N第二行包含 N个整数 a1,a…

抖音上怎么挂小程序?制作小程序挂载抖音视频

公司企业商家现在已经把抖音作为营销的渠道之一,目前抖音支持短视频挂载小程序,可方便做营销。以下给大家分享这一操作流程。 一、申请自主挂载能力 首先需要在抖音开放平台官网注册一个抖音小程序账号,然后申请短视频自主挂载能力。 二、搭…

nodejs+vue旅游推荐系统-计算机毕业设计

本文首先介绍了旅游推荐系统的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图…

♥ uniapp 环境搭建

♥ uniapp 环境搭建 开发uniapp需要用到的工具有两个: 1、用到的平台和地址: 需要了解的几个平台以及地址: (1)微信公众平台 https://mp.weixin.qq.com/ (2)微信开发文档 https://develo…

前端的基本介绍

一、前端和后端的简述 前端:直接和用户打交道的,如和网页的页面 后端:不直接和用户打交道的,一堆代码,用户不能直接看到 二、前端需要学习的内容 前端三剑客: 1. HTML:网页的骨架,只…

AI大模型基础环境搭建

文章目录 AI大模型基础环境搭建简介搭建大模型基础环境通常会依赖以下package:conda安装demo环境搭建关于该git项目需要注意的一些点前后端封装 实现效果截图 和 一点后续的废话: AI大模型基础环境搭建 简介 简单描述一下本文章里会教大家做的东西 1、…

笔记44:Batch_Normlization 过程详解

笔记本地地址:D:\work_file\DeepLearning_Learning\03_个人笔记\2.图像处理任务\BN a a a a a a a a a a a a a a a a a

CMake aux_source_directory 学习

如下&#xff0c;prj是空文件夹&#xff1b; add.h; #include <iostream>using namespace std;int add1(int a, int b); num.h; int num1100; int num2301; add.cpp&#xff1b; #include "add.h"int add1(int i, int j) {return i j; } main.cpp&#x…