作者:于媛,十三鸣

本文长度为3300字,建议阅读10+分钟

本文为大家介绍常用的网络属性和经典的网络模型。

标签:机器学习

[ 导读 ]在研究网络的时候,我们往往需要从结构层面对网络进行分析,网络属性可视为对网络结构的静态刻画,而网络模型则能帮助我们从动态的网络生成的过程了解网络结构。这节我们主要介绍一些常用的网络属性和一些经典的网络模型。

目录

一、网络属性(Network Properties)

二、Erdös-Renyi Random Graph Model

三、Small-World Model

四、Kronecker Graph Model

五、Stochastic Kronecker Graph Model

一、网络属性(Network Properties)

1. 度分布(degree distribution)P(k)

度分布指的是对一个图(网络)中顶点(节点)度数的总体描述。对于随机图,度分布指的是图中顶点度数的概率分布。

Nk表示度数为k的节点, N表示网络中度的总数,则度分布为:

通常我们用直方图的形式来表示图的度分布,如下图:

2. 路径(path) Pn

路径指一个顶点序列,使得从它的每个顶点有一条边到该序列中下一顶点。一条道路可能是无穷的,但有限道路一定会有一个最先的顶点(称为起点)和最后的顶点(称为末点),即路径的端点。同时,路径也可以经过一个点多次,比如:ACBDCDEG。

3. 距离(distance)h

两个节点间最短的路径称为这一对节点的距离。注意如果两个点不相连,则规定距离是无限大或者是0。

在有向图中,距离必须是带方向的。举例说明,在有向图中,不同,因为可能出现B、C直接连接,但是从C到B需要经过A节点的情况。

4. 直径(diameter)

图的直径是整个图中节点间距离的最大值。对于一个连通图或者强连通的有向图,平均路径长度公式是:

其中代表从节点 i 到节点 j 的距离,表示最大边数(其中 n 表示节点数)

注意:我们计算平均路径的前提条件是节点对都是可达的,否则不能纳入计算(不可达的节点对的距离为无穷大),这个方法也适用于强连通图。

5. 集聚系数(clustering coefficient)C

集聚系数描述一个无向图中的顶点之间结集成团的程度。具体指是节点的邻接点间相互连接的程度。对于节点 ,集聚系数可以表示成:

其中,式子中ei表示节点 i 的邻居之间的边数,ki表示节点 i 的度(即节点 i 的邻居数),分母ki(ki-1)中的 表示邻居间的最大边数。

集聚系数计算实例如下:

具体计算过程分别为:

很多时候也可用平均集聚系数(Average clustering coefficient)来表示一个网络的集聚系数:

平均集聚系数的计算实例如下:

6. 连通元件(connected components)S

连通元件又称为元件、分量或分支,是一个无向子图,在元件中的任何两个顶点都可以经由该图上的边抵达另一个顶点,且没有任何一边可以连到其他子图的顶点。

找到连通元件的算法:

  • 从任意一点开始进行广度优先遍历(BFS);

  • 对访问过的节点进行标记;

  • 如果所有节点都被访问过了,整个网络就是都是连通的;

  • 否则找到一个未被访问的节点重新进行广度优先遍历。

了解了这些基本的网络属性之后,要如何应用它们呢?接下来,我们结合网络模型,应用上述网络属性进行具体分析,加深对网络属性和网络构成的认识。

这里主要介绍三个常用的随机网络模型:ER随机图模型(Erdös-Renyi Random Graph Model)、小世界模型(Small-World Model)和Kronecker图模型(Kronecker Graph Model)。

二、Erdös-Renyi Random Graph Model

“随机”的概念频繁应用于各类模型的构建,网络模型的构建同样关注这一概念。ER随机图模型作为网络模型中的经典模型,在提出后的很长一段时间,都是研究网络的重要数学工具。

随机图模型可由表示,具体定义如下:

:该网络包含n个节点,任一边(u,v)出现的概率为p,且为独立同分布。

值得注意的是,随机图模型生成的过程是随机的,因此 并不能指定一个唯一的图。

接下来,结合上一部分介绍的网络属性对进行分析。

1. 度分布P(k)

的度分布服从二项分布(binomial distribution),P(k)可表示如下:

2. 集聚系数系数Ci

结合集聚系数的计算公式,首先确定节点 i 邻接点间的边数ei,ei的期望可表示为。随后可得集聚系数期望值如下:

其中,的平均度。从上述公式不难发现,随机图的集聚系数并不高。此外,若在不改变的前提下,通过不断增加节点来提升图的规模,随着图规模的增大,集聚系数将不断降低。

3. 路径长度 Path length

路径长度的计算可结合图的广度优先遍历(BFS)进行思考。首先引入扩展性a,a 计算公式如下:

对扩展性为 a,规模为 n 的网络,存在长度为O((log n/a))的路径。

随机图具有很好的扩展性,因此BFS访问所有节点需要对数步O(log n)。

结合上述特性,可知对随机图而言,存在网络图规模很大,但平均最短路径仍然很短的现象,具体情况可参考下图。

4. 连通元件 

随机图模型的结果随 p 值大小的变化可总结如下图:

课程中还对比了随机图模型与真实网络结构在上述四类属性上的差异,可总结为如下四点:

  1. 随机图模型低平均路径长这一点与真实世界网络模型契合;

  2. 度分布情况存在差异;

  3. 大多数真实网络中的巨型组件不会通过相变出现;

  4. 随机图模型集聚系数极低,缺乏局部结构。

综合来看,真实网络的结构和随机图模型还有很大差距,那为什么还要研究随机图模型?主要原因如下:

  1. 随机图模型是后续课程的基础,也是重要的参考模型;

  2. 随机图模型有助于我们通过比较更深入地认识真实网络数据;

  3. 随机图模型能帮助我们理解随机过程对网络结构能够产生多大程度的影响。

三、Small-World Model

小世界模型最经典的特征是既具有规则网络的高聚集性,又具有类似随机网络的小直径。相较随机图模型,小世界模型能够更好地反映真实网络的情况。

在介绍随机网络时提到,随机网络无法解释真实网络中存在的一些情况:局部集聚(较高的集聚系数)和三元闭合(朋友的朋友是朋友)。从网络结构来看,随机网络与真实网络的一大差异便是过低的集聚系数,所以在随机网络模型基础上进行改进时,需要要着重考虑的便是——如何在保留小网络直径这一特点的同时提高集聚系数,使得构建的模型能够对网络局部结构进行更好的刻画。

规则网络(上图左)在集聚系数和网络直径这两个属性上与随机网络(上图右)完全相反。小世界网络模型的构建则正是以此为基础,具体构建流程如下:

  1. 初始化:构建一个低维规则栅格网络,该网络具有高集聚系数;

  2. 重连:以固定概率 对连边进行重连,通过重连构建连接远部的近路。

小世界网络的构建可以理解为在规则栅格网络和随机网络间进行内插,具体过程如上图所示。

想要进一步了解小世界网络模型,可以阅读Watts和Strogatz(1998年)、Newman和Watts(1999年)的两篇论文。

[1]  Watts, D.J. and Strogatz, S.H. (1998) Collective dynamics of “small-world” networks. Nature, 393,

440-442.

[2]  Newman, M.E.J. and Watts, D.J. (1999) Renormalization group analysis of the small-world network

model. Physics Letters A, 263, 341-346.

四、Kronecker Graph Model

Kronecker图模型就是产生大型真实网络的模型,这种模型的核心思想就是递归生成图。该模型特点是图的整体和该图的一个部分类似,也就是自相似(self-similarity)由于有这种特点,我们可以利用Kronecker积来对自身进行迭代。

下面是典型的Kronecker图模型的生成过程:

Kronecker积的定义:对于矩阵A(形状是N*M)和矩阵B(形状是K*L),那么这两个矩阵Kronecker积就是一个形状是N*KxM*L的矩阵:

也就是说,两个图的Kronecker积可以利用两个图的邻接矩阵的积得到。

举例来说假设有图A和图B,他们的邻接矩阵分别是Ma(形状是1x2)和Mb(形状是3x4)

所以Kronecker积是:

通过上面我们看出的确存在子矩阵和原来矩阵成倍数关系的,所以存在递归子问题。

这样就可以通过上述方法得到Kronecker图模型。

五、Stochastic Kronecker Graph Model

接下来介绍随机Kronecker图模型,这个模型和Kronecker图模型的区别就是在于初始化并不是用邻接矩阵,而是用概率矩阵来代替。

构建的算法流程是:

  • 初始化一个 的概率矩阵;

  • 计算概率矩阵 的 次Kronecker幂;

  • 对于 的每个概率 就是边 的概率;

  • 最后产生的概率矩阵就是随机Kronecker图。

有没有更快的产生随机Kronecker图的方法呢?

主要就是利用不同角度产生图的方法来进行生成,不断把每个单位的概率矩阵(初始化一个概率矩阵)放到象限中规定的行列((u,v))中,然后不断计算乘积对u,v不断更新然后产生的新坐标((x,y))就是图G对应行列的概率。

具体细节可以参考论文:

Kronecker Graphs: An Approach to Modeling Networks:

http://www.jmlr.org/papers/v11/leskovec10a.html

总结

本节介绍的网络属性和网络模型是网络研究的基础,熟练地掌握和应用能够提升对网络结构尤其是一些特殊网络结构的敏感度,有助于后续研究的深入。

编辑:黄继彦

校对:林亦霖

作者简介

于媛

十三鸣

数据派研究部介绍

数据派研究部成立于2017年初,以兴趣为核心划分多个组别,各组既遵循研究部整体的知识分享实践项目规划,又各具特色:

算法模型组:积极组队参加kaggle等比赛,原创手把手教系列文章;

调研分析组:通过专访等方式调研大数据的应用,探索数据产品之美;

系统平台组:追踪大数据&人工智能系统平台技术前沿,对话专家;

自然语言处理组:重于实践,积极参加比赛及策划各类文本分析项目;

制造业大数据组:秉工业强国之梦,产学研政结合,挖掘数据价值;

数据可视化组:将信息与艺术融合,探索数据之美,学用可视化讲故事;

网络爬虫组:爬取网络信息,配合其他各组开发创意项目。

点击文末“阅读原文”,报名数据派研究部志愿者,总有一组适合你~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派THUID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

未经许可的转载以及改编者,我们将依法追究其法律责任。

点击“阅读原文”加入组织~

原创 | 斯坦福Machine Learning with Graphs 学习笔记(第二讲)相关推荐

  1. 原创 | 斯坦福Machine Learning with Graphs 学习笔记(第一讲)

    作者:林夕 本文长度为2900字,建议阅读9分钟 本文为大家介绍图网络的基本概念.网络的应用以及图的结构. 标签:机器学习 目录 一.Why Networks 二.网络的应用     2.1 应用领域 ...

  2. 视觉SLAM十四讲学习笔记-第二讲-开发环境搭建

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 ​​​​​​​ lin ...

  3. Adams学习笔记 第二讲 Adams入门示例

    Adams学习笔记 第二讲 Adams入门示例 Falling Stone石头坠落 问题描述 使用步骤 结论与分析 软件环境:Adams2018(官方文档使用的开发环境为2013.2) 声明:本讲内容 ...

  4. 视觉SLAM十四讲学习笔记-第二讲-初识SLAM

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 "定位"和"建图",可以看成感知的"内外之分". ...

  5. 惯性导航系统学习笔记——第二讲

    第二讲 地球形状和曲率半径 本文为学习朱家海教授<惯性导航系统>一课所做的课堂笔记,文中PPT为朱教授课程所用. 一.地球几何形状 1.大地水准面:以海平面为基准,向大陆延伸而形成的封闭曲 ...

  6. Apollo星火计划学习笔记第二讲——自动驾驶调试及仿真实践

    Apollo学习笔记 零.目录 一.自动驾驶的开发流程 1.1 引言 二.Apollo调试工具的使用 2.1 实验内容 2.2 实验流程 三.Apollo仿真工具的使用 3.1 实验内容 3.2 实验 ...

  7. 决策树(chap3)Machine Learning In Action学习笔记

    优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据. 缺点:可能会产生过度匹配问题. 适用数据类型:数值型(必须离散化)和标称型. 决策树创建分支的伪代码函数crea ...

  8. 机器学习编译入门课程学习笔记第二讲 张量程序抽象

      本节课的slides链接如下:https://mlc.ai/summer22-zh/slides/2-TensorProgram.pdf:notes链接如下:https://mlc.ai/zh/c ...

  9. 离散数学学习笔记——第二讲——命题逻辑(第二部分)(2.10演绎法推理)

    1. 推理规则 2. 自然演绎法 3. 演绎示例1--直接证明法 4. 演绎示例2--规则CP证明法 5. 演绎示例3--间接证明法(反证法.归谬法) 6. 命题演绎示例4 7. 命题演绎示例5

最新文章

  1. 运行配置文件中指定类的指定方法
  2. 正则验证多个邮箱用分号隔开
  3. 指纹图像方向图matlab,matlab指纹方向场方向图程序
  4. Elasticsearch 自定义分析器Analyzer
  5. 网页中使用的特殊字体(webdings, wingdings 2)
  6. 北京大学 | 软件工程理论与实践
  7. 计算机实验报告protel,Protel99se实验报告.doc
  8. 记第一次FPV模式飞行穿越机的感受
  9. 下载安装typora
  10. 综合影响力模型InfG算法
  11. 微信小程序Tab切换下面的图表显示
  12. android wear 制作时钟界面,android wear开发之绘制表盘.doc
  13. 解决模拟人生3(SIM 3)闪退问题
  14. 利用C++创建一个游戏(1)窗口框架(代码+注释)
  15. Git commit文件提交到仓库失败原因——Author identity unknown
  16. 小学奥数 7653 地球人口承载力估计 python
  17. 麒麟信安天机存储加密系统——国家密码管理局商用密码认证产品
  18. 黑暗爆炸 #1059. [ZJOI2007]矩阵游戏
  19. 视频怎么水平翻转画面并做锐化处理?
  20. NB-IOT与物联网

热门文章

  1. typecho本地上传头像_微信QQ抖音透明头像制作方法,还有不会的吗?
  2. 模板路径,模板变量,过滤器和静态文件的引用
  3. [自带避雷针]DropShadowEffect导致内存暴涨
  4. 运维利器:钉钉机器人脚本告警(Linux Shell 篇)
  5. Windows系统一键安装zabbix agent
  6. Go --- 设计模式(工厂模式)
  7. 验证码识别,发票编号识别(转)
  8. 每天一个linux命令(2):文件权限详解
  9. 关于EXCEL超级链接被禁止的解决方法
  10. pb连接多个数据库 有关问题2