DEEP TEMPORAL GRAPH CLUSTERING.md

news2024/11/24 6:57:58

ICLR23
推荐指数: #paper/⭐
原因的话,可以找找前人的一篇文章(可以看,但是当你阅读前人文章会发现。)

动机/优点

文章配图
很明确,时序图只需要考虑时间相近的点,因此开销特别小。但是邻接矩阵,就要考虑所有点的关系,这样,耗时就特别大。

基础时序损失

在t时节点x和节点y的关系可以表示为:
λ ( x , y , t ) = μ ( x , y , t ) + h ( x , y , t ) \lambda_{(x,y,t)}=\mu_{(x,y,t)}+h_{(x,y,t)} λ(x,y,t)=μ(x,y,t)+h(x,y,t)
其中,基础干涉是没有其他外部干涉的关系:
μ ( x , y , t ) = − ∣ ∣ z x t − z y t ∣ ∣ 2 \mu_{(x,y,t)}=-||z_x^t-z_y^t||^2 μ(x,y,t)=∣∣zxtzyt2
z x t z_{x}^t zxt 是节点x在t时刻的表征hawkes intensity是历史干涉的影响:
h ( x , y , t ) = ∑ i ∈ N x α ( i , y , t ) ⋅ μ ( i , y , t ) , α ( i , y , t ) = ω ( i , x ) ⋅ f ( t c − t i ) h_{(x,y,t)}=\sum_{i\in N_x}\alpha_{(i,y,t)}\cdot\mu_{(i,y,t)},\quad\alpha_{(i,y,t)}=\omega_{(i,x)}\cdot f(t_c-t_i) h(x,y,t)=iNxα(i,y,t)μ(i,y,t),α(i,y,t)=ω(i,x)f(tcti)
其中, w ( i , x ) w(i,x) w(i,x) 是节点相似性权重,评价邻居节点在所有邻居的重要性
f ( t c − t i ) f(t_{c}-t_{i}) f(tcti) 表示邻居的影响随着时间的推移而减弱。时间越早,影响越小。 δ t \delta_{t} δt是可学习的参数。 t c t_{c} tc 表示当前时间戳
ω ( i , x ) = exp ⁡ ( μ ( i , x ) ) ∑ i ′ ∈ N x exp ⁡ ( μ ( i ′ , x ) ) , f ( t c − t i ) = exp ⁡ ( − δ t ( t c − t i ) ) \omega_{(i,x)}=\frac{\exp(\mu_{(i,x)})}{\sum_{i^{\prime}\in N_x}\exp(\mu_{(i^{\prime},x)})},\quad f(t_c-t_i)=\exp(-\delta_t(t_c-t_i)) ω(i,x)=iNxexp(μ(i,x))exp(μ(i,x)),f(tcti)=exp(δt(tcti))
最终,给定节点x和y在时间t下的相互作用,他们的条件强度应该尽可能大,且x与其他节点的强度尽可能小,因此我们采取负采样技术:其对不相关节点进行负采样:其中, P ( x ) P(x) P(x)是与节点x相关的节点的负采样分布
L t e m = − log ⁡ σ ( λ ( x , y , t ) ) − ∑ n ∼ P ( x ) log ⁡ σ ( 1 − λ ( x , n , t ) ) L_{tem}=-\log\sigma(\lambda_{(x,y,t)})-\sum_{n\thicksim P(x)}\log\sigma(1-\lambda_{(x,n,t)}) Ltem=logσ(λ(x,y,t))nP(x)logσ(1λ(x,n,t))

批损失:

时态图集群面临着基于静态邻近矩阵的深度集群模块不再适用的挑战。由于时态图方法批量训练数据,因此我们提出了两个新的基于批量的模块用于节点集群,即节点级分布和批级重建。

节点级分布(kl散度:)(常用于聚类优化)

q ( x , k , t ) = ( 1 + ∣ ∣ z x 0 − z c k t ∣ ∣ 2 / v ) − v + 1 2 ∑ c j ∈ C ( 1 + ∣ ∣ z x 0 − z c j t ∣ ∣ 2 / v ) − v + 1 2 q_{(x,k,t)}=\frac{(1+||\boldsymbol{z}_x^0-\boldsymbol{z}_{c_k}^t||^2/v)^{-\frac{v+1}2}}{\sum_{c_j\in C}(1+||\boldsymbol{z}_x^0-\boldsymbol{z}_{c_j}^t||^2/v)^{-\frac{v+1}2}} q(x,k,t)=cjC(1+∣∣zx0zcjt2/v)2v+1(1+∣∣zx0zckt2/v)2v+1
p ( x , k , t ) = q ( x , k , t ) 2 / ∑ i ∈ V q ( i , k , t ) ∑ c j ∈ C ( q ( x , j , t ) 2 / ∑ i ∈ V q ( i , j , t ) ) p_{(x,k,t)}=\frac{q_{(x,k,t)}^2/\sum_{i\in V}q_{(i,k,t)}}{\sum_{c_j\in C}(q_{(x,j,t)}^2/\sum_{i\in V}q_{(i,j,t)})} p(x,k,t)=cjC(q(x,j,t)2/iVq(i,j,t))q(x,k,t)2/iVq(i,k,t)
L n o d e = ∑ c k ∈ C p ( x , k , t ) log ⁡ p ( x , k , t ) q ( x , k , t ) ′ L_{node}=\sum_{c_k\in C}p_{(x,k,t)}\log\frac{p_{(x,k,t)}}{q_{(x,k,t)}^{\prime}} Lnode=ckCp(x,k,t)logq(x,k,t)p(x,k,t)

batch级别的重建

L b a t c h = ∣ 1 − cos ⁡ ( z x t , z y t ) ∣ + ∣ 1 − cos ⁡ ( z x t , z h t ) ∣ + ∣ 0 − cos ⁡ ( z x t , z n t ) ∣ L_{batch}=|1-\cos(\boldsymbol{z}_x^t,\boldsymbol{z}_y^t)|+|1-\cos(\boldsymbol{z}_x^t,\boldsymbol{z}_h^t)|+|0-\cos(\boldsymbol{z}_x^t,\boldsymbol{z}_n^t)| Lbatch=∣1cos(zxt,zyt)+∣1cos(zxt,zht)+∣0cos(zxt,znt)
如何理解呢,y和h是x的正样本,n是负样本。其中,n是负样本采样: n ∼ P ( x ) n\sim P(x) nP(x)。h是x的其他邻居节点。
其实,这个就相当于变相的对比损失(建议找一下相关的损失,一起理解)

结果(无所谓的)

文章配图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2211277.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dockerfile最佳实践:如何创建高效的容器

在微服务和云计算时代,Docker就已经成为应用开发和部署不可或缺的工具。如今虽处大模型时代,但这些基础技术仍然是我们需要掌握的。 容器化允许开发者将应用程序及其依赖打包到一个单一的、可移植的单元中,确保了可预测性、可扩展性和快速部…

反射机制(Reflection)

1. 反射 Java的反射机制(reflection)是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反…

创建一个c#程序,实现字符串类型转整数类型

首先,创建一个c#程序 在代码编辑器中编写代码,点击Run按钮或者按下F5键来运行程序。 下面,编写将字符串类型转换为整数类型的代码。 sing System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Task…

安装samples/1_Utilities/deviceQuery等文件

本文章摘抄来自https://zhuanlan.zhihu.com/p/666647168 从cuda11.6开始cuda toolkit就不自带cuda-samples了,而deviceQuery又是cuda-sample的一个子库,所以需要自己手动装一下。 我的系统是ubuntu20.04,已经安装了CUDA Toolkit 12.2。 第…

【深度学习】使用FasterRCNN模型训练自己的数据集(记录全流程

此处用的FasterRCNN模型使用的是B导的源码,读者可以去B站搜B导的视频进行了解和学习,视频中B导非常细心讲解了如何训练自己的数据集以及预测。 文章目录 前言一、准备数据集二、环境配置2.1 基础环境2.2 其他依赖包安装2.3 预训练权重下载 二、训练数据集…

程序员成长秘籍:是迈向管理巅峰,还是深耕技术架构?

专业在线打字练习平台-巧手打字通,只输出有价值的知识。 一 管理和架构 做技术的同学一般有两条职业发展路径,横向的管理路线和纵向的技术路线。管理路线对应的是管理岗,讲究的是排兵布阵,通过各种资源的优化配置发挥价值。技术路…

(Linux驱动学习 - 10).MISC驱动实验

一.MISC介绍 1.MISC定义 misc 的意思是混合、杂项的,因此 MISC 驱动也叫做杂项驱动,也就是当我们板子上的某 些外设无法进行分类的时候就可以使用 MISC 驱动。 MISC 驱动其实就是最简单的字符设备驱 动,通常嵌套在 platform 总线驱动中&…

智能贴身监测,健康生活建议,圆道妙医智能手表体验

如今热衷于运动和健康生活的爱好者越来越多,相关的赛事等活动也是逐年增多,很多朋友为了能够直观的了解自己的健康状况,都会配备一款智能手表,这样戴在身上就可以随时了解自己的心率、血氧等数据。最近我尝试了一款圆道妙医推出的…

MobaXterm连接Cloudflare Tunnel内网穿透的SSH

背景 如官方文档所示,Cloudflare Tunnel要求我们对SSH客户端进行配置,使本地的cloudflared软件代理SSH才能连接。 存在问题 由于MobaXterm的Session实质为嵌入式PuTTY,不使用OpenSSH样式的配置文件(即~/.ssh/config&#xff09…

SpringBoot框架下购物推荐网站的设计模式与实现

3系统分析 3.1可行性分析 通过对本东大每日推购物推荐网站实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本东大每日推购物推荐网站采用JAVA作为开发语言&…

对层级聚类树进行模块分割,定位基因在哪个模块中

拷贝数据到 ImageGP (http://www.ehbio.com/Cloud_Platform/front/#/analysis?pageb%27Ng%3D%3D%27),并设置参数. ID untrt_N61311 untrt_N052611 untrt_N080611 untrt_N061011 trt_N61311 trt_N052611 trt_N080611 trt_N061011 ENSG000…

【ROS2实操二】服务通信

简介 服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即:一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A。比如如下场景:机器人巡逻过程中&#xff0…

cuda入门学习

最近接触cuda 编程,记录一下。 1 工作实现一个【0-100)的加法 如果用python sum 0 for i in range(200):sumi print(sum)2 cuda 的一些简单的概念 一维情况下大概是这样的 (1个grid * 2个blocks * 4个thread) 3 代码直接上代码 我把100分为20个b…

Jenkins---01

什么是敏捷开发 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开 发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、 可集成和可运行使用的特征。换言之&…

2024年编程资料【9月份部分】

资料列表 「CSDN会员免费电子书1000本」 https://pan.quark.cn/s/5019390a751a 【黑马程序员】年度钻石会员-人工智能AI进阶 https://pan.quark.cn/s/1d14a2a179c2 JavaScript从入门到高级教程 - 带源码课件 https://pan.quark.cn/s/c16ed07eac93 【马哥教育】云原生微服务治理…

测试常用插件: ModHeader - Modify HTTP headers插件进行IP模拟/IP欺骗

由于公司是做海外项目的,所以付款时有要求进行模拟不同IP登录进去时会优先显示该地区的支付方式。 1.安装插件 这里以Microsoft Edge为例,打开扩展 搜索:ModHeader - Modify HTTP headers,进行获取安装即可 安装完成后&#xff…

CVESearch部署、使用与原理分析

文章目录 前言1、概述2、安装与使用2.1、源码安装2.1.1、部署系统依赖组件2.1.1.1、下载安装基础组件2.1.1.2、下载安装MongoDB Community Edition 7.0 2.1.2、使用源码安装系统2.1.2.1、安装CVESearch2.1.2.2、填充MongoDB数据库2.1.2.3、填充Redis数据库 2.2、使用方法 3、测…

LeetCode | 704.二分查找

标准的二分查找&#xff0c;直接上模板&#xff01; class Solution(object):def search(self, nums, target):""":type nums: List[int]:type target: int:rtype: int"""l 0r len(nums) - 1while l < r:mid (l r 1) / 2if nums[mid] …

Telnet命令详解:安装、用法及应用场景解析

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storm…

笔试算法总结

文章目录 题目1题目2题目3题目4 题目1 使用 StringBuilder 模拟栈的行为&#xff0c;通过判断相邻2个字符是否相同&#xff0c;如果相同就进行删除 public class Main {public static String fun(String s) {if (s null || s.length() < 1) return s;StringBuilder builde…