《Detecting sequences of system states in temporal networks》

2023-11-03 05:21

本文主要是介绍《Detecting sequences of system states in temporal networks》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 论文地址
  • bibtex
  • 代码地址
  • 主要内容
  • 网络的距离度量
      • 图编辑距离
      • DeltaCon
      • The quantum spectral Jensen-Shannon divergence
      • 其余四种频域距离

论文地址

https://www.nature.com/articles/s41598-018-37534-2

bibtex

@article{DBLP:journals/corr/abs-1803-04755,author    = {Naoki Masuda andPetter Holme},title     = {Detecting sequences of system states in temporal networks},journal   = {CoRR},volume    = {abs/1803.04755},year      = {2018},url       = {http://arxiv.org/abs/1803.04755},archivePrefix = {arXiv},eprint    = {1803.04755},timestamp = {Mon, 13 Aug 2018 16:46:49 +0200},biburl    = {https://dblp.org/rec/journals/corr/abs-1803-04755.bib},bibsource = {dblp computer science bibliography, https://dblp.org}
}

代码地址

https://github.com/naokimas/state_dynamics

主要内容

在这里插入图片描述
动态网络是由网络快照(snapshot)的序列来描述,这篇文章主要考虑网络的链路是动态变化的,比如通讯网络中,节点之间的通讯状态是时断时续的。

假设一个快照的持续时间为 T T T,在这段时间内存在通讯的节点对之间具有连边,用网络的邻接矩阵表示。动态网络序列由网络快照的邻接矩阵组成。

接下来要识别这些邻接矩阵的状态,核心思想就是(层次)聚类。

聚类算法的核心是求元素之间的距离,即网络邻接矩阵间的距离。

网络的距离度量

图编辑距离

d = N ( G 1 ) + N ( G 2 ) − 2 N ( G 1 ∩ G 2 ) + M ( G 1 ) + M ( G 2 ) − 2 M ( G 1 ∩ G 2 ) d = N(G_1) + N(G_2) - 2N(G_1 \cap G_2) + M(G_1) + M(G_2) - 2M(G_1 \cap G_2) d=N(G1)+N(G2)2N(G1G2)+M(G1)+M(G2)2M(G1G2)其中, N ( ⋅ ) , M ( ⋅ ) N(\cdot), M(\cdot) N(),M() 分别代表节点数和边数。

DeltaCon

@article{10.1145/2824443,
author = {Koutra, Danai and Shah, Neil and Vogelstein, Joshua T. and Gallagher, Brian and Faloutsos, Christos},
title = {DeltaCon: Principled Massive-Graph Similarity Function with Attribution},
year = {2016},
issue_date = {February 2016},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {10},
number = {3},
issn = {1556-4681},
url = {https://doi.org/10.1145/2824443},
doi = {10.1145/2824443},
journal = {ACM Trans. Knowl. Discov. Data},
month = feb,
articleno = {28},
numpages = {43},
keywords = {node attribution, anomaly detection, graph classification, culprit nodes and edges, Graph similarity, network monitoring, graph comparison, edge attribution}
}

The quantum spectral Jensen-Shannon divergence

JS 散度解决了 KL 散度不对称的问题:

KL散度:
K L ( P ∣ ∣ Q ) = ∑ x P ( x ) log ⁡ P ( x ) Q ( x ) KL(P||Q) = \sum_x P(x)\log\frac{P(x)}{Q(x)} KL(PQ)=xP(x)logQ(x)P(x)
KL散度具有正定性和非对称性。

JS 散度:
J S ( P ∣ ∣ Q ) = 1 2 K L ( P ∣ ∣ M ) + 1 2 K L ( Q ∣ ∣ M ) , M = 1 2 ( Q + P ) JS(P||Q) = \frac{1}{2}KL(P||M) + \frac{1}{2}KL(Q||M), \\ M = \frac{1}{2}(Q+P) JS(PQ)=21KL(PM)+21KL(QM),M=21(Q+P)
熵的定义为:
H ( P ) = − ∑ x P ( x ) log ⁡ P ( x ) , H(P) = -\sum_x P(x)\log P(x), H(P)=xP(x)logP(x),
从熵的角度来看JS散度: J S ( P ∣ ∣ Q ) = 1 2 K L ( P ∣ ∣ M ) + 1 2 K L ( Q ∣ ∣ M ) = 1 2 ( ∑ x P ( x ) log ⁡ P ( x ) − ∑ x P ( x ) log ⁡ M ( x ) + ∑ x Q ( x ) log ⁡ Q ( x ) − ∑ x Q ( x ) log ⁡ M ( x ) ) = H ( M ) − 1 2 ( H ( P ) + H ( Q ) ) \begin{array}{rl} JS(P||Q) =&\frac{1}{2}KL(P||M) + \frac{1}{2}KL(Q||M) \\\\ =& \frac{1}{2} \left(\sum_x P(x)\log P(x) - \sum_x P(x)\log M(x) + \sum_x Q(x)\log Q(x) - \sum_x Q(x)\log M(x) \right) \\\\ =& H(M)-\frac{1}{2} \left( H(P) + H(Q)\right) \end{array} JS(PQ)===21KL(PM)+21KL(QM)21(xP(x)logP(x)xP(x)logM(x)+xQ(x)logQ(x)xQ(x)logM(x))H(M)21(H(P)+H(Q))
JS散度具有:

  1. 正定性且值域为 [ 0 , 1 ] [0,1] [0,1]
  2. 对称性。

JS散度是比较两个分部的距离,怎样用来计算两个网络的相似度呢?

首先定义密度矩阵:
ρ = e − β L / ∑ i = 1 N e − β λ i \rho = e^{-\beta L}/\sum_{i=1}^N e^{-\beta \lambda_i} ρ=eβL/i=1Neβλi
其中, L = D − A L = D-A L=DA e − β L = I − β L + 1 2 ! β 2 L 2 − 1 3 ! β 3 L 3 + ⋯ e^{-\beta L} = I -\beta L + \frac{1}{2!}\beta^2L^2 - \frac{1}{3!}\beta^3L^3 +\cdots eβL=IβL+2!1β2L23!1β3L3+, 怎么理解这个式子呢?

其实, e − t L e^{-tL} etL 是网络扩散过程:
x ˙ = − L x = ( A − D ) x \dot{x} = -Lx = (A-D)x x˙=Lx=(AD)x的基本解矩阵,该方程的通解为: x = e − t L x 0 x = e^{-tL}x_0 x=etLx0, 而 β \beta β 控制了网络中扩散的时间。
所以 ρ \rho ρ可以反映网络中的扩散过程,因而可以作为网络的特征表示。另一方面, ρ \rho ρ的特征值之和相加为1,所以 ρ \rho ρ可以视为量子力学中的密度矩阵(?暂时不懂)。

对于密度矩阵定义冯纽曼熵(von Neumann entropy):
S ( ρ ) = − ∑ i = 1 N λ ~ i log ⁡ 2 λ ~ i , S(\rho) = -\sum_{i=1}^N \tilde\lambda_i \log_2\tilde\lambda_i, S(ρ)=i=1Nλ~ilog2λ~i,其中, λ ~ i \tilde\lambda_i λ~i ρ \rho ρ的第 i i i个特征值.

根据熵和JS散度的关系,得到两个密度矩阵之间的距离度量:
d = S ( ρ 1 + ρ 2 2 ) − 1 2 [ S ( ρ 1 ) + S ( ρ 2 ) ] d = \sqrt{S(\frac{\rho_1 + \rho_2}{2}) - \frac{1}{2}[S(\rho_1)+S(\rho_2)]} d=S(2ρ1+ρ2)21[S(ρ1)+S(ρ2)]

其余四种频域距离

对于两种拉普拉斯矩阵:
L = D − A , L ′ = I − D − 1 / 2 A D − 1 / 2 L = D - A, \\ L' = I - D^{-1/2} A D^{-1/2} L=DA,L=ID1/2AD1/2
分别取如下两种频域距离度量:
d 1 = ∑ i n ( λ i ( G 1 ) − λ i ( G 2 ) ) 2 d_1 = \sqrt{\sum_i^n(\lambda_i(G_1) - \lambda_i(G_2))^2} d1=in(λi(G1)λi(G2))2 d 2 = ∑ i n ( λ i ( G 1 ) − λ i ( G 2 ) ) 2 max ⁡ { ∑ i n λ i ( G 1 ) 2 , ∑ i n λ i ( G 2 ) 2 } d_2 = \sqrt{\frac{\sum_i^n(\lambda_i(G_1) - \lambda_i(G_2))^2}{\max\{\sum_i^n\lambda_i(G_1)^2 , \sum_i^n\lambda_i(G_2)^2 \}}} d2=max{inλi(G1)2,inλi(G2)2}in(λi(G1)λi(G2))2
其中 λ i \lambda_i λi表示第 i i i大的特征值.

这篇关于《Detecting sequences of system states in temporal networks》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/335880

相关文章

Partical System

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System) 添加"粒子系统组件"(点击Component -> Effects  ->Particle System) 粒子系统检视面板  点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部) 初始化模块: •

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

qml states 状态

states 状态 在QML中,states用于定义对象在不同状态下的属性变化。每个状态可以包含一组属性设置,当状态改变时,这些属性设置会被应用到对象上。 import QtQuick 2.15import QtQuick.Controls 2.15// 定义应用程序的主窗口ApplicationWindow {visible: true // 使窗口可见width: 640 /

System.getProperties().

Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

android6/7 system打包脚本

1.android5打包system就是网站上常见的制作ROM必备的解包打包system脚本 指令如下:mkuserimg.sh -s out/target/product/$TARGET_PRODUCT/system out/target/product/$TARGET_PRODUCT/obj/PACKAGING/systemimage_intermediates/system.img

android打包解包boot.img,system.img

原帖地址:http://www.52pojie.cn/thread-488025-1-1.html 转载Mark一下,日后研究 最近工作需要对boot.img,system.img进行破解。顺便将心得分享一下。 我的工作环境是在linux下的。所以工具都是针对linux的。 boot.img破解相关工具: 1、split_boot    perl脚本 2、boot_i

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

Linux函数fcntl/system学习

本文针对项目中用到的几个函数进行详细分析,并尽可能的添加示例进行验证学习。比如fcntl/ioctl函数、system/exec函数、popen/pclose函数、mmap函数等。 重点参考了《UNP》和《Linux程序设计》第四版。 一、fcntl函数 fcntl函数可以改变或者查看已打开文件的性质。该函数的定义如下: #include <fcntl.h> int fcntl(

【UVA】11400-Lighting System Design(动态规划)

这道题感觉状态式不是很好推。。。 WA了好几次是因为排序的时候出问题了。 这道题出在线性结构里了,先说一下最长上升子序列吧。 dp[i]代表了以array[i]结尾的时候,最长子序列长度。 推导的时候,以起点递增的顺序进行推导。 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#i