动态网络社区检测概述
从知乎看到的一篇好文章,整理了一下。
1 什么是动态网络?
在静态网络的基础上添加了时间信息。
动态网络是指加上时间戳的网络,包含时序网络和切片网络两种类型。其中时序网络是指网络从初始状态不断演化的情况。切片网络要简单一些,就是由一组切片构成的动态网络。
2 动态网络分类?
一种是Temporal Network(时态网络),该网络为每个节点和边添加了生卒年月,使得它们只能在一段时间内存在;
什么是时态网络?指网络从初始状态不断演化的情况。
第二种是Snapshots Network(快照/切片网络),该网络由一系列在某个时刻或一小段时间内的网络快照组成,通过下标来确定快照的时间顺序。就是由一组切片构成的动态网络。
3 动态网络如何进行社区发现?
动态社区发现,Dynamic community
动态社区发现是动态网络的基础上构建的。通过相关算法得到的动态社区DC由n个节点组成,同时每个节点还有自己的生存时间范围 Pi.
动态社区发现不仅要找到动态网络中的社区结构,还需要指出这些动态社区的生命周期。
3.1 动态社区的生命周期
动态社区的几种变化形态:
出生与死亡,也就是从0到1,与从1到0的过程。
增长与收缩,也就是社区中节点随着时间的变化,节点数量增多与减少的过程。
合并与分裂,随着时间的变化,几个小社区可能会合并为一个大社区,一个大社区可能会分裂为几个小社区的过程。
continue,社区随着时间推移没有变化。
复苏,社区消失一段时间后,又以相同的形式出现,如一年四季。
4 现存的动态网络社区发现算法有哪几类?
1. 即时最佳社区发现(Instant Optimal CD),该方法认为某个时刻t的社区只和当前网络结构有关。
2. 时间权衡社区发现(Temporal Trade-off CD),该方法认为某个时刻t的社区不仅和当前网络相关,还和过去的网络结构有关。
3. 跨时间社区发现(Cross-Time CD),该方法不考虑时刻,直接对整个动态网络进行社区发现。
4.1 即时最佳社区发现(Instant Optimal CD)
算法分2步:
1. discovery:识别出每个时间区间的社区。
2. matching:将不同时间区间的社区联系在一起,最后形成一系列的动态社区结构。
优点:可以并行化,将不同时间片上的社区发现任务并行执行,在Math阶段合并。
缺点:不能低于相邻2个时间片上网络结构的巨变,比如2个相邻时间分片上找打的社区差别非常大,那么match阶段想要匹配就非常难。
利用时间片计算限制了这种算法只能在快照网络上运行。
4.2 时间权衡社区发现(Temporal Trade-off CD)
算法分2步:
1. Initialisation:在最早时间片的网络结构中做一次社区发现
2. Update:动态社区的每一次更新都将上一次的社团结构和当前网络中的社团结构作为本次更新的输入,最终形成一系列的动态社团结构。
优点:
和前一种方法相比,引入了时间平滑的机制,使得系统能够更有效对抗网络巨变的影响。
缺点:
每次计算都要依赖上一次的结果,因此这个算法只能串行
连锁输入也有可能造成级联故障进而产生雪崩效应。
4.3 跨时间社区发现(Cross-Time CD)
算法分2步:
1. Merge:把动态网络压缩成一个网络,并且建立压缩网络和动态网络的节点对应关系
2. Extract:在这个网络上做静态社区发现,最后通过对应关系构建一系列的动态社团结构
优点:
能够有效对抗网络巨变
没有串行算法带来的雪崩效应风险
缺点:
很难描述社团的演化过程(缺失社区的出生和死亡机制,且社团数量是固定的)。
5 动态社区可视化
分为2种,一种是带有时间轴的静态可视化,一种是随着时间变化的动态可视化。
可以想象成这是一个动漫,静态可视化就是动漫制作过程中的每一帧,由每一帧排布在一起构成的序列,动态可视化就是做好的在播放的视频。
6 动态社区发现评估方法
6.1 数据集
需要有数据集,可以是真实数据集,可以是模拟的数据集,作者提出一种合成网络生成器来构建虚拟网络,要求这个虚拟网络需要有真实网络的特征,如小世界特性等。
6.2 对比算法
静态基准:GN,LFR算法
动态基准:SBMs等算法
6.3 评价指标
(1)标准化互信息(NMI):该指标适合用在有标签的网络上,通过计算预测社团和真实社团之间的信息熵来评价社团发现的效果。
(2)模块度(Q):该指标适合用在没有标签的网络上,通过计算模块度Q来评估社团发现的效果,通常认为Q越大社区发现效果越好。
参考文档:Community Discovery in Dynamic Networks: A Survey
动态网络社区检测概述相关推荐
- sklearn自学指南(part45)--新颖性和离群值检测概述
学习笔记,仅供参考,有错必究 新颖性和离群值检测 概述 许多应用程序要求能够判断一个新的观测值是否与现有的观测值属于相同的分布(它是内值),还是应该被视为不同的分布(它是离群值).通常,这种能力用于清 ...
- bgll算法 matlab,一种复杂网络社区检测的方法与流程
本发明涉及一种社区检测方法,具体说是一种复杂网络社区检测的方法. 背景技术: 过去几年中已有许多社区检测方法相继提出,其中应用最广泛的是基于模块度的最优化方法.然而,模块度最优化本质上是一个典型的NP ...
- Halcon 缺陷检测概述
缺陷检测概述 1. 什么缺陷检测 2. 缺陷检测的方法总结 1. 什么缺陷检测 你认为不好的全是缺陷(划痕.脏污.缺损.正反.凹陷.凸起等) 缺陷检测项目之所以难度大,就是因为它的不确定性,灵活性,所 ...
- “黑产“识别算法(社区检测,相似度,关联关系)
"黑产"识别算法 前言 黑产的特性 通过业务特性识别 通过关联关系识别(非监督学习) 通过行为相似度识别(非监督学习) 通过用户画像识别(分类.预测) 前言 我们讨论的黑产识别,实 ...
- 如何计算图论中的模块化modularity指标,图论中的社区检测算法——Louvain community
图论中的社区检测算法--Louvain community 前言 模块化指标介绍 数学定义 Matlab代码实现 使用实例 community_louvain函数 参考文献 前言 在过去的十年中,人们 ...
- 重叠社区检测基础算法
1.思维导图 2.算法详解 1)CPM算法 (1)算法思想 假设社区由完全连接的子图的重叠集(团)构成,并通过搜索相邻的团来检测社区. 首先识别网络中所有大小为K的团,一旦这些被识别出来,就会构建一个 ...
- 海量数据挖掘MMDS week3:社交网络之社区检测:基本技巧
http:// blog.csdn.net/pipisorry/article/details/49052057 海量数据挖掘Mining Massive Datasets(MMDs) -Jure L ...
- python画聚类图、并且把聚类图保存起来_Python利用igraph绘制复杂网络聚类(社区检测)结果图-Go语言中文社区...
前言:研究生期间主要做复杂网络聚类,也称为社区检测.临毕业前,老师让之前发表的论文里的算法代码C化,并写出界面进行可视化.由于之前虽然做过可视化,但基本上都是将聚类结果导入到pajek或者gephi这 ...
- 复杂网络;社交网络;社区检测;节点重要性(重要节点识别);舆论动力学模型; 传染病模型 ;蓄意攻击 、随机攻击;网络鲁棒性、脆弱性、稳定性
复杂网络 社交网络 社区检测 节点重要性(重要节点识别) 舆论动力学模型 传染病模型 蓄意攻击 随机攻击 网络鲁棒性.脆弱性.稳定性 Python 基本的网络分析 详细私聊 网络拓扑图 连通性 网络效 ...
- PyTorch图神经网络实践(七)社区检测
文章目录 前言 组合优化 社区检测 端到端的学习与优化 作者介绍 核心思想 技术手段 方法创新 代码复现 导入包 数据转换 ClusterNet模型 创建网络 参数设置和数据导入 训练网络 前言 最近 ...
最新文章
- C语言网络编程:listen函数详解
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)
- Python入门100题 | 第072题
- java之DocumentBuilderFactory解析xml
- LeetCode 695. Max Area of Island javascript解决方案
- 一个API接口的例子,包括单元测试
- 帝国CMS7.5仿金色财经整站源码+手机端+会员中心+投稿-财经综合门户
- 【Python成长之路】机器学习:10+分类算法汇总学习
- 调车遇到的问题及解决办法
- 【leetcode】 Unique Binary Search Trees (middle)☆
- LayaAir TTF字体使用
- 全球五十家知名传感器制造商分布盘点、特点分析
- 深入C++库分析sync_with_stdio实现
- JavaWeb学习笔记4
- xhr的get和post请求的简单实现
- 2019 Multi-University Training Contest 6:Snowy Smile(线段树查询最大子段和)
- 高级架构师_Elasticsearch_第二章kibana+IK分词器安装+索引操作+ 映射操作
- ORACLE中函数last_day()的用法
- ceph分布式存储-常见 PG 故障处理
- 云服务器不需要网站吗,网站不用云服务器可以吗
热门文章
- intouch sqlserver_intouch 连接modbus 。转存数据库方法
- c语言实现按键的抖动与消除,7.3 按键消抖
- SPH(光滑粒子流体动力学)流体模拟实现五:PCISPH
- 13.56MHZ刷卡芯片CI521兼容cv520/ci520支持A卡B卡MIFARE协议
- creo4.0的计算机系统要求,Creo4.0系统配置文件教程详解 参数设置
- 荣耀V8鸿蒙系统刷机包,华为荣耀V8原版rom系统刷机包_荣耀V8最新版升级包更新下载...
- mil与mm单位换算工具
- python数字转中文字符_python数字金额转换为中文大写金额
- 广联达软件未检测到加密锁
- IEEE的论文哪里可以下载?